บนแพลตฟอร์ม Windows จะมีอรรถประโยชน์บรรทัดคำสั่งใด ๆ ที่ฉันสามารถผ่านการusername, password domain nameเพื่อที่จะตรวจสอบข้อมูลประจำตัว (หรืออาจจะให้ข้อผิดพลาดว่าบัญชีถูกปิดใช้งานไม่ได้อยู่หรือหมดอายุ)?
บนแพลตฟอร์ม Windows จะมีอรรถประโยชน์บรรทัดคำสั่งใด ๆ ที่ฉันสามารถผ่านการusername, password domain nameเพื่อที่จะตรวจสอบข้อมูลประจำตัว (หรืออาจจะให้ข้อผิดพลาดว่าบัญชีถูกปิดใช้งานไม่ได้อยู่หรือหมดอายุ)?
คำตอบ:
คุณสามารถใช้net useคำสั่งระบุชื่อผู้ใช้และรหัสผ่านในบรรทัดคำสั่ง (ในแบบฟอร์มnet use \\unc\path /user:username passwordและตรวจสอบการerrorlevelส่งคืนเพื่อตรวจสอบว่าข้อมูลประจำตัวที่ถูกต้อง
runasคำสั่งจะทำงานมากเกินไปยกเว้นว่าคุณกำลังจะมีช่วงเวลาที่ยากการทดสอบการส่งออก
การทดสอบการรับรองสำหรับการดำรงอยู่ของบัญชีจะเป็นเรื่องของการใช้หรือnet user คำสั่งจะไม่บอกคุณว่าบัญชีถูกล็อคออก แต่สอบถามแอตทริบิวต์ของบัญชีผู้ใช้สามารถบอกคุณได้ว่าdsquerynet userlockoutTime
runas /user:username cmdจะเปิดหน้าต่างบรรทัดคำสั่งใหม่ราวกับusernameว่าคุณระบุรหัสผ่านที่ถูกต้องและผู้ใช้นั้นสามารถเข้าสู่ระบบคอมพิวเตอร์นี้ได้ ฉันมักจะเปิดเปลือกเพื่อทดสอบว่ารหัสผ่านยังคงเป็นค่าเริ่มต้นตามข้อมูลส่วนบุคคลของพวกเขาที่ฉันสามารถค้นหา
                    ในพาวเวอร์เชล:
Function Test-ADAuthentication {
    param($username,$password)
    (new-object directoryservices.directoryentry "",$username,$password).psbase.name -ne $null
    }
PS C:\> Test-ADAuthentication "dom\myusername" "mypassword"
True
PS C:\>
การอ้างอิง: /programming/7663219/how-to-authenticate-an-user-in-activedirectory-with-powershell
ObjectNotFound: (Test-ADAuthentication:String) [], CommandNotFoundExceptionที่นี่ สิ่งนี้ใช้งานได้กับตัวควบคุมโดเมนเท่านั้นหรือไม่สำหรับบัญชีท้องถิ่น
                    Test-ADAuthenticationไม่ได้ถูกสร้างไว้ใน PowerShell
                    $pass = Read-Host -assecurestring 'Enter password'
                    เพิ่งต้องการที่จะเพิ่มเนื่องจาก AD เป็นเซิร์ฟเวอร์ LDAP คุณสามารถใช้เครื่องมือบรรทัดคำสั่ง LDAP เพื่อ 'ผูก' เพื่อยืนยันว่ามันมีการใช้งานหรือไม่ นอกจากนี้คุณยังสามารถผูกในฐานะผู้ใช้ที่มีสิทธิ์สูงกว่าแล้วค้นหา AD โดยใช้หลักการ LDAP
แต่เดี๋ยวก่อน - ไม่มีอะไรผิดปกติกับ Powershell!