在powershell中批量添加managedby

时间:2015-02-10 06:12:51

标签: powershell

我在添加多个用户管理的通讯组时遇到问题。该命令运行正常,但是当我去检查发布组中的用户管理时,唯一添加的人是csv文件列表中的最后一个人。我使用同一个文件添加成员,所以我不知道为什么它不起作用。

这就是我正在运行的

import-csv "path to file" | foreach {set-distributiongroup -identity "group name" -Managedby $_.name}

我做错了什么?谷歌今晚不是我的朋友。

1 个答案:

答案 0 :(得分:1)

您每次都会覆盖现有值。循环中的最后一个用户将成为管理员。

Import-Csv "path to file" | ForEach-Object {
    set-distributiongroup -identity "group name" -Managedby $_.name
}

您可以一次指定所有

  

要输入多个值并覆盖任何现有条目,请使用   语法如下:value1,value2

Source: Set-DistributionGroup @ Technet

样品:

set-distributiongroup -identity "group name" -Managedby (Import-Csv "path to file" | Select-Object -ExpandProperty Name)

或者您可以使用键值对来添加或删除特定用户(不替换所有成员)。

  

添加或删除一个或多个值而不影响任何现有值   条目,使用以下语法:@ {Add ="","" ...;   除去="""" ...}

Source: Set-DistributionGroup @ Technet

样品:

set-distributiongroup -identity "group name" -Managedby @{Add=(Import-Csv "path to file" | Select-Object -ExpandProperty Name)}

Import-Csv "path to file" | ForEach-Object {
    set-distributiongroup -identity "group name" -Managedby @{Add=$_.name}
}

所有样品均未经测试。