Question
Soucis sur mon powershell AD
- Benjamin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 15
- Remerciements reçus 0
il y a 8 ans 1 semaine #25104
par Benjamin
Soucis sur mon powershell AD a été créé par Benjamin
Bonjour,
Je débute dans le PowerShell mais ayant déjà programmer je comprends assez vite le langage.
Dans le cadre de mon projet je dois automatiser les tâches d'ajouts d'utilisateurs dans l'AD donc voici mon code
[code:1]
# Importation des modules
Import-Module ActiveDirectory
# Fichier d'utilisateurs
$users = Import-Csv -Delimiter \";\" -Path \"users.csv\"
# Déclaration du domaine sous forme de variable
$nomdomaine = \"GMSIA_Serv\"
$extensiondomaine = \"org\"
# Création de l'OU \"Utilisateurs\"
$organisation = New-ADOrganizationalUnit -Name \"Test\" -Path \"dc=$nomdomaine,dc=$extensiondomaine\"
# Création des OUs secondaires pour les différents services
New-ADOrganizationalUnit -Name \"Direction\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
New-ADOrganizationalUnit -Name \"SAV\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
New-ADOrganizationalUnit -Name \"SP1\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
New-ADOrganizationalUnit -Name \"SP2\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
New-ADOrganizationalUnit -Name \"Informatique\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
New-ADOrganizationalUnit -Name \"Administratif\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
# Création des Utilisateurs
foreach ($user in $inusers) {
$name = $user.Prenom + \" \" + $user.Nom
$fname = $user.Prenom
$lname = $user.Nom
$login = $user.Prenom + \".\" + $user.Nom
$dept = $user.Departement
$APassword = $user.Password
switch ($user.Departement) {
\"Direction\" {$dept = \"ou=Direction\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
\"SAV\" {$dept = \"ou=SAV\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
\"SP1\" {$dept = \"ou=SP1\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
\"SP2\" {$dept = \"ou=SP2\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
\"Informatique\" {$dept = \"ou=Informatique\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
\"Administratif\" {$dept = \"ou=Administratif\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
default {$dept = $null}
}
try {
New-AddUser -Name $name -SamAccountName $login -UserPrincipalName $login -DisplayName $name -GivenName $fname -Surname $lname -AccountPassword (ConvertTo-SecureString $APassword -AsPlainText -Force) -ChangePasswordAtLogon $true
echo \"Utilisateur ajouté : $name\"
} catch { echo \"Utilisateur non ajouté : $name\" }
}[/code:1]
Je me suis aidé de ce que j'ai vu sur internet mais je ne comprends pas pourquoi il pose un problème sur la création des OU....
Je débute dans le PowerShell mais ayant déjà programmer je comprends assez vite le langage.
Dans le cadre de mon projet je dois automatiser les tâches d'ajouts d'utilisateurs dans l'AD donc voici mon code
[code:1]
# Importation des modules
Import-Module ActiveDirectory
# Fichier d'utilisateurs
$users = Import-Csv -Delimiter \";\" -Path \"users.csv\"
# Déclaration du domaine sous forme de variable
$nomdomaine = \"GMSIA_Serv\"
$extensiondomaine = \"org\"
# Création de l'OU \"Utilisateurs\"
$organisation = New-ADOrganizationalUnit -Name \"Test\" -Path \"dc=$nomdomaine,dc=$extensiondomaine\"
# Création des OUs secondaires pour les différents services
New-ADOrganizationalUnit -Name \"Direction\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
New-ADOrganizationalUnit -Name \"SAV\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
New-ADOrganizationalUnit -Name \"SP1\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
New-ADOrganizationalUnit -Name \"SP2\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
New-ADOrganizationalUnit -Name \"Informatique\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
New-ADOrganizationalUnit -Name \"Administratif\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
# Création des Utilisateurs
foreach ($user in $inusers) {
$name = $user.Prenom + \" \" + $user.Nom
$fname = $user.Prenom
$lname = $user.Nom
$login = $user.Prenom + \".\" + $user.Nom
$dept = $user.Departement
$APassword = $user.Password
switch ($user.Departement) {
\"Direction\" {$dept = \"ou=Direction\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
\"SAV\" {$dept = \"ou=SAV\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
\"SP1\" {$dept = \"ou=SP1\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
\"SP2\" {$dept = \"ou=SP2\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
\"Informatique\" {$dept = \"ou=Informatique\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
\"Administratif\" {$dept = \"ou=Administratif\",\"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"}
default {$dept = $null}
}
try {
New-AddUser -Name $name -SamAccountName $login -UserPrincipalName $login -DisplayName $name -GivenName $fname -Surname $lname -AccountPassword (ConvertTo-SecureString $APassword -AsPlainText -Force) -ChangePasswordAtLogon $true
echo \"Utilisateur ajouté : $name\"
} catch { echo \"Utilisateur non ajouté : $name\" }
}[/code:1]
Je me suis aidé de ce que j'ai vu sur internet mais je ne comprends pas pourquoi il pose un problème sur la création des OU....
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 8 ans 1 semaine #25110
par Philippe
Réponse de Philippe sur le sujet Re:Soucis sur mon powershell AD
salut Beeninouu et bienvenue
je ne vois pas d'erreur dans ton script sauf peut etre
[code:1]$organisation = New-ADOrganizationalUnit -Name \"Test\" ....[/code:1]New-ADOrganizationalUnit ne renvoie rien pas défaut, voir la doc : \"Returns the new OU object when the PassThru parameter is specified. By default, this cmdlet does not generate any output.\"
$organisation ce retrouve donc vide pour la suite de tes creation !
sinon un message d'erreur serais un plus pour que l'on t'aide<br><br>Message édité par: 6ratgus, à: 12/03/18 11:39
je ne vois pas d'erreur dans ton script sauf peut etre
[code:1]$organisation = New-ADOrganizationalUnit -Name \"Test\" ....[/code:1]New-ADOrganizationalUnit ne renvoie rien pas défaut, voir la doc : \"Returns the new OU object when the PassThru parameter is specified. By default, this cmdlet does not generate any output.\"
$organisation ce retrouve donc vide pour la suite de tes creation !
sinon un message d'erreur serais un plus pour que l'on t'aide<br><br>Message édité par: 6ratgus, à: 12/03/18 11:39
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 8 ans 5 jours #25117
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Soucis sur mon powershell AD
Bonjour Beeninouu,
Eh oui, pour que nous puissions t'aider, il nous faut plus d'informations sur ce qui ne fonctionne pas...
Arnaud
Eh oui, pour que nous puissions t'aider, il nous faut plus d'informations sur ce qui ne fonctionne pas...
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Benjamin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 15
- Remerciements reçus 0
il y a 7 ans 11 mois #25182
par Benjamin
Réponse de Benjamin sur le sujet Re:Soucis sur mon powershell AD
Je vous envoi un screenshot des différentes erreurs présentes dès que je suis rentré
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 7 ans 11 mois #25185
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Soucis sur mon powershell AD
Bonjour,
En voyant cette partie de code :
[code:1]
# Création de l'OU \"Utilisateurs\"
$organisation = New-ADOrganizationalUnit -Name \"Test\" -Path \"dc=$nomdomaine,dc=$extensiondomaine\"
# Création des OUs secondaires pour les différents services
New-ADOrganizationalUnit -Name \"Direction\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
[/code:1]
Je pense que ton erreur est dans la réutilisation de ta variable $organisation.
En effet, dans ta seconde ligne, $organisation devrait contenir une chaine alors qu'elle contient le retour de ta première commande (soit null, soit un objet de type Unité d'Organisation).
Arnaud
En voyant cette partie de code :
[code:1]
# Création de l'OU \"Utilisateurs\"
$organisation = New-ADOrganizationalUnit -Name \"Test\" -Path \"dc=$nomdomaine,dc=$extensiondomaine\"
# Création des OUs secondaires pour les différents services
New-ADOrganizationalUnit -Name \"Direction\" -Path \"ou=$organisation,dc=$nomdomaine,dc=$extensiondomaine\"
[/code:1]
Je pense que ton erreur est dans la réutilisation de ta variable $organisation.
En effet, dans ta seconde ligne, $organisation devrait contenir une chaine alors qu'elle contient le retour de ta première commande (soit null, soit un objet de type Unité d'Organisation).
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 7 ans 11 mois #25186
par Philippe
par de screenshot
pour reprendre la réponse de Arnaud et la premiere réponse que je t'ai donner, c'est bien la variable $organisation ou le problème ce trouve
elle est vide alors qu'elle devrais contenir le nom de l'OU test qui viens d'être créé !
juste apres cette ligne :[code:1]$organisation = New-ADOrganizationalUnit -Name \"Test\" -Path \"dc=$nomdomaine,dc=$extensiondomaine\" [/code:1]il faut que tu rajoute
soit :[code:1]$organisation = \"Test\" [/code:1]
ou soit :[code:1]$organisation = (get-ADOrganizationalUnit -Identity \"OU=Test,dc=$nomdomaine,dc=$extensiondomaine\"«»).name
[/code:1]
au choix a toi de voir !!
Réponse de Philippe sur le sujet Re:Soucis sur mon powershell AD
stp un copier/coller du text suffit,Je vous envoi un screenshot des différentes erreurs
par de screenshot
pour reprendre la réponse de Arnaud et la premiere réponse que je t'ai donner, c'est bien la variable $organisation ou le problème ce trouve
elle est vide alors qu'elle devrais contenir le nom de l'OU test qui viens d'être créé !
juste apres cette ligne :[code:1]$organisation = New-ADOrganizationalUnit -Name \"Test\" -Path \"dc=$nomdomaine,dc=$extensiondomaine\" [/code:1]il faut que tu rajoute
soit :[code:1]$organisation = \"Test\" [/code:1]
ou soit :[code:1]$organisation = (get-ADOrganizationalUnit -Identity \"OU=Test,dc=$nomdomaine,dc=$extensiondomaine\"«»).name
[/code:1]
au choix a toi de voir !!
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.103 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Soucis sur mon powershell AD