บนแพลตฟอร์ม Windows จะมีอรรถประโยชน์บรรทัดคำสั่งใด ๆ ที่ฉันสามารถผ่านการusername
, password
domain name
เพื่อที่จะตรวจสอบข้อมูลประจำตัว (หรืออาจจะให้ข้อผิดพลาดว่าบัญชีถูกปิดใช้งานไม่ได้อยู่หรือหมดอายุ)?
บนแพลตฟอร์ม Windows จะมีอรรถประโยชน์บรรทัดคำสั่งใด ๆ ที่ฉันสามารถผ่านการusername
, password
domain name
เพื่อที่จะตรวจสอบข้อมูลประจำตัว (หรืออาจจะให้ข้อผิดพลาดว่าบัญชีถูกปิดใช้งานไม่ได้อยู่หรือหมดอายุ)?
คำตอบ:
คุณสามารถใช้net use
คำสั่งระบุชื่อผู้ใช้และรหัสผ่านในบรรทัดคำสั่ง (ในแบบฟอร์มnet use \\unc\path /user:username password
และตรวจสอบการerrorlevel
ส่งคืนเพื่อตรวจสอบว่าข้อมูลประจำตัวที่ถูกต้อง
runas
คำสั่งจะทำงานมากเกินไปยกเว้นว่าคุณกำลังจะมีช่วงเวลาที่ยากการทดสอบการส่งออก
การทดสอบการรับรองสำหรับการดำรงอยู่ของบัญชีจะเป็นเรื่องของการใช้หรือnet user
คำสั่งจะไม่บอกคุณว่าบัญชีถูกล็อคออก แต่สอบถามแอตทริบิวต์ของบัญชีผู้ใช้สามารถบอกคุณได้ว่าdsquery
net user
lockoutTime
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!