Powershell

如何在我的網路中知道哪些電腦有本地管理員帳戶處於活動狀態

  • January 1, 2022

正如標題所說:我如何知道在我的網路中哪些電腦的本地管理員帳戶處於活動狀態?因為,根據安全顧問的要求,我們必須知道,如果可能的話,禁用網路上 300 多個筆記本/台式機上的每個本地管理員帳戶。

有一個net usewmi命令來解決它嗎?可以設置遞歸詢問網路上的每一台電腦嗎?如果有幫助,我們有一個域控制器,但總是有一些組的電腦未加入域。

我在這裡看到了一些問題。

  1. 在未加入域的電腦上,即使不是名為 Administrator 的帳戶,也必須有一個處於活動狀態的管理員帳戶。
  2. 在未加入域的電腦上,您需要一個帳戶來執行您的查詢
  3. 通常,您只能在電腦線上時執行查詢,因此您需要安排查詢以定期執行,即使那樣您也無法保證獲得所有查詢,因為您無法保證 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

獲取遠端電腦的狀態。

引用自:https://serverfault.com/questions/1077684