1

Powershell 2.0 を搭載した別のコンピューターでhttp://powershellgac.codeplex.comを使用しようとすると、メイン PC の PowerShell 3.0 で正常に使用されますが、他の PC では次のように表示されます。

Get-Module -ListAvailable

Manifest AppLocker            {}
Manifest PSDaignostics        {}
Manifest TroubleshootingGPack {}
Manifest Gac                  {}
Manifest Gac                  {}
Manifest Gac                  {}

メインの PC でかっこがすべて埋まっていますが、これが機能しないのはなぜですか? ExeuctionPolicy を「無制限」に設定しました。それでも同じエラーです。$env:PSModulePath を両方の PC で正しく設定しました。(Gacマニフェストを見つける方法は他にあります)

編集: 最も重要な情報を追加するのを忘れていました: Powershell ISE 内で .ps1 スクリプトを開始すると、他の PC でも動作します。スクリプト自体に問題がないことは明らかなので、私にはわかりません。

4

1 に答える 1

1

-ListAvailableは、マシン上で検出できるすべてのモジュールを一覧表示しますが、それらのモジュールは必ずしも読み込まれるとは限りません (import-module を使用)。PowerShell 2.0 では、モジュールが読み込まれるまでエクスポートされたコマンドは表示されませんが、PowerShell 3.0 では表示されます。こちらもご覧ください。ロードされたモジュールからエクスポートされたコマンドを見たい場合は、 を試してくださいGet-Module

コマンドの結果は、モジュールが機能していないと信じる理由にはなりません。

私は PowerShell GAC モジュールの作成者です。お試しいただきありがとうございます。モジュールをロードするときにエラー メッセージの詳細をすべて追加してください。問題の原因を突き止めることができます。

PowerShell コンソールと ISE の両方で実行dir ((Get-ItemProperty HKLM:Software\Microsoft\.NetFramework -Name InstallRoot).InstallRoot)し、得られた結果をお知らせください。

于 2013-07-12T18:30:46.773 に答える