Question
Selection dans un tableau
- MicroVal
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 10 ans 1 jour #17388
par MicroVal
Selection dans un tableau a été créé par MicroVal
Bonjour,
J'ai récupéré un code qui exécute une série d'instructions pour un groupe spécifique sur SharePoint 2010.
Et ce que je voudrais, c'est ajouter d'autres groupes en plus.
Le code original
[code:1]$web.Groups|?{$_.Name -match \"Propriétaires\"}|%{
INSTRUCTIONS
}[/code:1]
Ce que j'ai tenté :
[code:1]$web.Groups|?{$_.Name -match \"Propriétaires\" -or $_.Name -match \"Owner\"}|%{[/code:1]
[code:1]$web.Groups|?{$_.Name -match \"Propriétaires\" -and \"Owner\"}|%{[/code:1]
Car j'ai des groupes qui s'apellent \"Owners of ...\" et d'autres avec \"Propriétaires de ...\"
De plus, j'aurai voulu savoir quelle était la fonction des caractères \"?\" et \"%\" ici ?
Merci d'avance pour votre aide,
Valentin
Message édité par: MicroVal, à: 23/04/14 16:58<br><br>Message édité par: MicroVal, à: 23/04/14 16:58
J'ai récupéré un code qui exécute une série d'instructions pour un groupe spécifique sur SharePoint 2010.
Et ce que je voudrais, c'est ajouter d'autres groupes en plus.
Le code original
[code:1]$web.Groups|?{$_.Name -match \"Propriétaires\"}|%{
INSTRUCTIONS
}[/code:1]
Ce que j'ai tenté :
[code:1]$web.Groups|?{$_.Name -match \"Propriétaires\" -or $_.Name -match \"Owner\"}|%{[/code:1]
[code:1]$web.Groups|?{$_.Name -match \"Propriétaires\" -and \"Owner\"}|%{[/code:1]
Car j'ai des groupes qui s'apellent \"Owners of ...\" et d'autres avec \"Propriétaires de ...\"
De plus, j'aurai voulu savoir quelle était la fonction des caractères \"?\" et \"%\" ici ?
Merci d'avance pour votre aide,
Valentin
Message édité par: MicroVal, à: 23/04/14 16:58<br><br>Message édité par: MicroVal, à: 23/04/14 16:58
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 10 ans 1 jour #17391
par SiSMik
Réponse de SiSMik sur le sujet Re:Selection dans un tableau
Bonjour,
Tout d'abord % et ? sont les alias respectifs de Where-Object et Foreach-Object.
[code:1]
Get-Help Where-Object
Get-Help Foreach-Object[/code:1]
Le premier va te permettre de filtrer ta collection d'objets, le deuxième de boucler sur chaque objet.
Donc là, on n'est pas du tout dans ce que tu veux faire, c'est à dire rajouter des groupes à ta collections.
Pour voir les méthodes possibles sur ta collection (voir si c'est un tableau et que l'on peut ajouter des objets) il faut utiliser la commande suivante: Get-Member et regarder la valeur de TypeName.
[code:1]$web.Groups | Get-Member[/code:1]
Suivant ce qui sera retourner on étudiera les possibilités.
Tout d'abord % et ? sont les alias respectifs de Where-Object et Foreach-Object.
[code:1]
Get-Help Where-Object
Get-Help Foreach-Object[/code:1]
Le premier va te permettre de filtrer ta collection d'objets, le deuxième de boucler sur chaque objet.
Donc là, on n'est pas du tout dans ce que tu veux faire, c'est à dire rajouter des groupes à ta collections.
Pour voir les méthodes possibles sur ta collection (voir si c'est un tableau et que l'on peut ajouter des objets) il faut utiliser la commande suivante: Get-Member et regarder la valeur de TypeName.
[code:1]$web.Groups | Get-Member[/code:1]
Suivant ce qui sera retourner on étudiera les possibilités.
Connexion ou Créer un compte pour participer à la conversation.
- MicroVal
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 14
- Remerciements reçus 0
il y a 10 ans 21 heures #17393
par MicroVal
Réponse de MicroVal sur le sujet Re:Selection dans un tableau
Ah non ce que je veux faire c'est ajouter un filtre en plus !
Pour le moment cela filtre avec la chaîne de caractère \"Propriétaire\", et ce que je voudrais, c'est filtrer avec \"Propriétaire\" ET \"Owners\"
Est-ce possible ici ?
Merci pour ton aide en tout cas
Pour le moment cela filtre avec la chaîne de caractère \"Propriétaire\", et ce que je voudrais, c'est filtrer avec \"Propriétaire\" ET \"Owners\"
Est-ce possible ici ?
Merci pour ton aide en tout cas
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 10 ans 18 heures #17399
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Selection dans un tableau
MicroVal écrit:
Une solution :
[code:1]
#Definition de tableaux de nom de groupes
$GroupesName=@(
\"Propriétaires\", #Groupe ...
\"Owner\", #Groupe ...
\"Admin\",
\"ServiceCompta\"«»)
$ExcludeGroupesName=@(
\"grpA\",
\"GrpOwner\"
)
#Construit un tableau de test contenant des noms de groupe
$Groupes=@( $ExcludeGroupesName; $GroupesName )
#Contrôle de la construction
$Groupes.Count
$Groupes[0,5]
#Affectations multiples. Mémorise la valeur de $OFS, le détail : Get-help About_automatic_variable
$OldOfs,$ofs=$Ofs,'|'
#Construit un pattern de regex, $OFS contient le métacaractère d'une alternative
\"$GroupesName\"
#grpA|GrpOwner|Propriétaires|Owner|Admin|ServiceCompta
#Filtre sur la regex construit dynamiquement
$Result= $Groupes|Where {Write-Warning \"Item:$_\";$_ -match \"$GroupesName\"}
$Result
#restauration
$Ofs=$OldOfs
[/code:1]
On peut aller au delà et construire directement dynamiquement un script bloc
[code:1]
$FiltreGrpIT=[scriptblock]::Create(\"`$_ -match '$GroupesName'\"«»)
$Result= $Groupes|Where $FiltreGrpIT
$Result
[/code:1]
Cela va mieux en le précisantAh non ce que je veux faire c'est ajouter un filtre en plus !
Une solution :
[code:1]
#Definition de tableaux de nom de groupes
$GroupesName=@(
\"Propriétaires\", #Groupe ...
\"Owner\", #Groupe ...
\"Admin\",
\"ServiceCompta\"«»)
$ExcludeGroupesName=@(
\"grpA\",
\"GrpOwner\"
)
#Construit un tableau de test contenant des noms de groupe
$Groupes=@( $ExcludeGroupesName; $GroupesName )
#Contrôle de la construction
$Groupes.Count
$Groupes[0,5]
#Affectations multiples. Mémorise la valeur de $OFS, le détail : Get-help About_automatic_variable
$OldOfs,$ofs=$Ofs,'|'
#Construit un pattern de regex, $OFS contient le métacaractère d'une alternative
\"$GroupesName\"
#grpA|GrpOwner|Propriétaires|Owner|Admin|ServiceCompta
#Filtre sur la regex construit dynamiquement
$Result= $Groupes|Where {Write-Warning \"Item:$_\";$_ -match \"$GroupesName\"}
$Result
#restauration
$Ofs=$OldOfs
[/code:1]
On peut aller au delà et construire directement dynamiquement un script bloc
[code:1]
$FiltreGrpIT=[scriptblock]::Create(\"`$_ -match '$GroupesName'\"«»)
$Result= $Groupes|Where $FiltreGrpIT
$Result
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.065 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Selection dans un tableau