Question Création d'OU..Problème

Plus d'informations
il y a 12 ans 7 mois #15572 par jean
Réponse de jean sur le sujet Re:Création d'OU..Problème
C'est exactement pareil que toi mon fichier csv SAUF que :

La première OU est la même soit :

[code:1]test\domaine\lan

test\testN1\domaine\lan[/code:1]

Fais ça et tu verras une erreur normalement..

Oui j'ai bien ISE et j'ai fait le pas à pas et je vois qui rentre dans mon catch mais je sais pas pourquoi.<br><br>Message édité par: jean21, à: 9/08/13 16:52

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

Plus d'informations
il y a 12 ans 7 mois #15573 par Philippe
Réponse de Philippe sur le sujet Re:Création d'OU..Problème
j'ai modifier ton script et j'ai trouver de suite ou été l'erreur :
[code:1]
#Importation du fichier CSV et creation du lien LDAP
Import-CSV \&quot;C:\test1.csv\&quot; | Foreach {

#On recupere le champ \&quot;ou\&quot; du fichier CSV
$ch = $_.ou
$ch
#On split le champ \&quot;ou\&quot; sous forme de tableau
$extract = $ch.Split(\&quot;\\&quot;«»)
$extract
#On recupere la taille du tableau
$taille = $extract.Length-1
$taille
try
{
#Creation des OU (1er niveau)
$(\&quot;DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille])
$extract[0]
New-ADOrganizationalUnit -Name $extract[0] -Path $(\&quot;DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille]) -ProtectedFromAccidentalDeletion $false

#Creation OU (2eme niveau)
if ($taille -gt 2)
{
$(\&quot;OU=\&quot;+($extract[0])+\&quot;,DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille])
$extract[1]
New-ADOrganizationalUnit -Name $extract[1] -Path $(\&quot;OU=\&quot;+($extract[0])+\&quot;,DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille]) -ProtectedFromAccidentalDeletion $false
}
#Creation OU (3eme niveau)
if($taille -gt 3)
{
$(\&quot;OU=\&quot;+($extract[1])+\&quot;,OU=\&quot;+($extract[0])+\&quot;,DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille])
$extract[2]
New-ADOrganizationalUnit -Name $extract[2] -Path $(\&quot;OU=\&quot;+($extract[1])+\&quot;,OU=\&quot;+($extract[0])+\&quot;,DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille]) -ProtectedFromAccidentalDeletion $false
}
#Creation OU (4eme niveau)
if($taille -gt 4)
{
$(\&quot;OU=\&quot;+($extract[2])+\&quot;,OU=\&quot;+($extract[1])+\&quot;,OU=\&quot;+($extract[0])+\&quot;,DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille])
$extract[3]
New-ADOrganizationalUnit -Name $extract[3] -Path $(\&quot;OU=\&quot;+($extract[2])+\&quot;,OU=\&quot;+($extract[1])+\&quot;,OU=\&quot;+($extract[0])+\&quot;,DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille]) -ProtectedFromAccidentalDeletion $false
}
if($taille -gt 5)
{
$(\&quot;OU=\&quot;+($extract[3])+\&quot;,OU=\&quot;+($extract[2])+\&quot;,OU=\&quot;+($extract[1])+\&quot;,OU=\&quot;+($extract[0])+\&quot;,DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille])
$extract[4]
New-ADOrganizationalUnit -Name $extract[4] -Path $(\&quot;OU=\&quot;+($extract[3])+\&quot;,OU=\&quot;+($extract[2])+\&quot;,OU=\&quot;+($extract[1])+\&quot;,OU=\&quot;+($extract[0])+\&quot;,DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille]) -ProtectedFromAccidentalDeletion $false
}
}
catch
{
Write-Host \&quot;erreur\&quot;
}
}[/code:1]

