![以系统身份运行 PowerShell 并指定域加入凭据时加入域](https://linux22.com/image/786749/%E4%BB%A5%E7%B3%BB%E7%BB%9F%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%20PowerShell%20%E5%B9%B6%E6%8C%87%E5%AE%9A%E5%9F%9F%E5%8A%A0%E5%85%A5%E5%87%AD%E6%8D%AE%E6%97%B6%E5%8A%A0%E5%85%A5%E5%9F%9F.png)
我有一台需要加入域的工作组计算机。我可以使用已安装的 RMM 工具以系统身份访问计算机上的 PowerShell。但每当我尝试从系统帐户添加计算机时,都会出现错误。我的想法是它应该可以工作,因为系统是一个提升帐户。其他提升功能似乎运行良好。
我将域管理员凭据存储在 $cred 中,然后尝试以下操作:
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name NT AUTHORITY\SYSTEM
Add-computer -domainname domain.com -Credential $cred -restart -force
Add-Computer: Computer 'hostname' failed to join domain 'domain.com' from its current workgroup 'WORKGROUP' with following error message:
A device attached to the system is not functioning.
有人有建议吗?
答案1
您不能使用 SYSTEM 帐户将计算机加入 Active Directory。是的,SYSTEM(也称为本地系统)可以执行与本地服务相反的网络操作,但是它使用计算机对象(hostname$)的凭据对 Active Directory 进行身份验证,但是在您的例子中,该对象不存在,因为该计算机首先没有加入域。
现在我明白了,您正在传递允许域管理员的凭据以执行加入操作,但命令仍在 SYSTEM 上下文中执行。我的猜测是,由于域计算机在计算机和域之间创建了安全通道,并且 SYSTEM 代表计算机对象,因此它无法完全完成加入操作,因为它正在尝试在计算机上进行自我更改。
另一件需要考虑的事情是,如果您在加入操作之前重命名了计算机,那么您必须在命令中指定其他选项。
Add-Computer -DomainName domain.here -Options JoinWithNewName,AccountCreate -Credential (Get-Credential) -Restart