Trên nền tảng Windows, có bất kỳ tiện ích dòng lệnh nào tôi có thể chuyển qua username
, password
domain name
để xác minh thông tin đăng nhập (hoặc có thể đưa ra lỗi rằng tài khoản bị vô hiệu hóa, không tồn tại hoặc hết hạn)?
Trên nền tảng Windows, có bất kỳ tiện ích dòng lệnh nào tôi có thể chuyển qua username
, password
domain name
để xác minh thông tin đăng nhập (hoặc có thể đưa ra lỗi rằng tài khoản bị vô hiệu hóa, không tồn tại hoặc hết hạn)?
Câu trả lời:
Bạn có thể sử dụng net use
lệnh, chỉ định tên người dùng và mật khẩu trên dòng lệnh (trong biểu mẫu net use \\unc\path /user:username password
và kiểm tra errorlevel
trả lại để xác minh xem thông tin đăng nhập có hợp lệ không.
Các runas
lệnh sẽ làm việc cũng vậy, ngoại trừ việc bạn sẽ có một thời gian khó khăn thử nghiệm đầu ra.
Kiểm tra thông tin xác thực cho sự tồn tại của tài khoản sẽ là vấn đề sử dụng net user
hoặc dsquery
. Các net user
lệnh sẽ không cho bạn biết nếu một tài khoản bị khóa ra, nhưng truy vấn lockoutTime
thuộc tính của tài khoản người dùng có thể nói với bạn rằng.
runas /user:username cmd
sẽ mở một cửa sổ dòng lệnh mới như username
thể bạn cung cấp mật khẩu hợp lệ và người dùng đó có thể đăng nhập vào máy tính này. Tôi thường sẽ mở một shell để kiểm tra rằng mật khẩu vẫn là mặc định dựa trên thông tin cá nhân của họ mà tôi có thể tra cứu.
Trong Powershell:
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:\>
Tham khảo: /programming/7663219/how-to-authenticate-an-user-in-activingirectory-with-powershell
ObjectNotFound: (Test-ADAuthentication:String) [], CommandNotFoundException
đây. Điều này có độc quyền trên bộ điều khiển miền và không dành cho tài khoản cục bộ không?
Test-ADAuthentication
không được xây dựng thành powershell
$pass = Read-Host -assecurestring 'Enter password'
Chỉ muốn thêm rằng vì AD là máy chủ LDAP, bạn có thể sử dụng công cụ dòng lệnh LDAP để 'liên kết' với nó, do đó xác nhận xem nó có hoạt động hay không. Bạn cũng có thể liên kết với tư cách là người dùng với các đặc quyền cao hơn và sau đó tìm kiếm AD bằng cách sử dụng các nguyên tắc LDAP.
Nhưng này-- không có gì sai với Powershell!