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 はグループの名前で、2 番目の変数 $user はグループに追加するユーザーの名前です。

理想的には、ユーザーの追加をループして、誰かが を使用してスクリプトを呼び出すことができるようにしたいと考えています./script GROUPNAME User1 User2 User3 User4 User5

誰かが何か洞察を与えたり、私を正しい方向に向けたりすることはできますか?

4

3 に答える 3

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-DistributionGroupMemberコマンドレットにパイプすることができます。

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 に答える
1

$user、またはむしろ$usersを配列として扱うことができます。

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

(複数のユーザーを追加するためのより良い方法があるかもしれませんが、上記で始める必要があります。)

スクリプトは次のように呼び出すことができます。

.\script GROUPNAME User1,User2,User3
于 2012-12-17T18:00:54.647 に答える