ta encore des problemes index ici
[code:1] New-ADOrganizationalUnit -Name $extract[0] -Path $(\&quot;DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extrac.....[/code:1]pour \&quot;-name $extractu]0[/u\&quot; essai plutot avec $extract[$taille-2] puis -3 etc...
je te laisse regarder pour trouver ta solution
je reviens lundi pour la suite

bon week end

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

Plus d'informations
il y a 12 ans 7 mois #15576 par jean
Réponse de jean sur le sujet Re:Création d'OU..Problème
Salut,

Alors voilà, j'ai regardé le pas à pas détaillé et quand dans mon fichier csv je met :

Filiale\Entreprise\Manager\domaine\fr

Et sur ce code :

[code:1]$taille = $extract.Length[/code:1]

$taille est égale à 2 :blink:

Sachant qu'extract est le tableau splité il devrait être de taille 4 nan ? Est ce normal ou pense tu que cela vient de mon fichier csv ?

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

Plus d'informations
il y a 12 ans 7 mois #15577 par Philippe
Réponse de Philippe sur le sujet Re:Création d'OU..Problème
on doit pas avoir le meme code
car moi j'ai bien 4
pour [code:1]\&quot;Filiale\Entreprise\Manager\domaine\fr\&quot;[/code:1]

contenue de mon fichier csv :[code:1]\&quot;OU\&quot;
\&quot;Filiale\Entreprise\Manager\domaine\fr\&quot;
test\domaine\lan

test\testN1\domaine\lan[/code:1]

par contre petit conseil en passant
pour la phase developpement/debugage de ton script tu ne devrais pas mettre les try-catch
car ca tu ne vois pas le message d'erreur que tu pourrais avoir
et les rajoutes apres quand t'es sur que ton code fonctionne
pour pouvoir gere les possibles problemes de fonctionnement \&quot;normal\&quot; (ex: une OU existe deja)



mais ton probleme principale n'est pas la
dans [code:1] New-ADOrganizationalUnit -Name $extract[0] -Path $(\&quot;DC=.....[/code:1]ton extract spliter est indexer par rapport au debut or il faut creer tes OU a partir de la racine donc de la fin de ta chaine extract

d'ou remplacer [code:1]$extract[0][/code:1]par[code:1]$extract[$taille-2][/code:1]
pour ton premier New-ADOrganizationalUnit pour avoir dans exemple manager

puis remplacer $extract[0] par $extract[$taille-3]pour ton deuxieme New-ADOrganizationalUnit pour avoir dans exemple entreprisse
etc etc etc

ce qui donne pour la premiere ligne de New-ADOrganizationalUnit[code:1]New-ADOrganizationalUnit -Name $extract[$taille-2] -Path $(\&quot;DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille]) -ProtectedFromAccidentalDeletion $false
[/code:1] pour la deuxieme ligne [code:1]New-ADOrganizationalUnit -Name $extract[$taille-3] -Path $(\&quot;OU=\&quot;+($extract[$taille-2])+\&quot;,DC=\&quot;+($extract[$taille-1])+\&quot;,DC=\&quot;+$extract[$taille]) -ProtectedFromAccidentalDeletion $false
[/code:1]
et remarque le -path qui a aussi changer pour suivre l'arborescence des OU<br><br>Message édité par: 6ratgus, à: 12/08/13 10:58

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

Plus d'informations
il y a 12 ans 7 mois #15578 par jean
Réponse de jean sur le sujet Re:Création d'OU..Problème
Ah nan au temps pour moi la taille est bonne..

Ah super ! Ça a marché malgré qui me mette une erreur quand même..\&quot;Une tentative d'ajout...\&quot;

C'est pas possible de l'enlever cette erreur ? Avec un Silent par exemple ?


Une autre remarque : Ton code marche mais je suis obliger de mettre le lien à l'envers :

Par exemple pour qu'entreprise sois à la racine, je suis obligé de mettre dans le fichier csv :

..../.../Entreprise soit à la fin du lien..alors que moi j'aurais préféré mettre : Entreprise/.../...

Et j'aurais aimé le mettre au début : C'est pour cela que j'ai mis extract[0] etc etc..Mais c'est bizarre ça ne marche pas..<br><br>Message édité par: jean21, à: 12/08/13 14:40

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

Plus d'informations
il y a 12 ans 7 mois #15579 par Philippe
Réponse de Philippe sur le sujet Re:Création d'OU..Problème
pour ce message :
[code:1]New-ADOrganizationalUnit : Une tentative d’ajout d’un objet dans l’annuaire avec un nom déjà utilisé s’est produite........[/code:1]
l'OU existe deja, tu peut testé quel existe avec par exemple :
[code:1]if (![ADSI]::exists(\&quot;LDAP://OU=test,DC=domaine,DC=lan\&quot;«»))
{
# L OU n'existe pas la créer
new-adorganiz.....
}[/code:1]
comme ca plus de message d'erreur a gere pour ce probleme

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

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