Question Ne pas créer une O.U si elle existe déjà

Plus d'informations
il y a 13 ans 3 mois #13400 par Derickxsen
Bonjour

Je viens de tester le rajout de -ErrorAction SilentlyContinue et... j'ai toujours mes erreurs:S !!

A creuser :)

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

Plus d'informations
il y a 13 ans 3 mois #13405 par Arnaud Petitjean
Là je suis vraiment surpris... :blink:

Peux tu poster ton code ainsi que le message d'erreur STP ?

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.

Plus d'informations
il y a 13 ans 3 mois #13409 par Derickxsen
voici mon script. C'est surement pas beau pour vous mais je tiens à rappeler que je débute. Ca ne fait que deux semaines que je tâtonne!!:blush:

##########################################
# Importation du module active directory #
##########################################

Import-Module ActiveDirectory

##############################
# Importation du fichier CSV #
##############################

$Userse = Import-Csv -Path \"C:\Users\Administrateur\Desktop\eleves.csv\" -Delimiter \";\"
$Usersp = Import-Csv -Path \"C:\Users\Administrateur\Desktop\Professeurs.csv\" -Delimiter \";\"

####################
# Creation des O.U #
####################

New-ADOrganizationalUnit -Name eleves -Path \"DC=francois,DC=net \"
New-ADOrganizationalUnit -Name professeurs -Path \"DC=francois,DC=net \"

##########################################
# Creation des OU classes dans OU eleves #
##########################################

Foreach ($User in $Userse)
{
$OU=\"OU=eleves,DC=francois,DC=net\"
$Classe=$User.Classe

New-ADOrganizationalUnit -Name $Classe -Path \"OU=eleves,DC=francois,DC=net\" -ErrorAction SilentlyContinue
}

###############################
# Creation des comptes eleves #
###############################

Foreach ($User in $Userse)
{
$OU=\"OU=\"+$user.Classe +\",OU=eleves,DC=francois,DC=net\"
$Password=$User.Password
$DetailedName=$User.Prenom +\" \"+ $User.Nom
$UserFirstName=$User.Prenom
$UserLastName=$User.Nom
$FirstLetterFirstName=$UserFirstName.Substring(0,1)
$Log=$User.Login
$Sam=$UserFirstName.$UserLastName

New-ADUser -Name $DetailedName -SamAccountName $Log -UserPrincipalName $Sam -DisplayName $DetailedName -GivenName $UserFirstName -Surname $UserLastName -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $True -Path $OU
}

####################################
# Creation des comptes professeurs #
####################################

Foreach ($User in $Usersp)
{
$OU=\"OU=professeurs,DC=francois,DC=net\"
$Password=$User.Password
$DetailedName=$User.Prenom +\" \"+ $User.Nom
$UserFirstName=$User.Prenom
$UserLastName=$User.Nom
$FirstLetterFirstName=$UserFirstName.Substring(0,1)
$Log=$User.Login
$Sam=$UserFirstName.$UserLastName

New-ADUser -Name $DetailedName -SamAccountName $Log -UserPrincipalName $Sam -DisplayName $DetailedName -GivenName $UserFirstName -Surname $UserLastName -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $True -Path $OU
}

Et voici l'erreur qu'il me génère. Je suppose qu'il crée une fois la classe et comme il y a lusieurs élèves dans la même classe, à chaque fois qu'il rencontre la classe déjà crée il me met un message d'erreur.

New-ADOrganizationalUnit : Une tentative d’ajout d’un objet dans l’annuaire avec un nom déjà utilisé s’est produ
ite
Au niveau de C:\Users\Administrateur\Desktop\creation eleves.ps1 : 30 Caractère : 25
+ New-ADOrganizationalUnit <<<< -Name $Classe -Path \"OU=eleves,DC=francois,DC=net\" -ErrorAction SilentlyContinu
e
+ CategoryInfo : NotSpecified: (OU=3C,OU=eleves,DC=francois,DC=net:String) [New-ADOrganizationalUn
it], ADException
+ FullyQualifiedErrorId : Une tentative d’ajout d’un objet dans l’annuaire avec un nom déjà utilisé s’est p
roduite,Microsoft.ActiveDirectory.Management.Commands.NewADOrganizationalUnit

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

Plus d'informations
il y a 13 ans 3 mois #13410 par Laurent Dardenne
Arnaud écrit:

Peux tu poster ton code ainsi que le message d'erreur STP ?

Le mieux serait de renvoyer le résultat d'un appel à la fonction Resolve-Error (dispo sur le net).
Arnaud écrit:

Contrairement au fait de modifier l'etat de la variable $ErrorActionPreference, qui elle en effet s'applique a toute ta session.

J'avais un doute, mais aprés qq tests, celle-ci s'applique à la portée courante, et heureusement d'ailleurs :)

[edit]
too late<br><br>Message édité par: Laurent Dardenne, à: 20/12/12 13:50

Tutoriels PowerShell

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

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