我正在尝试运行一个简单的PowerShell脚本,该脚本使我能够向AD组添加多个成员。我已使用以下命令将用户的samaccountname从.csv文件导入到数组中。
$member = Import-Csv -Path c:\file.csv
我还打印了该数组的值,以确保我正确设置了SAMaccountnames,输出如下所示:
user user1 user2
此任务栏包含大约700个用户名。
然后我运行以下命令:
foreach ($user in $member){Add-ADGroupMember -Identity Group_Name -Members $user}
但是,出现以下错误:
Add-ADGroupMember : Cannot bind parameter 'Members'. Cannot convert value "@{User=user1}" to type "Microsoft.ActiveDirectory.Management.ADPrincipal". Error: "Cannot convert the "@{User=user1}" value of type "System.Management. Automation.PSCustomObject" to type "Microsoft.ActiveDirectory.Management. ADPrincipal"." At line:1 char:77 + foreach ($user in $member){Add-ADGroupMember -Identity Bastion_usr -Members $use ... + ~~~~ + CategoryInfo : InvalidArgument: (:) [Add-ADGroupMember], ParameterBindingException + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.ActiveDirectory.Management.Commands.AddADGroupMember
用户是CSV文件中的标题。
在编写此脚本时,我的思考过程是:
我的问题是会员将samaccountname的值设为@{user=user1}
吗?如果是,那么我们可以从其前面删除@{user=
,从其结尾删除}
吗?
如果先前的假设是错误的,那么我们如何将正确的值传递给-Members
?