Question
récuperer les groupes locaux d'une machine distant
- darphboubou
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 135
- Remerciements reçus 0
il y a 13 ans 5 mois #13125
par darphboubou
récuperer les groupes locaux d'une machine distant a été créé par darphboubou
Bonjour,
J'ai le script suivant qui me permets de remonter les groupes locaux (script récupéré par un collègue parti)
Write-Host \"Donner le nom du PC / Serveur\"
$c=Read-Host
$computer = [ADSI](\"WinNT://$c,computer\")
$compObj = $computer.psbase.children
$compObj > c:\temp\chier.txt
$Groups = @()
foreach($obj in $compObj){
if($obj.psbase.SchemaClassName -eq \"group\"){
($obj).name >> c:\temp\toto.txt
Write-host \"`nGroupe : $($obj.Name)\"
$Members = @(@($obj.psbase.invoke(\"Members\")) | foreach {$_.GetType().InvokeMember(\"Name\", 'GetProperty', $null, $_, $null)})
#Write-host \"Nombre de comptes inclus dans ce groupe : $($Members.count)\"
$Members >> c:\temp\toto.txt
}
}
Ma question est la suivante ce que j'ai souligné en gras est un tableau a deux dimension? Si oui quelqu'un peut il m'expliquer comment il fonctionne?
Merci d'avance
J'ai le script suivant qui me permets de remonter les groupes locaux (script récupéré par un collègue parti)
Write-Host \"Donner le nom du PC / Serveur\"
$c=Read-Host
$computer = [ADSI](\"WinNT://$c,computer\")
$compObj = $computer.psbase.children
$compObj > c:\temp\chier.txt
$Groups = @()
foreach($obj in $compObj){
if($obj.psbase.SchemaClassName -eq \"group\"){
($obj).name >> c:\temp\toto.txt
Write-host \"`nGroupe : $($obj.Name)\"
$Members = @(@($obj.psbase.invoke(\"Members\")) | foreach {$_.GetType().InvokeMember(\"Name\", 'GetProperty', $null, $_, $null)})
#Write-host \"Nombre de comptes inclus dans ce groupe : $($Members.count)\"
$Members >> c:\temp\toto.txt
}
}
Ma question est la suivante ce que j'ai souligné en gras est un tableau a deux dimension? Si oui quelqu'un peut il m'expliquer comment il fonctionne?
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 13 ans 5 mois #13128
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:récuperer les groupes locaux d'une machine distant
Bonjour,
Non cela n'est pas un tableau a deux dimensions.
Je pense qu'il voulait \"s'assurer\" que le résultat soit un tableau.
le code fonctionne trés bien comme cela :
[code:1]$Members = $obj.psbase.invoke(\"Members\"«») | foreach {$_.GetType().InvokeMember(\"Name\", 'GetProperty', $null, $_, $null)}[/code:1]
Bien Cordialement,
Richard Lazaro.
Non cela n'est pas un tableau a deux dimensions.
Je pense qu'il voulait \"s'assurer\" que le résultat soit un tableau.
le code fonctionne trés bien comme cela :
[code:1]$Members = $obj.psbase.invoke(\"Members\"«») | foreach {$_.GetType().InvokeMember(\"Name\", 'GetProperty', $null, $_, $null)}[/code:1]
Bien Cordialement,
Richard Lazaro.
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- darphboubou
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 135
- Remerciements reçus 0
il y a 13 ans 5 mois #13129
par darphboubou
Réponse de darphboubou sur le sujet Re:récuperer les groupes locaux d'une machine distant
effectivemnt ça fonctionne merci pour le retour
Connexion ou Créer un compte pour participer à la conversation.
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 13 ans 5 mois #13130
par Philippe
Réponse de Philippe sur le sujet Re:récuperer les groupes locaux d'une machine distant
Bonjour
Sans être un expert le script ne fonctionne pas complètement après la modification (suppression des \"@()\").
Pour moi il faut au moins convertir le résultat global de la ligne en array.
En effet la ligne en commentaire n'indique plus le nombre de compte si il n'y en qu'un voir aucun. (count n'existe pas sur un string ou sur null)
Mais je peut me tromper ou il y a peut-être une autre solution pour avoir le même résultat.
Sans être un expert le script ne fonctionne pas complètement après la modification (suppression des \"@()\").
Pour moi il faut au moins convertir le résultat global de la ligne en array.
En effet la ligne en commentaire n'indique plus le nombre de compte si il n'y en qu'un voir aucun. (count n'existe pas sur un string ou sur null)
Mais je peut me tromper ou il y a peut-être une autre solution pour avoir le même résultat.
Connexion ou Créer un compte pour participer à la conversation.
- Richard Lazaro
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 530
- Remerciements reçus 0
il y a 13 ans 5 mois #13131
par Richard Lazaro
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Réponse de Richard Lazaro sur le sujet Re:récuperer les groupes locaux d'une machine distant
Je suis d'accord avec toi, Et encore cela va dépendre de la version de PowerShell.
Think-MS : (Get-Life).Days | %{ Learn-More }
\\"Problems cannot be solved by the same level of thinking that created them.\\" - Albert Einstein
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 13 ans 5 mois #13135
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:récuperer les groupes locaux d'une machine distant
Richard Lazaro écrit:
Si c'est le cas ,la première approche, autour du @() est préférable, car portable.
Richard Lazaro écrit:
Un peu plus explicite, je pense.
Tu parles de la version 3 ?Et encore cela va dépendre de la version de PowerShell.
Si c'est le cas ,la première approche, autour du @() est préférable, car portable.
Richard Lazaro écrit:
C'est un détail, mais j'aurais plutot dit \"qu'ainsi on force Powershell à construire et renvoyer le résultat sous forme de tableau\".Je pense qu'il voulait \"s'assurer\" que le résultat soit un tableau.
Un peu plus explicite, je pense.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.043 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- récuperer les groupes locaux d'une machine distant