Question recupération des "memberof" d'un utilisateur et import dans un autre utilisateur

Plus d'informations
il y a 1 an 10 mois #32332 par Fabrice
Bonjour
J'espère trouver de l'aide pour commencer avec powershell..

Je m'explique, je voudrais récupérer d'un utilisateur, tout les groupes auquel il appartient, pour ensuite les importer dans un autre compte, mais avec plusieurs étape
la ligne de commande que j'ai trouvé pour l'export dans un fichier csv c'est 
Get-ADUser -Identity fabrice -Properties memberof | Select-Object memberof -ExpandProperty memberof > admember.csv

ca m'exporte bien dans le fichier "admembers.csv" tous les groupes a qui appartient "Fabrice"

mais ce que je souhaite, c'est une commande, qui lors de son exécution, m'affiche une ligne qui me demande depuis quel compte user je veux copier les groupes

Et ensuite une autre ligne de commande pour importer le fichier csv, mais toujours en me demandant vers quel compte destinataire le copier, et que lors de l'import, il exclu certains groupe.

J'espère être arrivé à me faire comprendre
Merci à tous ceux qui pourront m'aider
 

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

Plus d'informations
il y a 1 an 10 mois #32336 par Laurent Dardenne
Salut,
>>la ligne de commande que j'ai trouvé pour l'export dans un fichier csv
Le cmdlet pour exporter en csv est Export-csv / Import-csv, ici tu utilises un fichier texte qui n'est pas structuré ( cf. redirection) .

>>m'affiche une ligne qui me demande
En mode console essaie Read-Host.

>>ensuite une autre ligne de commande pour importer le fichier csv,
Dans ton cas ce sera Get-Content.

>> lors de l'import, il exclu certains groupes.
Essaie avec Where-Object {$_ -notIn @('grp1Exclu','grp2Eclu')}

Mais si c'est l'utilisateur qui les choisi ce sera mal aisé en mode console...

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 10 mois #32345 par Fabrice
Bonjour Laurent

merci pour ton aide, j'avance petit à petit dans ce que je veux faire
pour le moment j'ai ca :

# demande du nom du compte source ou récupérer les OU ou il a les droits 
$useraccount = read-host "Please enter login account source "

# copie dans un fichier admember.csv des groupes de travail
Get-ADUser -Identity $useraccount -Properties memberof | Select-Object memberof -ExpandProperty memberof > admember.csv

# demande du nom du compte destination ou importer les OU sauvegardées
$useraccountfinal = read-host "Please enter login account destination "


A PARTIR DE LA CA MARCHE PLUS :(

#lecture du fichier CSV
$CSV = Import-CSV -Path "C:\TEMP\admember.csv" -Delimiter ","

#Import dans le compte final
Get-Content $CSV -Identity $useraccountfinal 

si vous pouvez m'aider
mon fichier CSV se présente sous cette forme
CN=SG_Lyo_Proj_Projet1,OU=Projects,OU=Security Groups,OU=Groups,OU=Ville,DC=domaine,DC=domaine,DC=com
CN=SG_Lyo_Proj_Projet2,OU=Projects,OU=Security Groups,OU=Groups,OU=Ville,DC=domaine,DC=domaine,DC=com
CN=SG_Lyo_Proj_Projet3,OU=Projects,OU=Security Groups,OU=Groups,OU=Ville,DC=domaine,DC=domaine,DC=com

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

Plus d'informations
il y a 1 an 10 mois #32348 par Laurent Dardenne
Pour
$CSV = Import-CSV -Path "C:\TEMP\admember.csv" -Delimiter ","
Import-CSV lit un fichier structuré au format .CSV, ce que n'est pas ton fichier, car il est créé par une redirection qui ne structure rien à part le retour chariot et line feed.

Tu dois donc soit enregistrer ton fichier dans un format et le coupler avec le cmdlet adéquate (regarde avec Get-Command -Verb Import,Export | Group-Object -property Noun) soit laisser en l"état et lire ton fichier avec Get-Content.

On utilise le même délimiter pour créer et lire le fichier, car cette information paramètre la structure du .CSV

Et ceci semble erroné : Get-Content $CSV -Identity $useraccountfinal

Mais dans ton cas il me semble qu'il va falloir procéder autrement et analyser ce que tu manipules. Par exemple ton chemin AD est tjr identique ormis le nom de groupe? i.e. les groupes seront tjr dans la même OU ?

>>J'espère trouver de l'aide pour commencer avec powershell..
Avant de coder il faut déjà écrire les specs, même si elles tiennent en qq lignes.

Tutoriels PowerShell

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

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