Question Petite question de performance ...

Plus d'informations
il y a 17 ans 1 mois #4112 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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 1 mois #4113 par Jacques Barathon
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&gt; 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
Propulsé par Kunena