Bonjour,
J'ai un script qui recherche les membres de groupes AD. Dans certains groupes, j'ai plus de 3000 utilisateurs.
J'ai au total plus de 250 groupes à analysés.
Lorsque je test mon script, a un moment donnée, j'arrive à des erreurs de mémoire du shell ('System.OutOfMemoryException' was thrown)
J'ai essayé en augmentant le quota de mémoire du shell, mais j'arrive rapidement à sa limite. J'ai essayé d'enregistrer dans un fichier temporaire, les informations retournées par la commande Get-ADGroupMember afin de ne pas saturé la mémoire. C'est mieux, mais arrivé à un moment, j'arrive à saturation.
Aussi, j'ai remarqué, que plus je fais de test, plus la saturation de mémoire arrive rapidement. J'ai lu sur internet que la fermeture du shell permettait de vider cette mémoire ou en utilisant la commande "[System.GC]::Collect()". J'ai placé cette commande en début de script. Il y a du mieux mais malgré tout, j'arrive à la limitation.
Y a -il une autres méthode ?
Pour analyser mes groupes, j'utilise un fichier de réponse CSV que je parcours via une boucle. Je pourrai placer la commande "[System.GC]::Collect()" en début de boucle pour vider la mémoire ?
Merci pour votre aide
Partager