Office 365 のプロファイル画像を変更する PowerShell スクリプト
はじめに
Office 365 のプロファイル画像を一括で変更するための PowerShell スクリプトを知りたいというお話をいただくことが多いので、ネットで検索してみたところ、確かにあまり情報がないようす。 ということで、検索にヒットしてくれるようになるかどうかは置いておいて、備忘録兼ねてスクリプトを残しておきたいと思います。
任意の画像をプロファイル画像として登録する
プロファイル画像の登録には「Set-UserPhoto」コマンドレットを使用します。
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking
# 以下の行で1名分の写真を登録します。 "herakles@orivers.jp"の部分には対象アカウントのメールアドレス、"D:\Users\Oikawa\Desktop\photo.jpg"の部分には画像ファイルのパスを指定してください。
# 複数人同時に登録をする場合は以下の行をコピーして、8行目以降に必要な分だけ貼り付けてください。
Set-UserPhoto -Identity "herakles@orivers.jp" -PictureData ([System.IO.File]::ReadAllBytes("D:\Users\Oikawa\Desktop\photo.jpg")) -Confirm:$false
Remove-PSSession $Session
Echo "完了"
登録したプロファイル画像をリセットする
一度登録したプロファイル画像をリセットして初期状態に戻すには「Remove-UserPhoto」コマンドレットを使用します。
事前領域確保有り
比べてみると効果は一目瞭然。
事前領域確保無しの方は、ページのタイトル部分がヘッダーの表示のタイミングで下にずれ込むのが分かります。
動画をコマ送りで見ると、ページプレースホルダーの事前領域確保をした場合、下図の通りブランクの領域(横線が入った部分)がページプレースホルダーの表示領域としてあらかじめ確保される動きになっていました。
