Question
Création d'OU après test d'existance.
- Lemoine
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 12
- Remerciements reçus 0
il y a 16 ans 1 mois #1731
par Lemoine
Création d'OU après test d'existance. a été créé par Lemoine
Bonsoir a tous et oui encore moi avec un autre problème.
Ce script permet de vérifier (avec les paramètres dans un fichier csv...)l'existance ou non d'une OU dans active directory.
Si elle existe déjà alors elle continue son chemin.
Si elle n'existe pas elle doit proposer a l'utilisateur du script si il(/elle) veut la créer et moi c'est la que je bloque.
Je m'explique, je propose bien à l'utilisateur de faire un choix mais quelque soit ce choix le script crée l'OU,
pas très intéressant dans la prise en compte d'une possible faute de frappe de l'utilisateur aux niveau du fichier csv.
bref voici mon code
Ce script permet de vérifier (avec les paramètres dans un fichier csv...)l'existance ou non d'une OU dans active directory.
Si elle existe déjà alors elle continue son chemin.
Si elle n'existe pas elle doit proposer a l'utilisateur du script si il(/elle) veut la créer et moi c'est la que je bloque.
Je m'explique, je propose bien à l'utilisateur de faire un choix mais quelque soit ce choix le script crée l'OU,
pas très intéressant dans la prise en compte d'une possible faute de frappe de l'utilisateur aux niveau du fichier csv.
bref voici mon code
Connexion ou Créer un compte pour participer à la conversation.
- Lemoine
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 12
- Remerciements reçus 0
il y a 16 ans 1 mois #1732
par Lemoine
Réponse de Lemoine sur le sujet Re:Création d'OU après test d'existance.
Avec le code sa ira mieux...
[code:1]
$ldapQuery = \"(&(objectCategory=organizationalUnit)(ou=$OUsecondaire))\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
foreach ($i in $complist)
{
$i.path
}
$a=\"LDAP://OU=$OUsecondaire,OU=$OUprimaire,OU=$OUgeneral,cn=Users,DC=powershell-scripting,DC=com\"
$a
if ($a -eq $i.path)
{echo \"L'OU existe deja!\"}
else
{
$Yes = ([System.Management.Automation.Host.ChoiceDescription]\"&Oui\"«»)
$No = ([System.Management.Automation.Host.ChoiceDescription]\"&Non\"«»)
$choices = [System.Management.Automation.Host.ChoiceDescription[]]($no,$Yes)
$caption= 'Création OU'
$message=' Voulez vous créer une OU ' + $OUsecondaire + ' ?'
$answer = $host.ui.PromptForChoice($caption,$message,$choices,0)
if ($answer = 1)
{
$objDomain = [ADSI]\"LDAP://localhost:389/ou=$OUprimaire,ou=$OUgeneral,cn=Users,DC=powershell-scripting,DC=com\"
$objOU = $objDomain.Create(\"organizationalUnit\", \"ou=$OUsecondaire\"«»)
$objOU.SetInfo()
echo \"$OUsecondaire a été crée.\"
}
else
{
echo \"$OUsecondaire n'a pas été crée. (Le programme continue)\"
}
}
[/code:1]
En tout cas si quelqu'un a une idée
[code:1]
$ldapQuery = \"(&(objectCategory=organizationalUnit)(ou=$OUsecondaire))\"
$de = new-object system.directoryservices.directoryentry
$ads = new-object system.directoryservices.directorysearcher -argumentlist $de,$ldapQuery
$complist = $ads.findall()
foreach ($i in $complist)
{
$i.path
}
$a=\"LDAP://OU=$OUsecondaire,OU=$OUprimaire,OU=$OUgeneral,cn=Users,DC=powershell-scripting,DC=com\"
$a
if ($a -eq $i.path)
{echo \"L'OU existe deja!\"}
else
{
$Yes = ([System.Management.Automation.Host.ChoiceDescription]\"&Oui\"«»)
$No = ([System.Management.Automation.Host.ChoiceDescription]\"&Non\"«»)
$choices = [System.Management.Automation.Host.ChoiceDescription[]]($no,$Yes)
$caption= 'Création OU'
$message=' Voulez vous créer une OU ' + $OUsecondaire + ' ?'
$answer = $host.ui.PromptForChoice($caption,$message,$choices,0)
if ($answer = 1)
{
$objDomain = [ADSI]\"LDAP://localhost:389/ou=$OUprimaire,ou=$OUgeneral,cn=Users,DC=powershell-scripting,DC=com\"
$objOU = $objDomain.Create(\"organizationalUnit\", \"ou=$OUsecondaire\"«»)
$objOU.SetInfo()
echo \"$OUsecondaire a été crée.\"
}
else
{
echo \"$OUsecondaire n'a pas été crée. (Le programme continue)\"
}
}
[/code:1]
En tout cas si quelqu'un a une idée
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 16 ans 1 mois #1738
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:Création d'OU après test d'existance.
[code:1] if ($answer = 1)
{
...
}
[/code:1]
Et paf dans le panneau ! L'opérateur de comparaison est \"-eq\" et non le signe égal.
Arnaud
{
...
}
[/code:1]
Et paf dans le panneau ! L'opérateur de comparaison est \"-eq\" et non le signe égal.
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.
- Lemoine
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 12
- Remerciements reçus 0
il y a 16 ans 1 mois #1741
par Lemoine
Réponse de Lemoine sur le sujet Re:Création d'OU après test d'existance.
Et oui bien sur cela ma réveiller cette nuit comme un flash.Faut dire que cela me \"tourmente\" depuis quelque semaine.
Après modification cela fonctionne à merveille.
Merci pour tout:) .
Si cela vous intéresse quand mon script final qui vise a automatiser la création des comptes (sans doublons d'où les test d'existence) sera mis en ligne.(il me reste pas mal de boulot...
Après modification cela fonctionne à merveille.
Merci pour tout:) .
Si cela vous intéresse quand mon script final qui vise a automatiser la création des comptes (sans doublons d'où les test d'existence) sera mis en ligne.(il me reste pas mal de boulot...
Connexion ou Créer un compte pour participer à la conversation.
- maycry
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 119
- Remerciements reçus 0
il y a 16 ans 1 mois #1750
par maycry
Réponse de maycry sur le sujet Re:Création d'OU après test d'existance.
Pour la création d'utilisateur, je reste sous VBS et une jolie interface en HTA ^^ qui attribue les ACL au groupe voulu et la création de dossier personnel.
Certes PowerShell ^^ peut le faire aussi ^^
je t'encourage
Certes PowerShell ^^ peut le faire aussi ^^
je t'encourage
Connexion ou Créer un compte pour participer à la conversation.
- Lemoine
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 12
- Remerciements reçus 0
il y a 16 ans 1 mois #1764
par Lemoine
Réponse de Lemoine sur le sujet Re:Création d'OU après test d'existance.
chris écrit:
Salut,
moi perso je n'avai jamais fait de prog (dans le BTS que je prépare on nous a appris la prog sous Pascal alors le reste...). Mais la création d'utilisateur est un sujet de mon stage, les administrateurs réseau de la boite on un script VBS mais ils le juge incomplet et gère mal les erreurs (les messages ne sont pas clair \"erreur ligne xx\" donc le but pour moi est de recréer cela en powershell qu'ils jugent plus simple plus clair et surtout plus facile à maintenir mais le problème c'est qu'ils ne connaissent pas ce langage alors si j'ai besoin d'aide je peut me \"brosser...\"
Mais la je suis proche de la solution...
Pour la création d'utilisateur, je reste sous VBS et une jolie interface en HTA ^^ qui attribue les ACL au groupe voulu et la création de dossier personnel.
Certes PowerShell ^^ peut le faire aussi ^^
je t'encourage
Salut,
moi perso je n'avai jamais fait de prog (dans le BTS que je prépare on nous a appris la prog sous Pascal alors le reste...). Mais la création d'utilisateur est un sujet de mon stage, les administrateurs réseau de la boite on un script VBS mais ils le juge incomplet et gère mal les erreurs (les messages ne sont pas clair \"erreur ligne xx\" donc le but pour moi est de recréer cela en powershell qu'ils jugent plus simple plus clair et surtout plus facile à maintenir mais le problème c'est qu'ils ne connaissent pas ce langage alors si j'ai besoin d'aide je peut me \"brosser...\"
Mais la je suis proche de la solution...
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.079 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Création d'OU après test d'existance.