我们有一个我正在尝试实施的新流程,我的任务之一基本上是每月更改本地管理员密码,并使用管理员团队的新密码更新密码库。- 我的 PowerShell 脚本的这一部分很好。
我们还将使用托管服务帐户,我将使用托管服务帐户来运行我的 PowerShell 脚本以远程更改每台服务器上的密码。- 这是我的问题。
要像这样使用服务帐户,我正在创建一个组来放置服务器,然后创建一个链接它的服务帐户:
New-ADServiceAccount -Name "serviceaccount" -DNSHostName "serviceaccount.domain.com" -Path "OU=ServiceAccounts,DC=domain,DC=com" -PrincipalsAllowedToRetrieveManagedPassword "gMSA-ServerGroup"
这一切都很好......但是远程安装在每台服务器上 0_o 不适用于此命令:
Install-ADServiceAccount -Identity "serviceaccount"
除非我登录到需要它的服务器,否则我已经对此进行了测试,打开 PowerShell 并运行命令,没有错误测试并且完美!
这不起作用:
Invoke-Command -ComputerName $server -Credential $credentials -ScriptBlock {
#try to install service account
Install-ADServiceAccount -Identity "serviceaccount"
}
有人有这个问题吗?
我可以用不同的方式来做吗,也许是通过组策略。
服务器操作系统各不相同:2008 年、2012 年和 2016 年
我强烈建议使用 Microsoft 自己的解决方案LAPS来管理本地管理员密码。
它基本上是一个组策略扩展,可以更改密码并将它们存储在 AD 中计算机帐户的哈希属性中。您可以使用普通的 AD 工具(包括 Powershell)来管理它。有一个小 GUI 工具可以安装在任何地方(例如管理计算机)。
不需要服务帐户,但您需要在客户端计算机上安装 DLL 并对 AD 权限进行一些(简单)调整。
更多信息并在此处下载。下载包中有一个部署指南。