Question problème de lenteur avec un export

Plus d'informations
il y a 6 mois 2 semaines - il y a 6 mois 2 semaines #34200 par Durand
Bonjour,

J'utilise Powershell depuis plusieurs années mais je constate un comportement très bizarre et j'aimerais avoir votre avis pour savoir si cela est normal ou si ca peut ce corriger/contourner.

Voici mon test, je récupère la liste d'utilisateur, une fois en spécifiant un controleur de domaine et l'autre sans.

$UserA = Get-ADUser -Filter * -Properties *
$UserB = Get-ADUser -Filter * -Properties * -Server $DC


Puis je les export en CSV avec par exemple.

Le problème est le suivant, l'export UserB est BEAUCOUP plus long.
Je ne parle du temps pour les Get-Aduser bien entendu, JUSTE de l'export CSV.
L'export A prend 0,3s
L'export B prend 46s

Si je coupe ma connexion réseau pour l'export CSV, l'export UserB n'est pas complet, j'ai des propriétés vides (le champ mail par exemple).
Powershell semble donc ne pas tout stocker en variable et des propriétés semblent être récupérées à la volé.

Donc, est-ce normal ?
Comment rendre la chose plus rapide si c'est le cas ?

Si vous voulez mon script pour reproduire le comportement:

$UserA = Get-ADUser -Filter * -Properties * -SearchBase $OU
$UserB = Get-ADUser -Filter * -Properties * -SearchBase $OU -Server $DC
(Measure-Command {$UserA | Export-Csv -Path ".\UserA.csv"}).TotalSeconds
"Export avec DC"
(Measure-Command {$UserB | Export-Csv -Path ".\UserB.csv"}).TotalSeconds

Dernière édition: il y a 6 mois 2 semaines par Durand.

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

Plus d'informations
il y a 6 mois 2 semaines #34203 par Durand
Réponse de Durand sur le sujet problème de lenteur avec un export
J'ai trouvé pourquoi, pour ceux qui aurait la même interrogation :
learn.microsoft.com/en-us/dotnet/framewo.../lazy-initialization

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

Plus d'informations
il y a 6 mois 2 semaines #34205 par Alastor
Réponse de Alastor sur le sujet problème de lenteur avec un export
Je ne connaissais pas l'approche lazy.

Du coup, le get-aduser en spécifiant un DC est lazy ?

Je ne précise jamais de DC, je laisse faire AD.

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

Plus d'informations
il y a 6 mois 2 semaines #34207 par Durand
Réponse de Durand sur le sujet problème de lenteur avec un export
Non il a toujours des propriétés Lazy (le champ mail par exemple)
Soit tu fais un " | select ... " AVEC ton get-aduser et du coup il récupère les champs au même moment.
Soit comme je le faisait avant, tu fais le select-object uniquement au moment de l'export et il requête de nouveau l'AD pour les propriétés lazy. Donc si t'as un DC rapide et quelques milliers d'user, ca va, mais si t'as en as des dizaines de milliers et que ton DC est lent, ca prend plusieurs minutes juste pour l'export.

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

Plus d'informations
il y a 6 mois 2 semaines #34208 par Alastor
Réponse de Alastor sur le sujet problème de lenteur avec un export
J'ai 20k user et j'ai jamais remarqué de lenteur après un get-aduser, pas même lorsque je suis en VPN... étrange... mais intéressant !

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

Temps de génération de la page : 0.113 secondes
Propulsé par Kunena