17

これは、私が以前に尋ねたこの質問に関するものです-Powershell:ターゲットシステムへのモジュールのインストール

  • デフォルトのモジュールロードパスは何ですか?何日も経った今、(私のC#コードから)このエラーが発生し始めまし

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

    た。その間ずっと、SysWow64フォルダーパスからうまくロードされていました。
  • Windowsフォルダではなくユーザーフォルダを突然検索するのはなぜですか?

Windows 7 64ビットOSでC#を介して同じコードを実行しています

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

2 に答える 2

28

そして、読みやすさを向上させたい場合は、次のように使用できます。

$env:PSModulePath.split(';')

ここに画像の説明を入力してください

于 2017-08-21T01:34:01.037 に答える
25

$env:psmodulePathモジュールの検出に使用されるパスを保持する自動変数です。設定されていない場合、PowerShellはとを調べc:\windows\system32\WindowsPowerShell\v1.0\modulesますMyDocuments\WindowsPowerShell\modules

したがって、デフォルトでは常に両方の場所を探しているはずです。

私は32対64のコーディングをあまり行っていませんが、64ビットOSで32ビットアプリを実行している場合は、(System32の代わりに)SysWow64を使用してそれを確認できました。

于 2012-09-17T12:02:52.867 に答える