我有许多虚拟机,它们使用PowerShell脚本应用了快照。有时,虚拟机会失去与域的“信任关系”。这打破了脚本,因为我无法再使用PowerShell远程处理来进入机器并进行配置。
如何远程重置这些虚拟机的信任关系?也许有可能重新加入不涉及远程处理的域名?
手动重新加入域的任何备用解决方案都需要登录到计算机并在本地执行此操作。我没有找到任何可以做到这一点的事情。
到目前为止,我已经尝试将一个脚本放在一起作为本地管理员直接进入框中:
$password = ConvertTo-SecureString "password" -AsPlainText -Force
$cred= New-Object System.Management.Automation.PSCredential ("Administrator", $password)
$sesh = new-pssession -computername "theMachine" -credential $cred
此时,我希望使用PowerShell重置密码或类似的东西来重置域信任关系。但是,这会导致最后一行出错:Access is Denied
。
我认为您不能在PowerShell远程处理中使用本地管理员帐户。有没有其他方法可以远程获取已失去域信任关系的虚拟机重新加入域?
答案 0 :(得分:1)
有趣的是一个问题。 PSExec
和netdom
的组合会有效吗?我没有破坏信任关系的虚拟机,所以我无法测试这个想法。
无论如何,PSExec
包含用户名和密码的参数-u
和-p
。确保您知道本地管理员帐户。将其凭据传递给PSExec
即使信任关系破坏,也应提供远程shell。可以使用Netdom.exe
或Powershell脚本将计算机重新加入域。
另一个选项是更改计算机帐户的策略。将“计算机配置\ Windows设置\安全设置\本地策略\安全选项\域成员:最大计算机帐户密码期限”设置为0的GPO将设置计算机帐户密码永不过期。但这可能会引发一些安全问题。
修改强>
使用psexec打开shell会话。像这样,
psexec -u computer\administrator -p password \\computer cmd
获得shell后,尝试使用netdom命令进行实验。从域中删除计算机并将其添加到域。 Netdom join和netdom remove支持凭据传递,因此提供有效的域帐户凭据。在您知道确切的命令语法之后,将值保存到脚本文件并使用psexec启动它,如此,
psexec -u computer\administrator -p password \\computer c:\myScript.cmd