Tôi thấy một vài vấn đề ở đây.
- Trên các máy tính không tham gia miền phải có một tài khoản quản trị viên hoạt động ngay cả khi đó không phải là Tài khoản có tên Quản trị viên.
- Trên các máy tính không tham gia miền, bạn cần có tài khoản để chạy truy vấn của mình
- Nói chung, bạn chỉ có thể chạy một truy vấn khi máy tính trực tuyến, vì vậy bạn cần lên lịch để các truy vấn của mình chạy thường xuyên và thậm chí sau đó bạn không thể đảm bảo nhận được tất cả chúng vì bạn không thể đảm bảo PC sẽ trực tuyến trong khung thời gian bạn chạy truy vấn của mình.
Điều đó đang được nói
Trên PC chạy Windows 10, bạn có thể chạy lệnh sau để lấy tài khoản có tên Quản trị viên và sau khi tài khoản được bật:
Get-LocalUser -Tên quản trị viên | Select-Object Name, Enabled
Bạn có thể sử dụng lệnh này trong tập lệnh như tập lệnh sau để biết trạng thái của máy tính.
[pscustomobject]@{
Tên máy tính = $env:Tên máy tính
AdminEnabled = Get-LocalUser -Tên "Quản trị viên" | Select-Object -ExpandProperty Enabled
} | Export-CSV -Path "\a\share\where\you\can\put\this\$($env:Computername).csv"
Sau đó, bạn có thể chạy lệnh trên dưới dạng tập lệnh khởi động trong miền (Xin lưu ý rằng phần gấp được chia sẻ sẽ cần có thể ghi được cho nhóm "Máy tính miền")
Trên PC bên ngoài miền, bạn hơi kém may mắn. Nếu bạn có tài khoản có thể đăng nhập từ xa trên một số hệ thống, bạn có thể sử dụng tài khoản như sau:
$APSCredentialWhichHasTheRightsToDoThis = Lấy thông tin xác thực
Gọi-Command -Tên máy tính "RemotePC" -ScriptBlock {Get-LocalUser -Name "Quản trị viên"} -Credential $APSCredentialWhichHasTheRightsToDoThis
để có được trạng thái của máy tính từ xa.