ExchangeOnlineにて、新規配布リストをコマンド作成する一連の処理をスクリプト化しようとして困っています。
前提
以下の配布リスト作成コマンドを、スクリプト内で完成させスクリプト実行中にコマンド実行もさせています。
なお、スクリプトはMicrosoft Exchange Online PowerShell Moduleにて実行していますが、
実行時にエラーとなります。
powershell
1New-DistributionGroup -Name $mlname -Alias $mlname -PrimarySmtpAddress $mladdress -ManagedBy $manager -Members $member
発生している問題・エラーメッセージ
スクリプト内で各変数を生成しており、$manager、$memberはcsvよりインポートしたメールアドレス(aaa@a.co.jp、bbb@a.co.jp)を
スクリプト内でカンマ区切り文字列として結合、格納しています。
$manager、$member・・・aaa@a.co.jp,bbb@a.co.jp
スクリプト実行時に以下のエラーが発生します。
powershell
1オブジェクト "aaa@a.co.jp,bbb@a.co.jp" が見つかりませんでした。オブジェクト名が正しく入力され 2ていることを確認するか、別のオブジェクトを指定してください。 3 + CategoryInfo : NotSpecified: (:) [], ManagementObjectNotFoundException 4 + FullyQualifiedErrorId : [Server=OSZPR01MB8717,RequestId=bfc3c92a-ad4c-46ff-9ffd-dc44128e837b,TimeStamp=2022/09/0 5 8 11:56:05] [FailureCategory=Cmdlet-ManagementObjectNotFoundException] CFFFF8F9 6 + PSComputerName : outlook.office365.com
実現したいこと
・-ManagedBy aaa@a.co.jp,bbb@a.co.jp のように認識させる方法
・目的はcsvからインポートした複数のメールアドレスをスクリプト内で1つのコマンドとして成形/実行させることなので、
それを実現する術を教えてください。
試したこと
・結合の方法としては、+、joinなど色々と試しましたが、スクリプト実行時にエラーが発生します。
色々と検証した結果、$manager自体を1つのオブジェクトとして見做し、実際には
-ManagedBy (aaa@a.co.jp,bbb@a.co.jp)のように認識されているようです。
・csv内のメールアドレスを1つのみとした場合、正常実行となります。
また、1つの場合でも、複数の場合でも型は[System.String]であることを確認しています。
補足情報
メールアドレス数は可変であり、多数となることが想定されるため、
-ManagedBy $manager[0],$manager[1],$manager[2]・・・は現実的ではないと考えています。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/08 16:48
2022/09/09 12:10