如何通过批处理以管理员身份运行PowerShell脚本加入域并解决报错
批量将Windows 10客户端加入域的脚本修复方案
原命令错误原因
你之前的.cmd命令错误在于:将Add-Computer的参数直接传递给了Start-Process,但Start-Process并不识别-Domain、-Credential这类参数——这些参数属于Add-Computer cmdlet,必须作为PowerShell的命令参数,通过Start-Process的-ArgumentList传递给新启动的powershell进程。
正确的.cmd脚本命令
以管理员身份运行以下.cmd命令,会弹出凭据输入窗口,输入域账号密码即可执行加入域操作:
powershell -Command "Start-Process powershell -ArgumentList '-NoProfile -Command Add-Computer -DomainName ""domain.domain"" -Credential (Get-Credential ""login"") -Wait -Confirm' -Verb RunAs -Wait"
参数说明
-NoProfile:避免加载用户配置文件,加快执行速度-DomainName:指定要加入的域名称(替换为你的实际域domain.domain)-Credential (Get-Credential "login"):自动弹出凭据窗口,预先填充用户名login,只需输入密码-Wait:等待加入域操作完成后再关闭进程-Confirm:执行前会弹出确认提示(如果不需要确认,可移除该参数)
更简洁的PowerShell直接执行方案
如果你直接运行PowerShell脚本(而非.cmd调用),管理员权限下执行以下命令即可:
Add-Computer -DomainName "domain.domain" -Credential (Get-Credential "login") -Wait -Confirm
批量部署思路
针对大量远离域服务器的Windows 10客户端:
- 将上述.cmd脚本保存为
JoinDomain.cmd,分发到各客户端(如U盘、内部共享),要求用户以管理员身份运行 - 若需要无人值守自动执行(需预先存储密码,注意安全风险),可将凭据加密存储后嵌入脚本,但不建议在非受控环境中使用
- 无需额外安装工具,所有命令均使用Windows 10内置的PowerShell功能
内容的提问来源于stack exchange,提问作者Guilherme Polizel
相关产品推荐
相关产品推荐

