2017-03-07 43 views
0

我有一個PowerShell腳本,以取代單張照片:如何替換所有Active Directory帳戶照片?

Import-Module ActiveDirectory 
$photo = [byte[]](Get-Content C:\scripts\foto\XXX.jpg -Encoding byte) 
Set-ADUser XXX -Replace @{thumbnailPhoto=$photo} 

我有帳戶的用戶名的文本文件:

ROB ALAN COY GREGOR

我想自動替換在Active Directory中的所有照片。我將如何做到這一點?

+0

這實際上是你的文本文件的外觀嗎?一行是空格分隔的嗎? – Matt

回答

0

我不能理解Ashigore可能是正確的一行。在這裏它被逐行分解成一個foreach循環。

$users = get-adUser 
foreach ($user in $users){ 
    $photoPath = "C:\scripts\foto\$($_.SamAccountName).jpg" 
    if (Test-Path $photoPath) { 
     $photo = Get-Content "C:\scripts\foto\$($user.SamAccountName).jpg" -Encoding byte 
     Set-ADUser $user -Replace @{thumbnailPhoto=$photo} 
    } 
} 
1

,如果你要替換所有用戶的照片做一些更喜歡這個,我會建議:

Get-ADUser | Where-Object { Test-Path "C:\scripts\foto\$($_.SamAccountName).jpg" } | Set-ADUser -Replace @{thumbnailPhoto=(Get-Content "C:\scripts\foto\$($_.SamAccountName).jpg" -Encoding byte)} 

雖然未經測試。這應該爲路徑中存在圖片的所有用戶使用其用戶名設置照片。

相關問題