Powershell
如何在我的網路中知道哪些電腦有本地管理員帳戶處於活動狀態
正如標題所說:我如何知道在我的網路中哪些電腦的本地管理員帳戶處於活動狀態?因為,根據安全顧問的要求,我們必須知道,如果可能的話,禁用網路上 300 多個筆記本/台式機上的每個本地管理員帳戶。
有一個
net use
或wmi
命令來解決它嗎?可以設置遞歸詢問網路上的每一台電腦嗎?如果有幫助,我們有一個域控制器,但總是有一些組的電腦未加入域。
我在這裡看到了一些問題。
- 在未加入域的電腦上,即使不是名為 Administrator 的帳戶,也必須有一個處於活動狀態的管理員帳戶。
- 在未加入域的電腦上,您需要一個帳戶來執行您的查詢
- 通常,您只能在電腦線上時執行查詢,因此您需要安排查詢以定期執行,即使那樣您也無法保證獲得所有查詢,因為您無法保證 PC 將線上在您執行查詢的時間範圍內。
話雖如此
在 Windows 10 PC 上,您可以執行以下命令來獲取名為 Administrator 的帳戶,以及它是否已啟用:
Get-LocalUser -Name Administrator | Select-Object Name, Enabled
您可以在如下腳本中使用此命令來獲取電腦的狀態。
[pscustomobject]@{ Computername = $env:Computername AdminEnabled = Get-LocalUser -Name "Administrator" | Select-Object -ExpandProperty Enabled } | Export-CSV -Path "\\a\share\where\you\can\put\this\$($env:Computername).csv"
然後,您可以在域中將上述命令作為啟動腳本執行(請注意,共享折疊需要對“域電腦”組是可寫的)
在域外的 PC 上,您有點不走運。如果您有一個可以在多個系統上遠端登錄的帳戶,您可以使用以下內容:
$APSCredentialWhichHasTheRightsToDoThis = Get-Credential Invoke-Command -Computername "RemotePC" -ScriptBlock {Get-LocalUser -Name "Administrator"} -Credential $APSCredentialWhichHasTheRightsToDoThis
獲取遠端電腦的狀態。