จัดการ User & Password บน Office 365 ด้วย PowerShell

0
525

ปกติเวลาเราจัดการ user และ password จะจัดการผ่าน Directory Synchronization มากกว่า แต่ทว่าบางอย่างมันทำไม่ได้ผ่าน GUI อีกอย่างที่ผมชอบคือ เร็ว และนำไปประยุกต์ใช้ได้หลายง่าย ไม่ต้อง remote เข้าไปที่ dirsync ด้วยซ้ำ

สำหรับใครพึ่งใช้งานครั้งแรกให้ไปอ่านที่บทความนี้ก่อน ใช้ Office 365 กับ PowerShell ครั้งแรก

  1. กำหนดรหัสผ่านให้ไม่หมดอายุแบบถาวร
  • 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

  1. รีเซ็ตรหัสผ่าน
  • กำหนดรหัสผ่านตั้งต้นเฉพาะคน

Set-MsolUserPassword –UserPrincipalName [email protected] –NewPassword P@ssw0rd -ForceChangePassword $False

  • กำหนดรหัสผ่านตั้งต้นทั้งหมด

Get-MsolUser |%{Set-MsolUserPassword -userPrincipalName $_.UserPrincipalName –NewPassword P@ssw0rd -ForceChangePassword $False}

  • แต่ถ้าเราจะเลือกเฉพาะคนก็ควรจะ Export เป็น CSV ออกมาก่อน
  1. Export Office 365 User ออกมาก่อน

Get-MsolUser | Select UserPrincipalName| Export-CSV C:\Temp\UserSample.CSV

  1. กำหนดรหัสผ่านเริ่มต้น

Import-CSV C:\Temp\UserSample.CSV |%{Set-MsolUserPassword -userPrincipalName $_.UserPrincipalName –NewPassword P@ssw0rd  -ForceChangePassword $False}

CSV ต้องมี Column แบบนี้

  1. กำหนด Office 365 Password Policy

กำหนดนโยบายรหัสผ่าน ตัวอย่างจะให้เตือนก่อน 15 วันก่อนหมดอายุ และกำหนดรหัสผ่านเป็น 90 วัน

Set-MsolPasswordPolicy -DomainName  swotest02.onmicrosoft.com -NotificationDays 15 –ValidityPeriod 90

  1. ดูการตั้งค่ารหัสผ่าน

แสดงการตั้งค่ารหัสผ่านของทุก User

Get-MsolUser | Select UserPrincipalName,PasswordNeverExpires

ผลลัพธ์

แสดงข้อมูลของ Password Policy

Get-MsolPasswordPolicy –DomainName swotest02.onmicrosoft.com

ผลลัพธ์

ลองดูครับ