Question Créer un script pour liste les groupes et (surtout) les groupes hérités

Plus d'informations
il y a 1 an 6 mois #32613 par POYET
Bonjour à tous,

Je débute tout juste sur powershell et je cherche à effectuer une démarche de vérification des groupe AD d'un utilisateur mais dans la liste des groupes AD je souhaite également avoir le résultat des groupes AD hérités.
J'ai la commande pour récupérer l'ensemble des groupes AD d'un user mais je n'arrive pas à développer afin de pouvoir lister les groupes AD hérité:

Get-ADUser -Identity "Nom de l'utilisateur AD" -Properties MemberOf

Ensuite c'est le trou noir ...

Get-ADUser -Identity "Nom de l'utilisateur AD" -Properties MemberOf | -Recursive | Select Name, ObjectClass | sort-object -property Name | Export-csv -path C:\Log\Resultat_Extract_membres_groupe_AD.csv -NoTypeInformation

La deuxième partie est totalement innopérante ...

Si une âme généreuse peut m'aider cela fait une journée que je suis dessus et je patauge ...

Merci d'avance

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

Plus d'informations
il y a 1 an 6 mois #32615 par Laurent Dardenne
Ceci est faux, le paramètre n'existe pas sur le cmdlet Get-ADUser :
 | -Recursive 
Et le tiret est un caractère réservé il me semble, il ne peut être en première position d'un segment de pipeline.

Et si tu dois effectuer une recherche c'est sur un objet de type groupe (Get-ADGroupMember).
Dans un premier temps simplifie ta démarche en retirant les opérations inutiles, la console suffit pour étudier les objets. Ensuite l'historique de PSReadline gardera une trace de tes tentatives.

Tu dois comprendre comment sont reliés les objets. Un utilisateur ne contient pas d'autres utilisateurs, un groupe AD peut contenir des groupes et des users.Mais ça tu le sais déjà :-)

Une piste : Get-Command -Noun *Group*

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 6 mois #32616 par POYET
Bonjour et merci pour cette réponse.
En faite le début est bon a savoir "Get-ADUser -Identity "Nom de l'utilisateur AD" -Properties MemberOf", en effet le pipe suivis de la valeur -Recusrive n'existe pas.
En gros je dois réussir à récupérer le résultat de la première commande et l'utiliser ensuite afin de développer celui-ci en sous couche pour que soit listé les sous groupes et faire en sorte que si jamais il y a des doublons dans les sous groupes qu'ils n'apparaissent pas ensuite dans le fichier txt final.
Dans les fait j'ai bien compris la logique a employé mais dans la pratique je suis à la ramasse !
Je me renseigne encore ...

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

Plus d'informations
il y a 1 an 6 mois #32618 par Laurent Dardenne
Bonjour,
>>mais dans la pratique je suis à la ramasse !
Il faut déjà regarder la doc et ce que le module AD propose comme cmdlet pour ton besoin.
Recherche le cmdlet via Get-Command -Noun *Group*. Le reste devrait suivre.

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 6 mois #32620 par POYET
Bonjour,

J'ai un peu changer mon script afin d'être plus concis et précis sur le début de celui-ci:

Param (
[String]$Name =""
)
While (!$Name)
{
$Name = Read-Host "Nom du compte"
}

$Name = Get-ADUser $Name -Properties *

$Name.Name
$Name.Memberof

A la suite de celui-ci il faut que j'utilise un foreach afin de déterminer les éléments dont j'ai besoin d'effectuer le listing à savoir que chaque groupe auquel appartiens le User il faut que j'arrive à lister les sous groupes et c'est la que le bas blesse a nouveau ...

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

Plus d'informations
il y a 1 an 6 mois #32623 par POYET
Re bonjour,

Du coup j'ai planché un peu sur mon problème et j'ai effectué la démarche ainsi:

Param (
[String]$Name =""
)
While (!$Name)
{
$Name = Read-Host "Nom du compte"
}

$Name = Get-ADUser $Name -Properties *

$Name.Name
$Name.Memberof
foreach ($Name in $Name)
{
$username = $user.samaccountname
$groupname = $group.name
$line = "$username;$groupname"
Add-Content $targetFile $line
}

La problème c'est que ça ne change rien à mon résultat donc je pense que je boucle dans le vide.

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

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