需要更改域管理员账户密码。有没有PS脚本或工具可以检查域内的所有服务器,看看这个账户在哪里运行服务?
谢谢,
答案1
现在是停止以域管理员帐户身份运行服务的好时机。
Import-Module ActiveDirectory
Foreach ($comp in Get-ADComputer -Filter *)
{
$services = Get-WMIObject win32_service -Computername $comp
Foreach($svc in $services)
{
If($svc.StartName -eq "DOMAIN\Administrator" -or $svc.StartName -eq "Administrator@DOMAIN")
{
Write-Error "THE $svc.Name SERVICE ON $comp IS RUNNING AS DOMAIN ADMIN"
}
}
}
类似这样的内容。假设您使用足够的凭据运行脚本,并且您从运行脚本的位置对每台计算机都具有网络连接和防火墙访问权限等,则它应该运行您域中的所有计算机,获取每台计算机的所有服务,并在发现以域管理员身份运行的服务时发出警报。根据您的需要进行修改。
编辑:如果由于某种原因您不能这样做,您可以通过搜索所有域控制器上的安全事件日志,查找域管理员帐户的登录信息和他们来自的计算机来获得一些有用的信息。
答案2
我测试了sc.exe、cmdlet、C#等几种方式,第一次启动服务时,提示“登录失败”,在服务中手动输入密码,在提示框中点击确定按钮,服务就可以启动了。
稍后,删除服务,更改账户并更改密码,我上面列出的方法就可以了。