Question
Problème de tableau
- Philippe
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 1778
- Remerciements reçus 21
il y a 8 ans 3 mois #25050
par Philippe
petite astuce simple pour cette situation :
[code:1]if ($GrpsApply = \"\"«») {
$GrpsApply += $_.Trustee.Name
}
else {
$GrpsApply += \", \" + $_.Trustee.Name
}
[/code:1]
Réponse de Philippe sur le sujet Re:Problème de tableau
normal, je pensais pas que cela aller te gêné, et puis c'était plus simple a comprendreCependant, j'ai le problème du dernier caractère qui lui aussi est une \",\".
petite astuce simple pour cette situation :
[code:1]if ($GrpsApply = \"\"«») {
$GrpsApply += $_.Trustee.Name
}
else {
$GrpsApply += \", \" + $_.Trustee.Name
}
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- PatriceLT
- Auteur du sujet
- Visiteur
-
il y a 8 ans 3 mois #25052
par PatriceLT
Réponse de PatriceLT sur le sujet Re:Problème de tableau
Tu as bien fait de me proposer cette solution 6ratgus, ne t'en fais pas, je sais que des fois mes demandes sont un peu particulières et donc un peu farfelus...
Mais si je veux avoir quelque chose de propre qui corresponde au besoin attendu, je n'ai pas trop le choix
Ton dernier bout de code donne ce résultat :
Dans ma GPO (gpmc) :
Nom GPO : GPO1
Groupe appliqué : Domain Computers
Groupe exclu : Toto1 Titi1
[code:1]
GPO Groupe Apply Groupe Exclu
GPO1 , Domain Computers , Titi1
[/code:1]
Il me prend le dernier groupe de ma variable $GrpsXXXXX.
Entre Autre, dans les 2 variables groupes, je peux avoir :
0 Groupes = Vide
1 Groupe = Affichage normal
1+ Groupe = Affichage avec \",\"
Cependant j'ai testé un test avec le count de ma variable, mais celle ci ressort comme ceci :
[code:1]
GPO Grps Apply Grps Exclu
GPO1 1 1
1
[/code:1]
Entre autre, elle prend pour 2 groupes dans la variable $GrpsXXXX, non pas un count de 2, mais 2 count de 1 ... donc pour count le nombre de groupe dans ma variable, ça ne fonctionne ni avec un -ge, ni avec un -le, ni même le -gt ou -lt<br><br>Message édité par: PatriceLT, à: 23/02/18 16:29
Mais si je veux avoir quelque chose de propre qui corresponde au besoin attendu, je n'ai pas trop le choix
Ton dernier bout de code donne ce résultat :
Dans ma GPO (gpmc) :
Nom GPO : GPO1
Groupe appliqué : Domain Computers
Groupe exclu : Toto1 Titi1
[code:1]
GPO Groupe Apply Groupe Exclu
GPO1 , Domain Computers , Titi1
[/code:1]
Il me prend le dernier groupe de ma variable $GrpsXXXXX.
Entre Autre, dans les 2 variables groupes, je peux avoir :
0 Groupes = Vide
1 Groupe = Affichage normal
1+ Groupe = Affichage avec \",\"
Cependant j'ai testé un test avec le count de ma variable, mais celle ci ressort comme ceci :
[code:1]
GPO Grps Apply Grps Exclu
GPO1 1 1
1
[/code:1]
Entre autre, elle prend pour 2 groupes dans la variable $GrpsXXXX, non pas un count de 2, mais 2 count de 1 ... donc pour count le nombre de groupe dans ma variable, ça ne fonctionne ni avec un -ge, ni avec un -le, ni même le -gt ou -lt<br><br>Message édité par: PatriceLT, à: 23/02/18 16:29
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 8 ans 3 mois #25053
par Philippe
Réponse de Philippe sur le sujet Re:Problème de tableau
pour la virgule au début des groupes, c'est que tu n'a pas initialisé la variable en string en début de boucle
remplace $GrpsApply = @() par $GrpsApply = \"\"
pour ton problème de count, il me faudrait la dernière version de ton script pour comprendre l'origine du probleme
remplace $GrpsApply = @() par $GrpsApply = \"\"
pour ton problème de count, il me faudrait la dernière version de ton script pour comprendre l'origine du probleme
Connexion ou Créer un compte pour participer à la conversation.
- PatriceLT
- Auteur du sujet
- Visiteur
-
il y a 8 ans 2 mois #25054
par PatriceLT
Réponse de PatriceLT sur le sujet Re:Problème de tableau
Salut 6ratgus,
Voici le code que j'utilise, j'ai vérifié, je reinit bien mes variables groupes avec \"\" :
[code:1]
Import-Module ActiveDirectory
Import-Module GroupPolicy
$Domaine = \"patrice.lan\"
$OUs = \"DC=PATRICE,DC=LAN\"
(Je prend donc toutes les OUs (Computers + Users) de mon domaine grâce au SearchScope Subtree)
# Récupération de toutes les OUs + Sous OUs #
$NomGpos = Get-ADOrganizationalUnit -SearchBase $OUs -SearchScope Subtree -Server $Domaine -Filter * | foreach {
$OU = $_.DistinguishedName
# Récupération des GPOs liés à ces OUs #
(Get-GPInheritance -Target $OU -Domain $Domaine).GpoLinks | foreach {
$_.DisplayName | foreach {Get-GPO -Name $_ -Domain $Domaine} | foreach {
if ($_.GetSecurityInfo()) {
$GrpsExclu = \"\"
$GrpsApply = \"\"
$Item = $_
$NomGpo = $_.DisplayName
$Status = $_.GpoStatus
$_.GetSecurityInfo() | foreach {
if ($_.Permission -eq \"GpoCustom\"«») {
if($GrpsExclu = \"\"«»)
{
$GrpsExclu += $_.Trustee.Name
}
else
{
$GrpsExclu += \", \" + $_.Trustee.Name
}
}
elseif ($_.Permission -eq \"GpoApply\"«») {
if($GrpsApply = \"\"«»)
{
$GrpsApply += $_.Trustee.Name
}
else
{
$GrpsApply += \", \" + $_.Trustee.Name
}
}
}
$objet = New-Object Psobject
$objet | Add-Member -Name \"OU\" -MemberType 'NoteProperty' -value $OU
$objet | Add-Member -Name \"GPO\" -MemberType 'NoteProperty' -value $NomGpo
$objet | Add-Member -Name \"Groupes Apply\" -MemberType 'NoteProperty' -value $GrpsApply
$objet | Add-Member -Name \"Groupes Exclus\" -MemberType 'NoteProperty' -value $GrpsExclu
$objet
}
}
}
}
$NomGpos
[/code:1]
Voila.
Voici le code que j'utilise, j'ai vérifié, je reinit bien mes variables groupes avec \"\" :
[code:1]
Import-Module ActiveDirectory
Import-Module GroupPolicy
$Domaine = \"patrice.lan\"
$OUs = \"DC=PATRICE,DC=LAN\"
(Je prend donc toutes les OUs (Computers + Users) de mon domaine grâce au SearchScope Subtree)
# Récupération de toutes les OUs + Sous OUs #
$NomGpos = Get-ADOrganizationalUnit -SearchBase $OUs -SearchScope Subtree -Server $Domaine -Filter * | foreach {
$OU = $_.DistinguishedName
# Récupération des GPOs liés à ces OUs #
(Get-GPInheritance -Target $OU -Domain $Domaine).GpoLinks | foreach {
$_.DisplayName | foreach {Get-GPO -Name $_ -Domain $Domaine} | foreach {
if ($_.GetSecurityInfo()) {
$GrpsExclu = \"\"
$GrpsApply = \"\"
$Item = $_
$NomGpo = $_.DisplayName
$Status = $_.GpoStatus
$_.GetSecurityInfo() | foreach {
if ($_.Permission -eq \"GpoCustom\"«») {
if($GrpsExclu = \"\"«»)
{
$GrpsExclu += $_.Trustee.Name
}
else
{
$GrpsExclu += \", \" + $_.Trustee.Name
}
}
elseif ($_.Permission -eq \"GpoApply\"«») {
if($GrpsApply = \"\"«»)
{
$GrpsApply += $_.Trustee.Name
}
else
{
$GrpsApply += \", \" + $_.Trustee.Name
}
}
}
$objet = New-Object Psobject
$objet | Add-Member -Name \"OU\" -MemberType 'NoteProperty' -value $OU
$objet | Add-Member -Name \"GPO\" -MemberType 'NoteProperty' -value $NomGpo
$objet | Add-Member -Name \"Groupes Apply\" -MemberType 'NoteProperty' -value $GrpsApply
$objet | Add-Member -Name \"Groupes Exclus\" -MemberType 'NoteProperty' -value $GrpsExclu
$objet
}
}
}
}
$NomGpos
[/code:1]
Voila.
Connexion ou Créer un compte pour participer à la conversation.
- PatriceLT
- Auteur du sujet
- Visiteur
-
il y a 8 ans 2 mois #25056
par PatriceLT
Réponse de PatriceLT sur le sujet Re:Problème de tableau
6ratgus,
je viens de revoir le script, j'ai trouvé la solution, il s'agit non pas de l'initialisation des variables, mais du test if :
[code:1]
if($GrpsApply -eq (au lieu de =) \"\"«»)
{
$GrpsApply += $_.Trustee.Name
}
else
{
$GrpsApply += \",\" + $_.Trustee.Name
}
[/code:1]
C'est donc la même chose pour le GrpsExclu.
Merci en tout cas !<br><br>Message édité par: PatriceLT, à: 26/02/18 15:37
je viens de revoir le script, j'ai trouvé la solution, il s'agit non pas de l'initialisation des variables, mais du test if :
[code:1]
if($GrpsApply -eq (au lieu de =) \"\"«»)
{
$GrpsApply += $_.Trustee.Name
}
else
{
$GrpsApply += \",\" + $_.Trustee.Name
}
[/code:1]
C'est donc la même chose pour le GrpsExclu.
Merci en tout cas !<br><br>Message édité par: PatriceLT, à: 26/02/18 15:37
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 8 ans 2 mois #25059
par Philippe
Réponse de Philippe sur le sujet Re:Problème de tableau
si le résultat est bon alors nickel
<br><br>Message édité par: 6ratgus, à: 26/02/18 17:35
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.040 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Problème de tableau