รีเซ็ตรหัสผ่านผู้ใช้ AD โดยใช้ PowerShell Issue

ฉันกำลังตรวจสอบวิธีการรีเซ็ตรหัสผ่านของผู้ใช้ AD โดยใช้ PowerShell และพบว่า Set-ADAccountPassword ใช้งานได้ แต่ฉันไม่แน่ใจว่าจะใช้สิ่งนี้ในสภาพแวดล้อมของฉันได้อย่างไร

ฉันมีฟอเรสต์ที่มีโดเมนย่อยจำนวนมาก: example.local เป็นโดเมนหลักและ x.example.local, y.example.com และ z.example.com เป็นโดเมนย่อย

สิ่งที่ฉันพยายามทำให้สำเร็จคือความสามารถในการรีเซ็ตรหัสผ่านของบัญชีของโดเมนย่อยจากเซิร์ฟเวอร์ที่อยู่ในโดเมนหลัก สำหรับตอนนี้ สิ่งด้านล่างนี้ได้ผลสำหรับฉัน

หากทำงานจากเซิร์ฟเวอร์ที่อยู่ในโดเมนย่อย x.example.local:

Set-ADAccountPassword -Identity "John.Doe" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

ทำงานจากที่ใดก็ได้ภายในป่า:

Set-ADAccountPassword -Identity "CN=Doe, John X.,OU=b,OU=a,DC=x,DC=example,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

สิ่งที่ฉันต้องการจริงๆ คือความสามารถในการใส่ ชื่อเข้าสู่ระบบของผู้ใช้ Windows ในสคริปต์บางอย่างด้านล่างจากโดเมนหลักของเซิร์ฟเวอร์ เช่น example.local ซึ่งใช้งานไม่ได้

Set-ADAccountPassword -Identity "CN=John.Doe,OU=b,OU=a,DC=x,DC=example,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร?


person Nikhil Tamhankar    schedule 14.02.2019    source แหล่งที่มา
comment
ฉันคิดว่าคุณขาดแนวคิดหลัก หากคุณได้รับอนุญาตให้รีเซ็ตรหัสผ่านในโดเมนหลัก คุณสามารถดำเนินการเดียวกันในโดเมนลูกทั้งหมดได้เนื่องจากการเชื่อถือแบบสกรรมกริยา ตอนนี้การให้ชื่อผู้ใช้เดียวกันในข้อมูลประจำตัวควรจะทำงานข้ามโดเมนลูกด้วย นอกจากนี้มันไม่สำคัญว่าคุณจะใช้ระบบใดเพราะสุดท้ายแล้วมันก็จะอยู่ในฟอเรสต์เดียวกัน   -  person Ranadip Dutta    schedule 14.02.2019
comment
คุณควรใช้ Get-ADUser ก่อนอื่นเพื่อค้นหาผู้ใช้ ต้องใช้สิ่งเหล่านี้สำหรับพารามิเตอร์ -Identity: DistinguishedName, GUID, SID หรือชื่อบัญชี SAM จากนั้น หากคุณมีวัตถุผู้ใช้ คุณสามารถใช้สิ่งนั้นสำหรับ Set-ADAccountPassword cmdlet. โปรดอธิบายว่า John.Doe คืออะไร ชื่อบัญชี Sam อาจหรือเป็นส่วนหนึ่งของ UPN ของผู้ใช้   -  person Theo    schedule 15.02.2019


คำตอบ (2)


ฉันคิดว่าคำตอบอื่น ๆ มีความสับสนและฉันหวังว่าจะทำให้มันถูกต้อง

หากฉันเข้าใจคำถามของคุณ คุณต้องการใช้ชื่อบัญชี Sam แทน DN สำหรับผู้ใช้

ลองสิ่งนี้

Set-ADAccountPassword -Identity "Jdoe" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

โดยที่ JDOE เป็น ID ล็อกอินของ John Doe หากคุณต้องการทำเช่นนี้ในโดเมนอื่น ให้เพิ่มตัวเลือก -server สำหรับโดเมน childdomain.MyDomain.local ให้ดำเนินการดังนี้:

Set-ADAccountPassword -Identity "Jdoe" -Reset -server ChilDomain.MyDomain.Local -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

ต่างจากความคิดเห็นใดความคิดเห็นหนึ่ง เพียงเพราะคุณไว้วางใจ ไม่ได้หมายความว่าคุณจะมีสิทธิ์ในการเปลี่ยนรหัสผ่านในโดเมนเป้าหมาย

บัญชี AD ของคุณที่คุณเรียกใช้กระบวนการนี้จะต้องได้รับอนุญาตนั้น ไม่ว่าจะโดยการเป็นสมาชิกในกลุ่มผู้ดูแลระบบท้องถิ่นของโดเมนอื่นบน DC หรือโดยการเพิ่มลงใน AD ในโดเมนอื่นโดยเฉพาะผ่านนโยบาย (หรือนำไปใช้กับ OU โดยตรง ในผู้ใช้อยู่ใน ฯลฯ ) หรือสมาชิกของผู้ดูแลระบบองค์กร

แน่นอนว่าคุณสามารถใช้ CN สำหรับผู้ใช้ในโดเมนอื่นได้ แต่โปรดจำไว้ว่า CN จะแตกต่างกันไปในแต่ละโดเมน

person Community    schedule 14.02.2019
comment
ยังคงได้รับข้อผิดพลาดเดียวกัน: Get-ADUser : ไม่พบวัตถุที่มีเอกลักษณ์: 'John.Doe' ภายใต้: 'DC=example,DC=local' แม้ว่าฉันจะพูดถึงตัวเลือก -server เช่น Set-ADAccountPassword -Identity $ADuser -รีเซ็ต -เซิร์ฟเวอร์ subdomain.example.local -NewPassword (ConvertTo-SecureString -AsPlainText $password -Force) - person Nikhil Tamhankar; 15.02.2019
comment
Get-ADUser? คุณใช้ Get-ADUser อยู่ที่ไหน? - person Gabriel Luci; 15.02.2019

ฉันพบว่า PowerShell cmdlets สำหรับ AD นั้นค่อนข้างงี่เง่าในสภาพแวดล้อมที่มีหลายโดเมน พวกเขาไม่สามารถระบุโดเมนที่เชื่อถือได้ คุณต้องชี้พวกเขาไปที่โดเมนอย่างชัดเจน คุณทำเช่นนั้นได้ด้วยพารามิเตอร์ -Server โดยที่คุณกำหนดชื่อโดเมนที่มีคุณสมบัติครบถ้วน (หรือระบุ DC เฉพาะเจาะจง หากคุณต้องการ)

ในกรณีของคุณนั่นจะหมายถึง:

Set-ADAccountPassword -Server x.example.local -Identity "CN=John.Doe,OU=b,OU=a,DC=x,DC=example,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)
person Gabriel Luci    schedule 14.02.2019
comment
ยังคงได้รับข้อผิดพลาดเดียวกัน: Get-ADUser : ไม่พบวัตถุที่มีเอกลักษณ์: 'John.Doe' ภายใต้: 'DC=example,DC=local' แม้ว่าฉันจะพูดถึงตัวเลือก -server เช่น Set-ADAccountPassword -Identity $ADuser -รีเซ็ต -เซิร์ฟเวอร์ subdomain.example.local -NewPassword (ConvertTo-SecureString -AsPlainText $password -Force) - person Nikhil Tamhankar; 15.02.2019