web-dev-qa-db-fra.com

Modules Powershell v2.0: chemin de chargement par défaut (dossier système utilisateur / Windows)?

C'est par rapport à cette question que j'avais posée plus tôt - Powershell: Installation de modules sur le système cible

  • Quel est le chemin de chargement par défaut du module? Maintenant, après tant de jours, il a commencé à donner cette erreur (à partir de mon code C #)

    Cannot find path 'C:\Users\angshuman\Documents\WindowsPowerShell\Modules\MyPSModules\MyPsModules.‌​psd1' because it does not exist.

    Pendant tout ce temps, il se chargeait bien depuis le chemin du dossier SysWow64
  • Pourquoi recherche-t-il soudainement dans le dossier utilisateur plutôt que dans le dossier Windows ?

J'exécute le même code via C # sur un système d'exploitation Windows 7 64 bits

    _ps = PowerShell.Create();   
    _ps.AddScript("Import-Module MyPSModules -PassThru");
    Collection<PSObject> psObjects = _ps.Invoke();
16
Angshuman Agarwal

$env:psmodulePath est la variable automatique qui contient le chemin utilisé pour découvrir les modules. S'il n'est pas défini, PowerShell regarde dans c:\windows\system32\WindowsPowerShell\v1.0\modules et MyDocuments\WindowsPowerShell\modules.

Donc, par défaut, il devrait toujours chercher aux deux endroits.

Je n'ai pas fait beaucoup de codage 32 sur 64, mais je pourrais le voir en utilisant SysWow64 (au lieu de System32) si vous exécutiez une application 32 bits sur un système d'exploitation 64 bits.

23
Mike Shepard

Et si vous voulez les avoir pour une meilleure lisibilité, vous pouvez utiliser ceci:

$env:PSModulePath.split(';')

enter image description here

27
Jose Ortega