Question
Soucis sur mon powershell AD
- Benjamin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 15
- Remerciements reçus 0
Import-Module 'Microsoft.PowerShell.Security'
$users = Import-Csv -Delimiter \";\" -Path \"C:\add\import.csv\"
# Déclaration du nom de domaine
$nomdomaine = \"winserv\"
$extension = \"org\"
# Création des OU
$ouprincipale = \"BTB\"
New-ADOrganizationalUnit -Name \"$ouprincipale\" -Path \"dc=$nomdomaine,dc=$extension\"
New-ADOrganizationalUnit -Name \"Direction\" -Path \"ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"
New-ADOrganizationalUnit -Name \"SAV\" -Path \"ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"
New-ADOrganizationalUnit -Name \"SP1\" -Path \"ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"
New-ADOrganizationalUnit -Name \"SP2\" -Path \"ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"
New-ADOrganizationalUnit -Name \"Informatique\" -Path \"ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"
New-ADOrganizationalUnit -Name \"Administratif\" -Path \"ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"
# Création des utilisateurs
foreach ($user in $users){
$name = $user.Prenom + \" \" + $user.Nom
$prenom = $user.Prenom
$nom = $user.Nom
$login = $user.Prenom + \".\" + $user.Nom
$password = $user.Password
$service = $user.Service
switch($user.Service) {
\"Direction\" {$service = \"ou=Direction,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
\"SAV\" {$service = \"ou=SAV,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
\"SP1\" {$service = \"ou=SP1,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
\"SP2\" {$service = \"ou=SP2,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
\"Informatique\" {$service = \"ou=Informatique,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
\"Administratif\" {$service = \"ou=Administratif,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
default {$service = $null}
}
try {
New-ADUser -Name $name -SamAccountName $login -UserPrincipalName $login -DisplayName $name -GivenName $prenom -Surname $nom -AccountPassword (ConvertTo-SecureString $password -AsPlainText -Force) -Path $service -Enabled $true
echo \"Compte crée : $name\"
}
catch {
echo \"Compte non crée : $name\"
}
}[/code:1]
Voilà, merci pour vos réponses le script fonctionne parfaitement et désolé pour le temps de réponse de ma part..
Je voudrais gérer les homonymes car il me bloque en me disant que le User existe déjà, ainsi que le surplus de caractères des prénoms ?
Y'a t'il une façon particulière de gérer ceci ?
PS : Pour que l'ajout soit sans soucis, je dois supprimer la partie avec Try et Catch car cela ne fonctionne pas.. Il ne m'ajoute aucun User<br><br>Message édité par: Beeninouu, à: 4/04/18 11:01
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
Malheureusement il n'y a pas de technique près programmer, puisque le nommage des comptes varis une entreprise a l'autreJe voudrais gérer les homonymes car il me bloque en me disant que le User existe déjà, ainsi que le surplus de caractères des prénoms ?
Y'a t'il une façon particulière de gérer ceci ?
l'un préfère le prénom avant autre après d'autre ne veule que la premiere lettre
idem pour le login qui parfois est constituer d'initiale suivie de quelques chiffres
tu peut regarder ici pour une base et on regarde ensemble pour peaufiner le script
Connexion ou Créer un compte pour participer à la conversation.
- Benjamin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 15
- Remerciements reçus 0
J'ai maintenant séparé en plusieurs scripts, c-a-d :
script 1 : créer mes OU (marche parfaitement)
script 2 : créer mes groupes (marche parfaitement)
script 3 : créer mes utilisateurs dans les OU et les groupes (marche parfaitement)
script 4 : créer mes PCs dans les différentes ou MAIS PAS DANS LES GROUPES
il me renvoi une erreur comme quoi il ne trouve pas le chemin voici le code :
[code:1]Import-Module ActiveDirectory
Import-Module 'Microsoft.PowerShell.Security'
$users = Import-Csv -Delimiter \";\" -Path \"C:\effectif.csv\"
# Déclaration des variables
$nomdomaine = \"winserv\" # Nom de domaine
$extension = \"org\" # Extension du domaine
$ouprincipale = \"BTB\" # Nom de l'OU
# Création des Ordinateurs
foreach ($user in $users) {
$login = $user.Login
$service = $user.Service
$namePC = $user.PC
switch($user.Service) {
\"Direction\" {$service = \"ou=Direction,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
\"SAV\" {$service = \"ou=SAV,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
\"SP1\" {$service = \"ou=SP1,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
\"SP2\" {$service = \"ou=SP2,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
\"Informatique\" {$service = \"ou=Informatique,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
\"Administratif\" {$service = \"ou=Administratif,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\"}
default {$service = $null}
}
New-ADComputer -Name $namePC -SamAccountName $login -Path $service
echo \"PC crée : $namePC\"
# Répartition des ordinateurs dans leurs groupes
if ($user.Service -eq \"Direction\"«») {
ADD-ADGroupMember “DirectionPC” –members $namePC
}
if ($user.Service -eq \"SAV\"«») {
ADD-ADGroupMember “SAVPC” –members $namePC
}
if ($user.Service -eq \"SP1\"«») {
ADD-ADGroupMember “SP1PC” –members $namePC
}
if ($user.Service -eq \"SP2\"«») {
ADD-ADGroupMember “SP2PC” –members $namePC
}
if ($user.Service -eq \"Administratif\"«») {
ADD-ADGroupMember “AdministratifPC” –members $namePC
}
if ($user.Service -eq \"Informatique\"«») {
ADD-ADGroupMember “InformatiquePC” –members $namePC
}
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
il serais plus pratique d'avoir le message d'erreur car la je vois rien de special !il me renvoi une erreur comme quoi il ne trouve pas le chemin voici le code :
c'est un soucis lier a celui d'un precedent message ?
PS : Pour que l'ajout soit sans soucis, je dois supprimer la partie avec Try et Catch car cela ne fonctionne pas.. Il ne m'ajoute aucun User
Connexion ou Créer un compte pour participer à la conversation.
- Benjamin
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 15
- Remerciements reçus 0
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
comme l'indique la doc , il faut que identifient soit un de ces quatre attributs :
•A distinguished name
•A GUID (objectGUID)
•A security identifier (objectSid)
•A SAM account name (sAMAccountName)
tu le problème quand tu fais un get-aduser B-RINGEVAL ?
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Soucis sur mon powershell AD