- forum
- PowerShell
- Entraide pour les débutants
- Liste des membres avec attribut DepartmentNumber et appartenance Groupes spcécif
Question
Liste des membres avec attribut DepartmentNumber et appartenance Groupes spcécif
- Julien
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 10 mois 1 semaine #32795
par Julien
Liste des membres avec attribut DepartmentNumber et appartenance Groupes spcécif a été créé par Julien
Bonjour,
Je débute en powershell, je fais donc appel à la communauté des connaisseurs pour de l'aide sur un petit bout de code.
Je souhaiterais, à partir d'une extraction AD, récupérer tous les collaborateurs membres de groupes dont les noms débutent forcément par "Grp_vpn*" et dont chaque collaborateur a comme attribut "DepartmentNumber", un numéro prédéfini.
Je parviens pour le moment à récupérer la liste des collaborateurs dont l'attribut "DepartmentNumber" est le numéro prédéfini, et ce, dans deux OU souhaitées. En revanche, je ne sais pas comment m'y prendre, à partir de cette liste, pour filtrer uniquement ceux membres d'un groupe débutant par "Grp_vpn*".
Ci-dessous les lignes correspondantes :
$Members = Get-ADUser -SearchBase $OU -Filter {departmentNumber -eq $Budget -or department -eq $Budget -or department -like $Ville } -Property departmentNumber | Select Name,sAMAccountName,userPrincipalName,departmentNumber,department
$GroupVPN= $Members | ForEach-Object {Get-ADPrincipalGroupMembership -Identity $_.SamAccountName} | Select-Object -Property @{Name = 'Groupes' ; Expression = {$_.sAMAccountName}}
Cette dernière ligne me ressort les groupes d'affectations en une liste.
Je souhaiterais idéalement pouvoir récupérer dans une unique variable, la liste de ces utilisateurs filtrés donc sur leurs departmentNumber + leurs appartenances aux groupes tels que Grp_vpn*
Merci pour votre aide
Julien
Je débute en powershell, je fais donc appel à la communauté des connaisseurs pour de l'aide sur un petit bout de code.
Je souhaiterais, à partir d'une extraction AD, récupérer tous les collaborateurs membres de groupes dont les noms débutent forcément par "Grp_vpn*" et dont chaque collaborateur a comme attribut "DepartmentNumber", un numéro prédéfini.
Je parviens pour le moment à récupérer la liste des collaborateurs dont l'attribut "DepartmentNumber" est le numéro prédéfini, et ce, dans deux OU souhaitées. En revanche, je ne sais pas comment m'y prendre, à partir de cette liste, pour filtrer uniquement ceux membres d'un groupe débutant par "Grp_vpn*".
Ci-dessous les lignes correspondantes :
$Members = Get-ADUser -SearchBase $OU -Filter {departmentNumber -eq $Budget -or department -eq $Budget -or department -like $Ville } -Property departmentNumber | Select Name,sAMAccountName,userPrincipalName,departmentNumber,department
$GroupVPN= $Members | ForEach-Object {Get-ADPrincipalGroupMembership -Identity $_.SamAccountName} | Select-Object -Property @{Name = 'Groupes' ; Expression = {$_.sAMAccountName}}
Cette dernière ligne me ressort les groupes d'affectations en une liste.
Je souhaiterais idéalement pouvoir récupérer dans une unique variable, la liste de ces utilisateurs filtrés donc sur leurs departmentNumber + leurs appartenances aux groupes tels que Grp_vpn*
Merci pour votre aide
Julien
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6290
- Remerciements reçus 67
il y a 10 mois 1 semaine #32798
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Liste des membres avec attribut DepartmentNumber et appartenance Groupes spcécif
Salut,
pour filtrer tu peux utiliser une expression régulière :Il existe également l'opérateur -like.
pour filtrer tu peux utiliser une expression régulière :
$groupeDebutantPar='^Grp_vpn.*'
'grp_vpn','Pasgrp_vpn','grp_vpn xyz','autreNom'|% { $_ -match $groupeDebutantPar}
foreach ($grpName in @('grp_vpn','Pasgrp_vpn','grp_vpn xyz','autreNom'))
{
if ($grpName -match $groupeDebutantPar)
{ Write-warning "grp_vpn: '$grpName'"}
}
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Julien Groizard
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 1
il y a 10 mois 1 semaine #32799
par Julien Groizard
Réponse de Julien Groizard sur le sujet Liste des membres avec attribut DepartmentNumber et appartenance Groupes spcécif
Hello,
Je pensais aussi, pour rebondir sur ton idée, à remplacer le if dans le for each par un where pour pouvoir enregistrer toutes les infos direct dans une variable.
foreach ($grpName in @('grp_vpn','Pasgrp_vpn','grp_vpn xyz','autreNom'))
{
if ($grpName -match $groupeDebutantPar)
{ Write-warning "grp_vpn: '$grpName'"}
}
Par
@('grp_vpn','Pasgrp_vpn','grp_vpn xyz','autreNom') | ? {$_ -match $groupeDebutantPar}
Ou
$grpNames = @('grp_vpn','Pasgrp_vpn','grp_vpn xyz','autreNom') | ? {$_ -match $groupeDebutantPar}
Bonne journée/soirée ^^
Je pensais aussi, pour rebondir sur ton idée, à remplacer le if dans le for each par un where pour pouvoir enregistrer toutes les infos direct dans une variable.
foreach ($grpName in @('grp_vpn','Pasgrp_vpn','grp_vpn xyz','autreNom'))
{
if ($grpName -match $groupeDebutantPar)
{ Write-warning "grp_vpn: '$grpName'"}
}
Par
@('grp_vpn','Pasgrp_vpn','grp_vpn xyz','autreNom') | ? {$_ -match $groupeDebutantPar}
Ou
$grpNames = @('grp_vpn','Pasgrp_vpn','grp_vpn xyz','autreNom') | ? {$_ -match $groupeDebutantPar}
Bonne journée/soirée ^^
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6290
- Remerciements reçus 67
il y a 10 mois 1 semaine #32801
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Liste des membres avec attribut DepartmentNumber et appartenance Groupes spcécif
Oui c'est une autre construction.
L'instruction Foreach peut être associé à une affectation :Et la collection associé au IN provenir d'un pipelineJe trouve l'instruction Foreach plus lisible et plus facile à modifier.
Enfin tu peux aussi utiliser Filter (similaire à une fonction+bloc process) pour l'insérer dans un pipeline
L'instruction Foreach peut être associé à une affectation :
$Resultat=Foreach ($x in $List) {... }
$Resultat=Foreach ($x in (Get-AdUser | XYZ)) {... }
Enfin tu peux aussi utiliser Filter (similaire à une fonction+bloc process) pour l'insérer dans un pipeline
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Julien
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 9 mois 4 semaines #32825
par Julien
Réponse de Julien sur le sujet Liste des membres avec attribut DepartmentNumber et appartenance Groupes spcécif
Bonjour,
Avec beaucoup de retard, désolé, ton commentaire m'a bien aidé.
Problème résolu.
Merci encore
Avec beaucoup de retard, désolé, ton commentaire m'a bien aidé.
Problème résolu.
Merci encore
Connexion ou Créer un compte pour participer à la conversation.
- forum
- PowerShell
- Entraide pour les débutants
- Liste des membres avec attribut DepartmentNumber et appartenance Groupes spcécif
Temps de génération de la page : 0.056 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Liste des membres avec attribut DepartmentNumber et appartenance Groupes spcécif