Question
Petite question de performance ...
- Pazefur
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 32
- Remerciements reçus 0
il y a 17 ans 1 mois #4112
par Pazefur
Petite question de performance ... a été créé par Pazefur
Bonjour je voudrais récupérer le nombre de personnes membres d'un groupe, j'ai 2 solutions qui marchent mais je ne sais pas laquelle choisir ...
Voici la première
[code:1]$searcher = New-Object System.DirectoryServices.DirectorySearcher
$searcher.SearchRoot = \"LDAP://DC=mondomaine,DC=com\"
$searcher.Filter = (\"(samAccountName=mongroupe)\"«»)
$prop = $searcher.PropertiesToLoad.Add(\"Member\"«»)
$result = $searcher.FindOne()
$result.Properties.member.Count
[/code:1]
Et la seconde
[code:1]$group = Get-Group -Identity \"mongroupe\"
$group.Members.Count[/code:1]
La deuxième requière le snapin exchange mais il sera lancé de toute façon car j'en aurai besoin plus tard.
Donc ma question est quelle est la meilleur approche à adopter?
Merci.<br><br>Message édité par: Pazefur, à: 18/02/09 12:30
Voici la première
[code:1]$searcher = New-Object System.DirectoryServices.DirectorySearcher
$searcher.SearchRoot = \"LDAP://DC=mondomaine,DC=com\"
$searcher.Filter = (\"(samAccountName=mongroupe)\"«»)
$prop = $searcher.PropertiesToLoad.Add(\"Member\"«»)
$result = $searcher.FindOne()
$result.Properties.member.Count
[/code:1]
Et la seconde
[code:1]$group = Get-Group -Identity \"mongroupe\"
$group.Members.Count[/code:1]
La deuxième requière le snapin exchange mais il sera lancé de toute façon car j'en aurai besoin plus tard.
Donc ma question est quelle est la meilleur approche à adopter?
Merci.<br><br>Message édité par: Pazefur, à: 18/02/09 12:30
Connexion ou Créer un compte pour participer à la conversation.
- Jacques Barathon
- Hors Ligne
- Administrateur
-
Réduire
Plus d'informations
- Messages : 576
- Remerciements reçus 0
il y a 17 ans 1 mois #4113
par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:Petite question de performance ...
Je n'ai pas de serveur Exchange sous la main pour tester les performances de la 2e solution, mais à la lecture il est clair que cette solution est beaucoup plus compacte, donc sans doute plus facile à maintenir sur le long terme.
Tu peux prendre un groupe qui contient plusieurs dizaines de membres voire plus, et regarder le temps que met chaque requête. Pour info, tu peux mesurer le temps d'exécution d'une commande (ou d'une série de commandes voire d'un script) avec measure-command :
[code:1]
PS> measure-command {dir c:\windows; get-process; start-sleep 5}
Days : 0
Hours : 0
Minutes : 0
Seconds : 5
Milliseconds : 45
Ticks : 50454661
TotalDays : 5,83965983796296E-05
TotalHours : 0,00140151836111111
TotalMinutes : 0,0840911016666667
TotalSeconds : 5,0454661
TotalMilliseconds : 5045,4661
[/code:1]
Janel
Tu peux prendre un groupe qui contient plusieurs dizaines de membres voire plus, et regarder le temps que met chaque requête. Pour info, tu peux mesurer le temps d'exécution d'une commande (ou d'une série de commandes voire d'un script) avec measure-command :
[code:1]
PS> measure-command {dir c:\windows; get-process; start-sleep 5}
Days : 0
Hours : 0
Minutes : 0
Seconds : 5
Milliseconds : 45
Ticks : 50454661
TotalDays : 5,83965983796296E-05
TotalHours : 0,00140151836111111
TotalMinutes : 0,0840911016666667
TotalSeconds : 5,0454661
TotalMilliseconds : 5045,4661
[/code:1]
Janel
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.050 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Petite question de performance ...