Question Powershell ADD user with param

Plus d'informations
il y a 15 ans 2 mois #8313 par Duffo
Bonjour, j'apprécie beaucoup votre site pour sa bibliothèque et ces articles.

J'ai pu voir l'un de vos scripts qui est celui-ci :[code:1]#Déclaration des variables :



#cn=Users car OU Builtin, sinon spécifier ou=monOU
$objOU=[ADSI]\"LDAP://localhost:389/ou=PSR,dc=psr,dc=priv\"
$objUser = $objOU.Create(\"user\", \"cn=Michel DUPONT\"«»)

# sAMAccountName est le seul attribut obligatoire
# à spécifier pour créer un compte
$objUser.put(\"sAMAccountName\", \"midu\"«»)

# à spécifier pour bénéficier d'une ouverture de session Kerberisée
$objUser.put(\"userprincipalName\", \"mdupont@psr.priv\"«»)

# prénom
$objUser.put(\"givenName\", \"Michel\"«»)

# nom
$objUser.put(\"sn\", \"DUPONT\"«»)

# Numéro de téléphone
$objUser.put(\"telephoneNumber\", \"392\"«»)

# Description
$objUser.put(\"description\", \"Comptable\"«»)

# Nom affiché : nom qui sera visible dans l'annuaire Exchange
$objUser.put(\"displayName\", \"Michel DUPONT\"«»)

$objUser.SetInfo()
$objUser.SetPassword('password')
#Permet d'activer le compte
$objUser.userAccountControl[0] = $objUser.userAccountControl[0] -band (-bnot 2)
$objUser.SetInfo()

Enable-Mailbox -Identity:’psr.priv/psr/Michel DUPONT'-Alias:'midu' -Database: 'psr'[/code:1]


Ma question est celle-ci comment je pourrait faire pour remplacer dans le script les champs de saisie par des variables ?

j'ai pensé à faire quelque chose ainsi :

$param1 = $prenom
$param2 = $nom

et modifier par exemple :

[code:1]# prénom
$objUser.put(\"givenName\", $prenom)[/code:1]

ainsi appeler le script de la façon suivante .\createuser.ps1 -param1 Michel -param2 DUPONT

Est ce possible ? :)

Merci

Cordialement,

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

Plus d'informations
il y a 15 ans 2 mois #8318 par Jacques Barathon
Oui c'est possible, et tu en donnes toi-même la syntaxe. Y'a plus qu'à !

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

Plus d'informations
il y a 15 ans 2 mois #8319 par Jacques Barathon
Juste une précision : tu peux te simplifier la vie en évitant l'affectation $param1 = $prenom et $param2 = $nom. Il suffit de nommer les paramètres $prenom et $nom :

[code:1]
# script add-user.ps1

param ([String]$prenom, [String]$nom)

...
$nomcomplet = \"{0} {1}\" -f $prenom $nom
$objUser.put(\"givenName\", $prenom)
$objUser.put(\"sn\", $nom)
$objUser.put(\"displayName\", $nomcomplet)
...
[/code:1]

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

Plus d'informations
il y a 15 ans 2 mois #8320 par Jacques Barathon
Juste une précision : tu peux te simplifier la vie en évitant l'affectation $param1 = $prenom et $param2 = $nom. Il suffit de nommer les paramètres $prenom et $nom :

[code:1]
# script add-user.ps1

param ([String]$prenom, [String]$nom)

...
$nomcomplet = \"{0} {1}\" -f $prenom $nom
$objUser.put(\"givenName\", $prenom)
$objUser.put(\"sn\", $nom)
$objUser.put(\"displayName\", $nomcomplet)
...
[/code:1]

Le script pourra être utilisé ainsi :

[code:1]
# option 1 : passer les valeurs selon leur position (ordre de déclaration dans param)

PS> add-user Michel Dupont

# option 2 : passer les valeurs selon le nom du paramètre (l'ordre n'a alors plus d'importance)

PS> add-user -nom Dupont -prenom Michel
[/code:1]<br><br>Message édité par: janel, à: 15/12/10 10:37

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

Plus d'informations
il y a 15 ans 1 mois #8322 par Duffo
Réponse de Duffo sur le sujet Re:Powershell ADD user with param
Merci de tes réponses Janel :)

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

Plus d'informations
il y a 15 ans 1 mois #8326 par Jacques Barathon
De rien. :)

En relisant ma copie je note qu'une coquille s'y est glissée...

[code:1]
# il faut séparer $prenom et $nom avec une virgule :

$nomcomplet = \&quot;{0} {1}\&quot; -f $prenom, $nom
[/code:1]

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

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