Wie kann ich eine Beschreibung für alle Benutzer in derselben Organisationseinheit festlegen?

295
Marlon

Ich versuche, die Ausgabe des Befehls write-output zu verwenden, und mit Set-ADUser das Descripton-Feld von allen Benutzern in einer bestimmten Organisationseinheit ändern.

Zuerst habe ich gemacht:

Import-Module ActiveDirectory $Users = Get-ADUser -SearchBase 'OU="Users",ou="Customer10",OU="Customers",OU="Company",DC=domain,DC=net' -Filter * | Select SamAccountName Write-Output $users  

Auf welche Weise könnte ich den nächsten Befehl ausführen, um die Beschreibung hinzuzufügen? Erprobte eine foreach: foreach ($usuarios in $users)- zwischen dem Befehl unten ohne Erfolg.

Set-ADuser -Identity $ Benutzer -Beschreibung "Kunde 10 - Kunde"

Es scheint, dass SamAccountName nicht durch die Identität identifiziert wird.

0

1 Antwort auf die Frage

2
DukeSilversJazz

Ihr Set-ADUsersBefehl würde nicht funktionieren, da er versucht, Ihr $ Users-Objekt zu verwenden, das alle Benutzer enthält, nach denen Sie suchen. Das ForEach muss jeweils einzeln arbeiten. Ich würde auch das auch ablegen | Select-Object SamAccountName, damit Sie später im Skript mit dem vollständigen Objekt und den gesamten Eigenschaften arbeiten können, wenn dies erforderlich ist. Ich würde so etwas machen:

Import-Module ActiveDirectory $Users = Get-ADUser -SearchBase 'OU="Users",ou="Customer10",OU="Customers",OU="Company",DC=domain,DC=net' -Filter * Write-Output $users  ForEach ($usuarios in $users) { Set-ADUser -Identity $usuarios.SamAccountName -Description "Customer 10 - Customer" } 
Ich verwende denselben Benutzer mit Administratorrechten, er gibt jedoch Folgendes zurück: Set-ADUser: Unzureichende Zugriffsrechte zum Ausführen des Vorgangs Marlon vor 5 Jahren 0
Funktionierte gut mit Administrator-Eingabeaufforderung, nur die Ausführung von ISE funktionierte nicht. Marlon vor 5 Jahren 1