PowerShell: การกำหนดค่านโยบายรหัสผ่านแบบละเอียด (PSO)
ตั้งแต่ Windows Server 2008 ผู้ดูแลระบบโดเมนสามารถกำหนดค่านโยบายรหัสผ่านต่อผู้ใช้และต่อกลุ่มได้ บทความนี้แสดงวิธีตั้งค่านโยบายรหัสผ่าน (ออบเจ็กต์การตั้งค่ารหัสผ่าน) ด้วย PowerShell
ข้อกำหนดเบื้องต้น
ตรวจสอบให้แน่ใจว่าโดเมนของคุณใช้โหมดโดเมน 2008 หรือสูงกว่า ตัวควบคุมโดเมนทั้งหมดต้องใช้ Windows Server 2008 หรือสูงกว่า และ โหมดโดเมนจะต้องตั้งค่าเป็น Windows Server 2008 สำหรับการตรวจสอบเปิด PowerShell และเรียกใช้
Get-ADDomain | Select-Object Domainmodeหากต้องการเปลี่ยนโหมดโดเมน ให้เรียกใช้ Set-ADDomainMode ไม่ต้องกังวลเกี่ยวกับชื่อโดเมน เราได้รับชื่อจากตัวแปรสภาพแวดล้อม ตัวอย่าง (โหมดโดเมน Windows Server 2016):
Set-ADDomainMode -Identity $env:userdnsdomain -DomainMode Windows2016Domainการแนะนำ
นโยบายโดเมนเริ่มต้น
แน่ใจว่าคุณทราบวัตถุประสงค์ของนโยบายรหัสผ่านเริ่มต้นซึ่งเป็นส่วนหนึ่งของนโยบายโดเมนเริ่มต้น:
Get-ADDefaultDomainPasswordPolicyนโยบายนี้มีผลบังคับใช้สำหรับผู้ใช้ Active Directory ทั้งหมด มากำหนดค่านโยบายใหม่สำหรับผู้ใช้และ/หรือกลุ่มเฉพาะกัน
ศูนย์การจัดการ Active Directory (dsac.exe)
ก่อนอื่น: แน่นอน คุณสามารถกำหนดค่านโยบายรหัสผ่านได้โดยใช้อินเทอร์เฟซแบบกราฟิก เรียกใช้ dsac เพื่อเปิด Active Directory Administrative Center ไปที่ระบบ - คอนเทนเนอร์การตั้งค่ารหัสผ่านแล้วคลิกใหม่ ที่นี่คุณสามารถกำหนดการตั้งค่ารหัสผ่านของคุณโดยใช้อินเทอร์เฟซแบบกราฟิก
แต่ในบทความนี้เป็นเรื่องเกี่ยวกับ PowerShell ? ผู้ชายแท้ไม่คลิก
การกำหนดค่านโยบายรหัสผ่านแบบละเอียดด้วย PowerShell
สมมติว่าเป็นเป้าหมายในการกำหนดค่านโยบายที่เข้มงวดมากขึ้นสำหรับสมาชิกของกลุ่มทรัพยากรบุคคล เราต้องการตั้งค่าความยาวรหัสผ่านขั้นต่ำเป็น 10 ตัวอักษร (ค่าเริ่มต้น: 7) ในการทำเช่นนั้น เราสามารถใช้ New-ADFineGrainedPasswordpolicy cmdlet
New-ADFineGrainedPasswordPolicy -Name "HR_length_10" -MinPasswordLength 10 -Precedence 1
ให้ความสำคัญกับลำดับความสำคัญของพารามิเตอร์ที่จำเป็น หากมีการกำหนดค่าหลายนโยบาย ระบบจะใช้นโยบายที่มีลำดับความสำคัญต่ำสุด ซึ่งหมายความว่า ยิ่งตัวเลขยิ่งต่ำ ลำดับความสำคัญก็จะยิ่งสูง ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ในภายหลัง
การเพิ่มนโยบายรหัสผ่านแบบละเอียดให้กับผู้ใช้หรือกลุ่ม
ขณะนี้ จะต้องกำหนดออบเจ็กต์รหัสผ่านที่กำหนดค่าไว้ก่อนหน้านี้ให้กับกลุ่ม HR
Add-ADFineGrainedPasswordPolicySubject "HR_length_10" -Subjects "HR"กำลังตรวจสอบการกำหนดค่า
ตอนนี้เรากำลังจะทำการตรวจสอบบางอย่าง
รับ-ADFineGrainedPasswordPolicy
มาดูกันว่าเราได้กำหนดค่าอะไรบ้าง
Get-ADFineGrainedPasswordPolicy "HR_length_10"รับ-ADGroup
Get-ADGroup "HR" -properties * | Select-Object msDS-PSOAppliedนั่นดูดี. นโยบายถูกกำหนดให้กับกลุ่มทรัพยากรบุคคล
การเล่นกับลำดับความสำคัญ (msDS-ResultantPSO)
ตามที่กล่าวไว้ เราสามารถใช้ลำดับความสำคัญได้ ยิ่งตัวเลขยิ่งต่ำ ลำดับความสำคัญก็จะยิ่งสูงขึ้น มากำหนดค่า PSO อื่นสำหรับกลุ่ม HR และตั้งค่าลำดับความสำคัญเป็น 10 และกำหนดค่าความยาวรหัสผ่านเป็น 20
New-ADFineGrainedPasswordPolicy -Name "HR_length_20" -MinPasswordLength 20 -Precedence 10Add-ADFineGrainedPasswordPolicySubject "HR_length_20" -Subjects "HR"ตอนนี้เราได้กำหนดค่านโยบายรหัสผ่าน 2 รายการแล้ว ทั้งสองได้รับมอบหมายให้เป็น HR
ใช้อันไหน? โปรดจำไว้ว่า Petra เป็นสมาชิกของกลุ่มทรัพยากรบุคคล มาดูบัญชี Petras กันดีกว่า และผู้ชนะคือ …
Get-ADUserResultantPasswordPolicy petra
หรือตรวจสอบแอตทริบิวต์ msDS-ResultantPSO ดังนี้
ยิ่งตัวเลขยิ่งต่ำ ลำดับความสำคัญก็จะยิ่งสูง...
สำหรับการเปลี่ยนรหัสผ่านเริ่มต้นและนโยบายการล็อกซึ่งใช้กับผู้ใช้ทุกคน โปรดดูบล็อกโพสต์ของฉัน Active Directory: การเปลี่ยนรหัสผ่านเริ่มต้นและนโยบายการล็อก
ขอให้สนุกกับการเล่นนโยบายรหัสผ่าน!










