ปกติเวลาเราจัดการ user และ password จะจัดการผ่าน Directory Synchronization มากกว่า แต่ทว่าบางอย่างมันทำไม่ได้ผ่าน GUI อีกอย่างที่ผมชอบคือ เร็ว และนำไปประยุกต์ใช้ได้หลายง่าย ไม่ต้อง remote เข้าไปที่ dirsync ด้วยซ้ำ
สำหรับใครพึ่งใช้งานครั้งแรกให้ไปอ่านที่บทความนี้ก่อน ใช้ Office 365 กับ PowerShell ครั้งแรก
- กำหนดรหัสผ่านให้ไม่หมดอายุแบบถาวร
- User คนเดียว
กำหนดรหัสผ่านของ User นี้
Set-msoluser –UserPrincipalName [email protected] -PasswordNeverExpires $True
ยกเลิกกำหนดรหัสผ่านให้ไม่หมดอายุถาวร
Set-MsolUser –UserPrincipalName [email protected] -PasswordNeverExpires $False
- User ทั้งหมด
กำหนดรหัสผ่าน User ทั้งหมด
Get-MsolUser | Set-MsolUser –PasswordNeverExpires $True
เปิดใช้งานรหัสผ่านถาวรอีกครั้ง
Get-MsolUser | Set-MsolUser –PasswordNeverExpires $False
- รีเซ็ตรหัสผ่าน
- กำหนดรหัสผ่านตั้งต้นเฉพาะคน
Set-MsolUserPassword –UserPrincipalName [email protected] –NewPassword P@ssw0rd -ForceChangePassword $False
- กำหนดรหัสผ่านตั้งต้นทั้งหมด
Get-MsolUser |%{Set-MsolUserPassword -userPrincipalName $_.UserPrincipalName –NewPassword P@ssw0rd -ForceChangePassword $False}
- แต่ถ้าเราจะเลือกเฉพาะคนก็ควรจะ Export เป็น CSV ออกมาก่อน
- Export Office 365 User ออกมาก่อน
Get-MsolUser | Select UserPrincipalName| Export-CSV C:\Temp\UserSample.CSV
- กำหนดรหัสผ่านเริ่มต้น
Import-CSV C:\Temp\UserSample.CSV |%{Set-MsolUserPassword -userPrincipalName $_.UserPrincipalName –NewPassword P@ssw0rd -ForceChangePassword $False}
CSV ต้องมี Column แบบนี้
- กำหนด Office 365 Password Policy
กำหนดนโยบายรหัสผ่าน ตัวอย่างจะให้เตือนก่อน 15 วันก่อนหมดอายุ และกำหนดรหัสผ่านเป็น 90 วัน
Set-MsolPasswordPolicy -DomainName swotest02.onmicrosoft.com -NotificationDays 15 –ValidityPeriod 90
- ดูการตั้งค่ารหัสผ่าน
แสดงการตั้งค่ารหัสผ่านของทุก User
Get-MsolUser | Select UserPrincipalName,PasswordNeverExpires
ผลลัพธ์
แสดงข้อมูลของ Password Policy
Get-MsolPasswordPolicy –DomainName swotest02.onmicrosoft.com
ผลลัพธ์
ลองดูครับ