1

首先,当谈到 PowerShell / 编码时,我是一个彻头彻尾的白痴,所以如果这是我要问的一个过于简单的问题,我深表歉意。

我有一个脚本,用于通过 PowerShell 创建分发列表作为交换:

param($name,$user=$(throw "You must specify the name of the group"))
New-DistributionGroup -Name $name -OrganizationalUnit "XXX.com/Distribution Lists"
Add-DistributionGroupMember -Identity "$name" -Member "$user"

第一个变量 $name 是组的名称,第二个变量 $user 是要添加到组中的用户的名称。

理想情况下,我想循环添加用户,以便有人可以使用./script GROUPNAME User1 User2 User3 User4 User5.

任何人都可以提供任何见解或指出我正确的方向吗?

4

3 回答 3

1

您可以将$user,或者更确切地说$users,视为一个数组:

$users | %{ Add-DistributionGroupMember -Identity "$name" -Member $_ }

(添加多个用户可能有更好的方法,但以上内容应该可以帮助您入门。)

该脚本可以这样调用:

.\script GROUPNAME User1,User2,User3
于 2012-12-17T18:00:54.647 回答
1

尝试这样的事情:

-- script --
param($name, [string[]]$users=$(throw "You must specify the name of the user(s)"))

New-DistributionGroup -Name $name -OrganizationalUnit "XXX.com/Distribution Lists" 
foreach($user in $users)
{
    Add-DistributionGroupMember -Identity $name -Member $user
} 
于 2012-12-17T18:02:59.917 回答
1

您可以更改 Name 参数的类型以接受多个名称并将这些名称通过管道传递给Add-DistributionGroupMembercmdlet:

param($name, [string[]]$users=$(throw "You must specify the name of the user(s)"))

$dg = New-DistributionGroup -Name $name -OrganizationalUnit "XXX.com/Distribution Lists" 
$users | Add-DistributionGroupMember -Identity $dg
于 2012-12-18T06:36:53.707 回答