2017-03-07 2 views
0

Ich habe ein Powershell-Skript ein einzelnes Foto zu ersetzen:Wie werden alle Active Directory-Kontofotos ersetzt?

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

Ich habe eine Textdatei mit den Benutzernamen der Konten:

ROB ALAN COY GREGOR

ich alle Foto in Active Directory ersetzt automatisieren möchten . Wie würde ich das tun?

+0

Wie sieht Ihre Textdatei eigentlich aus? Eine einzelne Zeile, die Leerzeichen enthält? – Matt

Antwort

0

Ich konnte Ashigore wahrscheinlich nicht richtig Ein-Liner verstehen. Hier wird es zeilenweise in eine foreach-Schleife zerlegt.

$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

Ich würde vorschlagen, wenn Sie alle Benutzer Fotos ersetzen möchten etwas wie dies zu tun:

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

Während ungetestet. Dies sollte das Foto für alle Benutzer einstellen, bei denen ein Bild im Pfad mit ihrem Benutzernamen existiert.

Verwandte Themen