派遣先の大学では、これまでオンプレミスで運営していたEメールを、去年の8月からOffice265のメールに移行しました。それで、新規作成時にPowerShellを使って、
一部の設定が必要となっています。
以前、バッチ処理のスクリプトを作っていたのですが、3月に教職員の入替があるので、一括処理のバッチの検討を始めました。
PowerShellは、去年から使い始めたばかりで、知らないことだらけですが、いろいろとできますね。配列が使えて、ループも可能なので、複数のアカウントを一括処理が可能です。さらに、CSVファイルからリストを取り込むことの可能でした。
ということで、EmailのリストをCSVとして読み込んで、ループで処理する、なんてスクリプトが簡単に組めます。なお、Emailのリストは、ヘッダが無いことを想定して、CSVファイルの取り込みで-Header オプションを使ってみました。それと、数値を文字列にするには、[string]count としないとエラーになります。これくらいで使えるのは便利かも。
# # list.txtに格納されたEmailアドレスを読み込む # $array_emails = Import-Csv list.txt -Header "Email_Address" # # foreachによりループ処理 # $count = 0 foreach( $view in $array_emails) { $Email = $view.Email_Address .... (ここに、設定のコマンド) Write-Host "$Email を設定" $count = $count +1 } $message = [string]$count + "件、設定しました。" Write-Host $message