2015-02-10 19 views
0

我在添加多个由用户管理通讯组时遇到问题。该命令运行良好,但是当我去检查发行组中的用户管理时,唯一添加的人是csv文件列表中的最后一个人。我用这个相同的文件来添加成员,所以我不知道为什么它不工作。在powershell中批量添加managedby

这是林运行

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

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

+0

您很可能每次都覆盖属性ManagedBy。您需要找到所有想要成为该组管理员的用户,然后一次添加它们。如何完成取决于你的csv文件...也许Group-Object可能是你的朋友。 – notjustme 2015-02-10 06:56:00

回答

1

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

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

您既可以指定一下子

要输入多个值并覆盖所有现有条目,使用 以下格式:数值,数值2

Source: Set-DistributionGroup @ Technet

样品:

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

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

要添加或删除一个或多个值,而不会影响任何现有 项,请使用以下语法:@ {添加=“”,“” ...; Remove =“”,“”...}。

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} 
} 

所有样品都经过测试。

+0

谢谢。这对我有效 – 2015-02-19 05:33:16