如何知道网络中哪些计算机的本地管理员帐户处于活动状态

如何知道网络中哪些计算机的本地管理员帐户处于活动状态

正如标题所述:我如何知道网络中哪些计算机的本地管理员帐户处于活动状态?因为,根据安全顾问的要求,我们必须知道网络上 300 多台笔记本电脑/台式机上的每个本地管理员帐户,并在可能的情况下禁用它们。

net usewmi命令可以解决这个问题吗?可以递归设置它来询问网络上的每台计算机吗?如果有用的话,我们有一个域控制器,但总有一些组的计算机未加入域。

答案1

我在这里发现了一些问题。

  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

获取远程计算机的状态。

相关内容