2010-11-03 6 views
3

Dans quelles conditions certains modules PowerShell deviennent-ils indisponibles?Powershell: certains modules sont indisponibles lorsqu'ils sont appelés via CreateProcess()

Lorsque je crée un processus avec CreateProcess() et la ligne de commande

powershell -Command "Get-Module -ListAvailable"

Je ne comprends pas tous les modules que je reçois lors de l'exécution de la même instruction à partir d'une invite de commande.

Y a-t-il des champs que je dois définir dans les structures STARTUPINFO ou PROCESS_INFORMATION?

Répondre

3

Certains modules ne sont pas disponibles dans la version 32 bits de PowerShell. Sous Windows Server 2008 R2 avec PowerShell v1.0 ce sont:

  • ADRMS
  • AppLocker
  • BestPractices
  • Servermanager
2

L'ensemble des modules disponibles est contrôlé par la variable d'environnement PSModulePath. Il est possible que les deux processus en question aient ici deux valeurs différentes pour PSModulePath et que par conséquent vous voyez 2 ensembles de modules différents.

Pouvez-vous vérifier la valeur dans les deux cas et voir si c'est différent?

+0

Non, il y avait le même chemin dans les deux cas. Mais merci pour votre réponse. Cela m'a fait réaliser que j'exécutais sur différentes architectures (32 bits vs. 64 bits). – flacs

Questions connexes