2017-06-22 17 views
1

私はADユーザーに接続するためのプロファイル画像がたくさんあるスケートジョブを実行する必要があります。Active Directoryに画像をアップロード

ユーザーと写真の名前が同じであるため、すべてのユーザーをプロフィール写真と関連付けることができるパワーシェルが必要ですか?

私はここで1つずつ作成しましたが、自動化したいと考えています。ここ
はサンプルコードです:

$ Photo = [byte []] (Get-Content "C: \ temp \ crusoe.jpg" -Encoding byte) 
Set-ADUser Crusoe -Replace @ {thumbnailPhoto = $ photo} 
+0

FWIW、私はこれを回避しよう。ここのLDAPエンジンは、 "大きな"バイナリ項目を扱うのにそれほど優れていません。パフォーマンスに大きな影響を与える可能性があります。私は自分のユーザーアカウントのプロフィール画像を持っているのが好きですが、ADに保存すると苦痛を伴う多くの下流のアプリで画像を設定する方が望ましいとわかりました。 –

答えて

0

は、foreachのとそれらをループを使用したい写真をすべて取得します。写真は、ユーザーと同じ名前であればその後、その後、Get-ChildItemからBaseNameプロパティは、ユーザーの名前になります:

$FilePath = "C:\temp\" 
$Photos = Get-ChildItem $FilePath -include .jpg 
foreach ($Photo in $Photos) { 
    $thumbnailPhoto = [byte[]](Get-Content $Photo.Fullname -Encoding byte) 
    Set-ADUser $Photo.basename -Replace @{thumbnailPhoto = $thumbnailPhoto} 
}