Question
Déplacement user dans Group
- Dupont
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 48
- Remerciements reçus 0
J'ai trouvé ça pour extraire des chaînes de caractère mais je n'y parviens pas , je vous montre --'
[code:1]Import-Module ActiveDirectory
$usersCreated = Import-Csv -Encoding UTF8 -Path C:\Projet2\Group2.csv | select sAMAccountName,GroupeTest,Groupe2,Groupe3
$i = 0
foreach ($ligne in $usersCreated)
{
$i = $i + 1
if ($i -eq 1)
{
}
if ($i -eq 2)
{
$NameG1=$_.Split(\",\"«»)[1]
$NameG2=$_.Split(\",\"«»)[2]
$NameG3=$_.Split(\",\"«»)[3]
}
if ($i -gt 2)
{
$SAM= $usersCreated.SamAccountName
$val1=$_.Split(\",\"«»)[1]
$val2=$_.Split(\",\"«»)[2]
$val3=$_.Split(\",\"«»)[3]
if($val1 -eq 1)
{
Add-ADGroupMember -Identity $NameG1 -Members $SAM -Confirm #Insérer $SamName dans $NameG1
}
else
{
Remove-ADGroupMember -Identity $NameG1 -Members $SAM -Confirm #Enlever $SamName de $NameG1
}
if($val2 -eq 1)
{
Add-ADGroupMember -Identity $NameG2 -Members $SAM -Confirm #Insérer $SamName dans $NameG2
}
else
{
Remove-ADGroupMember -Identity $NameG2 -Members $SAM -Confirm #Enlever $SamName de $NameG2
}
if($val3 -eq 1)
{
Add-ADGroupMember -Identity $NameG3 -Members $SAM -Confirm #Insérer $SamName dans $NameG3
}
else
{
Remove-ADGroupMember -Identity $NameG3 -Members $SAM #Enlever $SamName de $NameG3
}[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
si tu t'es pas tromper dans les if il demandera une confirmation au maximum que trois fois pour chaque utilisateurle script va me demander 4 fois si je veux déplacer chaque utilisateur
1) pourquoi demander une confirmation si le fichier contient des info fiable ?le script va me demander si je veux déplacer chaque utilisateur sans se soucier que seul au final \"lagaui01d\" et \"derrierg01d\" devraient être déplacés
2) si tu dois obligatoirement faire une confirmation, fais qu'un demande avec read-host par exemple plutôt qu'une confirmation à l'ajout dans le nouveau puis une deuxième confirmation à la suppression de ancien groupe
je veux bien te faire un cours sur l'analyse algorithmique mais dans un forum c'est pas pratique et ici ce n'est pas le sujetLe truc c'est que j'arrive pas à construire l'algorithme xD
je voudrait aussi évité de faire le script à ta place, c'st toi qui a besoin d'apprendre pas moi
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
bonne nouvelleDepuis le même Csv mon tuteur m'a aidé algorithmiquement parlant
Bon quand je vois ton code je confirmemais étant naze en powershell...
plus sérieusement :
Import-Csv permet de lire un fichier pour une utilisation simple en mode objet, et donc évité les split et autres systèmes de découpage de chaines
ton précèdent script été bien la dessus.
si le delimiteur a changer dans le fichier (la virgule) tu peut l'indiqué avec Import-Csv -Delimiter \",\"
tel que tu a fait ton script si tu rajoute un utilisateur déjà existent tu aura une Erreurl'erreur de supprimer d'un groupe un utilisateur inexistant soit pas dramatique en soi )
c'est pas dramatique mais a force de voir des erreurs çà peut t'empêché de voir si il y a d'autre type erreur
Connexion ou Créer un compte pour participer à la conversation.
- Dupont
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 48
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- Dupont
- Auteur du sujet
- Hors Ligne
- Membre senior
-
- Messages : 48
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
- Messages : 1778
- Remerciements reçus 21
Sauf que mon script précédent ne permettait pas de récupérer chaque valeur une par une
si tu fait ceci a tu la premiere ligne de ton fichier ?
[code:1]$usersCreated = Import-Csv -Encoding UTF8 -Path C:\Projet2\Group2.csv -Delimiter \",\"
$usersCreated[0][0] # affiche sAMAccountName du premiere utilisateur
$usersCreated[0][1] # affiche premiere groupe du premiere utilisateur
$usersCreated[0][2] # affiche deuxieme groupe du premiere utilisateur
[/code:1]<br><br>Message édité par: 6ratgus, à: 2/02/15 16:11
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Déplacement user dans Group