PowerShell远程添加组员报错:“ 组已经存在”


PowerShell交流中心分类: QuestionsPowerShell远程添加组员报错:“ 组已经存在”
0
xbin530 asked 8 年 ago

下面这段脚本的作用是先将用户到AD用户组,第二行将用户加到本地PC的remote用户组,使其可以使用远程桌面连接登陆到PC。两段脚本分开运行是没有问题的。但是放在一起就出现下面的报错。

尝试用;或do .. while也没能成功,只能来求指教了,谢谢!

function Add-UserGroup
{
[CmdletBinding()]
 param(
    [String]$User,
    [String]$ComputerName,
    [String]$Group
    )

 Add-ADGroupMember -Identity $Group -Members $User

 Invoke-Command -ComputerName $ComputerName -ScriptBlock {NET LOCALGROUP "Remote Desktop Users" /ADD "$User"}
 
 }
报错信息:


组已经存在。
    + CategoryInfo          : NotSpecified: (组已经存在。:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError
    + PSComputerName        : ******
 
请键入 NET HELPMSG 2223 以获得更多的帮助。
xbin530 replied 8 年 ago

非常感谢,问题已解决了,

1 Answers
1
Best Answer
Mooser Lee 管理员 answered 8 年 ago

你应当把本地参数传递给远程命令:

 Invoke-Command -ComputerName $ComputerName -ScriptBlock {
param($User)
NET LOCALGROUP "Remote Desktop Users" /ADD "$User"
} -ArgumentList $User

否则”$User” 为空,
实际的执行效果成了添加组了:
PS> NET LOCALGROUP “Remote Desktop Users” /add $null
组已经存在。
请键入 NET HELPMSG 2223 以获得更多的帮助。