如何修复 Powershell 脚本的不明确参数

ITH*_*990 1 powershell active-directory

我正在尝试使用 Powershell 将组成员身份从 AD 中的一个用户复制到另一个用户。我收到以下错误。似乎无法弄清楚。

Get-ADUser -server "test.server.com" -Identity user11 -Properties memberof |
Select-Object -ExpandProperty memberof
Add-ADGroupMember -Member user22 
Run Code Online (Sandbox Code Playgroud)

我收到的错误是

Add-ADGroupMember : Parameter cannot be processed because the parameter name 'Member' is ambiguous. Possible matches include:
-Members 
-MemberTimeToLive. At line:3 char:19
+ Add-ADGroupMember -Member user22
+                   ~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Add-ADGroupMember], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameter,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember
Run Code Online (Sandbox Code Playgroud)

Arc*_*Set 5

那么我们来谈谈错误Ambigously 的含义。

在Powershell中你可以写速记

Get-ChildItems -path C:\Test
Run Code Online (Sandbox Code Playgroud)

是相同的

Get-ChildItems -pat C:\Test
Run Code Online (Sandbox Code Playgroud)

如果我们查看 Microsoft 关于Add-AdGroupMember的文档

我们可以看到该命令有2个参数,其中包含Member -MemberTimeToLive-Members

该错误的含义是它不知道-Member您是在调用-Members还是-MemberTimeToLive

这就是所谓的暧昧

解决办法是

Add-ADGroupMember -Members user22 
Run Code Online (Sandbox Code Playgroud)