Question Lister les groupes locaux d'un utilisateur

Plus d'informations
il y a 9 ans 6 mois #22304 par MAGNOUWAI
Bonjour,

Je ne connais rien en scripting powershell mais j'ai besoin d'un script qui permet de lister les groupes locaux seulement locaux auxquels appartient un utilisateur. Le nom de l'utilisateur étant un paramètre.
Il y'a un serveur sur lequel est installé l'AD et c'est sur ce serveur qu'on crée les utilisateurs. Sur une autre machine on crée des groupes et c'est sur cette machine que je dois exécuter le script.
J'ai fait des recherches mais jusque là je n'ai pas trouvé le résultat que je veux. Je trouve juste la liste des groupes AD de l'utilisateur:(
Je travaille sous Windows Server 2008 R2 Entreprise.
Prière à vous de m'aider à trouver une solution.
Merci

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

Plus d'informations
il y a 9 ans 5 mois #22319 par Philippe
salut Nina

Il y'a un serveur sur lequel est installé l'AD et c'est sur ce serveur qu'on crée les utilisateurs. Sur une autre machine on crée des groupes et c'est sur cette machine que je dois exécuter le script.

J'ai fait des recherches mais jusque là je n'ai pas trouvé le résultat que je veux. Je trouve juste la liste des groupes AD de l'utilisateur

quand tu parle de groupes locaux tu parle bien de groupes sur un seul ordinateur et donc non present sur un autre ordi ou dans l'AD ?
dans ce cas tu dois travaillé sur plusieurs sujet :
- listé les ordi concerné (serveurs ou/et stations de travails)
- avoir les droit d'accès à distance a ces ordi
- faire une requête ADSI pour récupéré les groupes de l'utilisateur sur ordi
- faire une boucle pour faire le travail sur chaque ordi listé

si ta bien compris les groupes locaux ne sont pas visible dans l'AD

tu pourra alors utilisé le script donner dans ce forum pour faire le travail<br><br>Message édité par: 6ratgus, à: 23/09/16 13:01

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

Plus d'informations
il y a 9 ans 5 mois #22320 par MAGNOUWAI
Bonjour Ratgus,

Merci pour ta réponse.
Oui quand je parle des groupes locaux ceux sont des groupes qui n'existent pas dans l'AD. Et c'est seulement sur une machine que je travaille. J'ai déjà accès à distance sur la machine sur laquelle se trouve les groupes locaux.

Je vais regarder le script pour voir si ça va marcher.

Merci beaucoup

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

Plus d'informations
il y a 9 ans 5 mois #22324 par Philippe
j'ai simplifier le script avoir les groupes d'un utilisateur local :

[code:1]$ordinateur = $env:COMPUTERNAME
$utilisateur = \&quot;nina\&quot;
$adsi = [ADSI]\&quot;WinNT://$ordinateur\&quot;
($adsi.Children | where {$_.SchemaClassName -eq 'user'} | where {$_.name -eq $utilisateur} ).groups() | Foreach-Object {$_.GetType().InvokeMember(\&quot;Name\&quot;, 'GetProperty', $null, $_, $null)}
[/code:1]

petit rappel en espérant ne pas me trompé !! :
- un utilisateur local ne peut être que dans un groupe local
- un utilisateur Domaine peut être dans des groupes locaux et du domaine (mais on ne verra dans \&quot;member of\&quot; que les groupes du domaine)
- un groupe local peut avoir comme membres que des utilisateurs locaux et Domaine
- un groupe du domaine ne peut pas avoir comme membres que des utilisateurs du domaine
- un groupe du domaine peut être membre de groupes locaux ou du domaine
- un groupe local ne peut pas être membre de groupes locaux (je ne parle pas des entités de sécurité intégrées)
- un groupe local ne peut pas être membre de groupes du domaine


tout ça pour dire que quand on gère les droits dans un domaine avec des resources local, il faut bien s'organisé en utilisant par exemple ADGLP et un bon système de nommage des groupes pour ne pas ce perdre en route !!! :blink:<br><br>Message édité par: 6ratgus, à: 23/09/16 15:55

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

Plus d'informations
il y a 9 ans 5 mois #22325 par MAGNOUWAI
Merci pour tes explications

J'ai essayer le script ça n'a pas marché.
Le script m'affiche juste les utilisateurs qui sont sur la machine c'est -à-dire des utilisateurs locaux or mes groupes locaux contiennent des utilisateurs qui ont été créés dans l'AD (des utilisateurs du domaine). Ce que j'aimerais afficher c'est la liste des groupes locaux d'un utilisateur du domaine et pas les groupes d'un utilisateur local.

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

Plus d'informations
il y a 9 ans 5 mois #22336 par Philippe
salut Nina

apres quelques longues recherche j'ai réussi a trouvé ce code :
[code:1]$utilisateur = \&quot;tondomaine/lelogin\&quot;
$computerName = $env:COMPUTERNAME

$computer = [ADSI]\&quot;WinNT://$computerName,computer\&quot;
$groups = $computer.psbase.Children | Where-object { $_.psbase.schemaclassname -eq 'group' }

foreach ($group in $groups) {
$users = $group.psbase.invoke(\&quot;Members\&quot;«»)

#write-host $group.name -ForegroundColor Blue
if ($users -ne $null) {
foreach ($user in $users) {
write-host $user.GetType().InvokeMember(\&quot;AdsPath\&quot;,\&quot;GetProperty\&quot;,$null,$user,$null) -ForegroundColor DarkYellow
if (($user.GetType().InvokeMember(\&quot;Name\&quot;,\&quot;GetProperty\&quot;,$null,$user,$null) -split \&quot;.+/(.+/.+)$\&quot;«») -eq $utilisateur) {
write-host $group.name -ForegroundColor Green
}
}
}
}
[/code:1]

dit moi si ça correspond a tes attentes,

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

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