Question Soucis sur mon powershell AD

Plus d'informations
il y a 7 ans 11 mois #25253 par Benjamin
Réponse de Benjamin sur le sujet Re:Soucis sur mon powershell AD
[code:1]Import-Module ActiveDirectory
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.

Plus d'informations
il y a 7 ans 11 mois #25259 par Philippe
Réponse de Philippe sur le sujet Re:Soucis sur mon powershell AD

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 ?

Malheureusement il n'y a pas de technique près programmer, puisque le nommage des comptes varis une entreprise a l'autre
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.

Plus d'informations
il y a 7 ans 11 mois #25264 par Benjamin
Réponse de Benjamin sur le sujet Re:Soucis sur mon powershell AD
Voilà finalement j'ai adapté mon fichier Excel pour les homonyme avec rajout d'un chiffre et lors de la conversion en CSV plus rien ne pose problème.

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 \&quot;;\&quot; -Path \&quot;C:\effectif.csv\&quot;

# Déclaration des variables

$nomdomaine = \&quot;winserv\&quot; # Nom de domaine
$extension = \&quot;org\&quot; # Extension du domaine
$ouprincipale = \&quot;BTB\&quot; # Nom de l'OU

# Création des Ordinateurs

foreach ($user in $users) {

$login = $user.Login
$service = $user.Service
$namePC = $user.PC

switch($user.Service) {
\&quot;Direction\&quot; {$service = \&quot;ou=Direction,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\&quot;}
\&quot;SAV\&quot; {$service = \&quot;ou=SAV,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\&quot;}
\&quot;SP1\&quot; {$service = \&quot;ou=SP1,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\&quot;}
\&quot;SP2\&quot; {$service = \&quot;ou=SP2,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\&quot;}
\&quot;Informatique\&quot; {$service = \&quot;ou=Informatique,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\&quot;}
\&quot;Administratif\&quot; {$service = \&quot;ou=Administratif,ou=Ordinateurs,ou=$ouprincipale,dc=$nomdomaine,dc=$extension\&quot;}
default {$service = $null}
}

New-ADComputer -Name $namePC -SamAccountName $login -Path $service
echo \&quot;PC crée : $namePC\&quot;

# Répartition des ordinateurs dans leurs groupes

if ($user.Service -eq \&quot;Direction\&quot;«») {
ADD-ADGroupMember “DirectionPC” –members $namePC
}
if ($user.Service -eq \&quot;SAV\&quot;«») {
ADD-ADGroupMember “SAVPC” –members $namePC
}
if ($user.Service -eq \&quot;SP1\&quot;«») {
ADD-ADGroupMember “SP1PC” –members $namePC
}
if ($user.Service -eq \&quot;SP2\&quot;«») {
ADD-ADGroupMember “SP2PC” –members $namePC
}
if ($user.Service -eq \&quot;Administratif\&quot;«») {
ADD-ADGroupMember “AdministratifPC” –members $namePC
}
if ($user.Service -eq \&quot;Informatique\&quot;«») {
ADD-ADGroupMember “InformatiquePC” –members $namePC
}
}[/code:1]

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

Plus d'informations
il y a 7 ans 11 mois #25265 par Philippe
Réponse de Philippe sur le sujet Re:Soucis sur mon powershell AD

il me renvoi une erreur comme quoi il ne trouve pas le chemin voici le code :

il serais plus pratique d'avoir le message d'erreur car la je vois rien de special !

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.

Plus d'informations
il y a 7 ans 11 mois #25267 par Benjamin
Réponse de Benjamin sur le sujet Re:Soucis sur mon powershell AD


Pour ta dernière question j'ai réussi à régler le soucis

Message édité par: Beeninouu, à: 6/04/18 08:26<br><br>Message édité par: Beeninouu, à: 6/04/18 08:27

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

Plus d'informations
il y a 7 ans 11 mois #25268 par Philippe
Réponse de Philippe sur le sujet Re:Soucis sur mon powershell AD
le message est clair il ne trouve pas l'utilisateur

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.

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