You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本添加Domain Users到本地Administrators组报错

解决方法

1. 修正批处理调用逻辑

如果是用批处理调用.ps1脚本,批处理里的命令要这么写:

powershell -ExecutionPolicy Bypass -File "C:\你的脚本路径\script.ps1"

要是直接在批处理里写这条PowerShell命令,得注意cmd的引号转义——要么把双引号改成两个双引号:

powershell -ExecutionPolicy Bypass -Command "Add-LocalGroupMember -Group ""Administrators"" -Member ""DOMAIN\Domain Users"""

要么用单引号把PowerShell命令整个包起来:

powershell -ExecutionPolicy Bypass -Command 'Add-LocalGroupMember -Group "Administrators" -Member "DOMAIN\Domain Users"'

2. 检查脚本编码

把你的.ps1脚本用记事本打开,重新保存时选UTF-8编码(别选ANSI)。要是脚本是ANSI编码,空格或者特殊字符可能被解析错误,直接导致组名截断。

3. 用SID替代组名(更可靠)

实在搞不定名称解析,直接用Domain Users的SID来添加。先在PowerShell里跑这条命令获取SID:

Get-ADGroup "Domain Users" | Select-Object SID

拿到类似S-1-5-21-xxxxxx-xxxxxx-xxxxxx-513的SID后,把命令改成:

Add-LocalGroupMember -Group "Administrators" -Member "S-1-5-21-xxxxxx-xxxxxx-xxxxxx-513"

这种方式完全绕开名称解析的坑,不会出现截断问题。

4. 排查脚本变量问题

要是脚本里的组名是用变量存储的,检查变量有没有被其他代码误修改——比如是不是用了Substring之类的函数删了部分内容,或者赋值时少打了字符,确保"DOMAIN\Domain Users"字符串完整无缺。


你遇到的报错里显示DOMAIN\domain,明显是原本的DOMAIN\Domain Users被截断了——大概率是批处理调用PowerShell时的引号解析出问题,空格后的Users被当成了单独参数,PowerShell只收到了DOMAIN\Domain,自然找不到对应的组,还触发了账户类型错误。

内容的提问来源于stack exchange,提问作者MousemanGreen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 17:07:23