Question Script import utilisateur dans Active Directory

Plus d'informations
il y a 8 ans 4 mois #24483 par Xadout
ok, il est vrai que je suis un débutnt sous powershell cependant, l'AD je maitrise pas trop mal...

et accessoirement ne veux pas de ma variable pour les téléphones portables...sur ce point tu n'a pas mis de modification du portable dans ton script !!


Si si je l'ai mis mais il est en commentaire justement car il marche pas. cependant c'est pas le plus important.

dans l'AD tu a des utilisateurs entre autre

ok mais tu peut avoir plusieurs personnes avec le même prénom parfois même le nom

donc quand tu fais ça : Get-ADUser -Filter {givenName -eq $Prenom} tu peut faire le test d'exécuter que cette ligne

si $prenom contient \"Philippe\" par exemple,

get-aduser va te renvoyer la liste de tous les \"Philippe\" !! moi il m'en sort une quinzaine !!

sympas mais c'est pas ce que tu cherche, enfin je crois !!


Bêtement, je m'étais mis en tête que le get-ADuser ne regardait que dans l'objet $LogonAD. Mais effectivent s'il cherche dans toute l'AD, ce n'est pas le but.

Le problème, c'est que je ne souhaite pas utiliser la forme [code:1]# Cherche le logon dans l'AD

$LogonAD = Get-ADUser -filter { userPrincipalName -eq $Logon }



# Si Logon existe, compare chaque variable et met à jour si différent de la valeur dans l'AD

if ($LogonAD -ne $null) {



$EmployeIDAD = $LogonAD.Identity

if ($EmployeIDAD -ne $EmployeID ) {

set-ADUser -Identity $ID -EmployeeID $EmployeID

}}[/code:1]

Mais en faisant comme ca, j'ai un message d'erreur si la valeur Identity est nulle, ce qui est possible.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 8 ans 4 mois #24484 par Philippe

Le problème, c'est que je ne souhaite pas utiliser la forme

peut tu précisé !

Mais en faisant comme ca, j'ai un message d'erreur si la valeur Identity est nulle, ce qui est possible.
[code:1]$EmployeIDAD = $LogonAD.Identity[/code:1]

autre info tu retrouve dans ta variable $logonAD les attributs de l'AD dans la même syntaxe
j'ai peut etre oublier de de le dire dans mon précèdent message

et bien sur 'identity' n'est pas un attribut de l'AD
c'est un paramètre de get-aduser
un extrait de la doc

Identity


Specifies an Active Directory user object by providing one of the following property values. The identifier in parentheses is the LDAP display name for the attribute.

Distinguished Name
Example: CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com
GUID (objectGUID)
Example: 599c3d2e-f72d-4d20-8a88-030d99495f20
Security Identifier (objectSid)
Example: S-1-5-21-3165297888-301567370-576410423-1103
SAM account name (sAMAccountName)
Example: saradavis

The cmdlet searches the default naming context or partition to find the object. If two or more objects are found, the cmdlet returns a non-terminating error.

This parameter can also get this object through the pipeline or you can set this parameter to an object instance.

This example shows how to set the parameter to a distinguished name.
-Identity \"CN=SaraDavis,CN=Europe,CN=Users,DC=corp,DC=contoso,DC=com\"

This example shows how to set this parameter to a user object instance named \"userInstance\".
-Identity $userInstance

pour résume pour trouver un utilisateur get-aduser recherche le paramètre identity dans les attributs : DistinguishedName, objectGUID, Sid et sAMAccountName
et si il ne trouve pas renvoie une erreur ( : Impossible de trouver un objet avec l’identité « uuu » sous : « DC=yyy,DC=xxx ».)

pour aller avec ton script il qui suit, tu peut remplacer identity par EmployeID :
[code:1]$EmployeIDAD = $LogonAD.EmployeID
if ($EmployeIDAD -ne $EmployeID[/code:1]

j'espère que je suis assez clair sinon<br><br>Message édité par: 6ratgus, à: 6/11/17 14:41

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.037 secondes
Propulsé par Kunena