我正在尝试运行下面的powershell脚本,但是我得到了:
“ Set-ADGroup:找不到与参数名称'mail'相匹配的参数。
脚本会导入两列的csv(左列为组,右列为电子邮件地址),然后遍历列表,设置列表中每个对象的邮件属性
Import-CSV -path 'D:\Scripts\AD-AddEmailtoSecGroups\Groups&Emails_Test.csv' | ForEach {get-adgroup -id $_.group | set-adgroup -mail $_.Mail}
答案 0 :(得分:2)
尝试一下。
Import-CSV -path 'D:\Scripts\AD-AddEmailtoSecGroups\Groups&Emails_Test.csv' | ForEach-Object {Set-ADGroup -Identity $_.group -Replace @{mail="$_.email"}}
编辑: 我想我假设您的csv中的email属性将称为“ email”。我只是看到您使用的是“邮件”。这么小的变化:
Import-CSV -path 'D:\Scripts\AD-AddEmailtoSecGroups\Groups&Emails_Test.csv' | ForEach-Object {Set-ADGroup -Identity $_.group -Replace @{mail="$($_.mail)"}}
答案 1 :(得分:1)
您需要使用-Replace
参数来访问mail属性,因为它在Set-ADGroup
中没有自己的参数。将哈希传递到-Replace
参数时,您还只需要确保要正确访问传递给命令的对象中的“ mail”属性即可。
这应该可以解决问题:
Import-CSV -path 'D:\Scripts\AD-AddEmailtoSecGroups\Groups&Emails_Test.csv' |
ForEach-Object {Set-ADGroup -Identity $_.group -Replace @{mail="$($_.mail)"}}