2011-01-13 8 views
2

スクリプトの移植性の理由から、PowerShellスクリプトでスナップインを動的に読み込む必要があります。これは、Load-Module機能を持つPowerShell v2で簡単に実行できます。この特定のスクリプトは、さまざまな理由でPowerShell v2をインストールしたくないマシンで実行する必要がありますが、v1が必要です。PowerShell v1に相当するロードモジュール

PowerShell v1に相当するLoad-Moduleはありますか?

+0

http://serverfault.com/ – Rune

答えて

3

Import-Moduleを意味しますか?そうであれば、モジュールがどのように定義されているかによって異なります。スナップインDLLの場合は、スナップインをV1マシンにインストールしてからAdd-PSSnapinを使用する必要があります。ファイルが.psm1の場合は、ファイルの名前を.ps1に変更する必要があります。 . .\mymodule.ps1。ただし、Export-ModuleMemberのようなv2の機能を使用する場合は、コメントアウトする必要があります。そして、v1は.psd1ファイルをどうすればいいのかわかりません。

+0

私はv1マシンにスナップインをインストールしないことをお勧めします。 v1でスナップインを動的にロードする方法はありませんか? – friism

+2

v1でセッションにスナップインをインポートする方法はありません(管理者としてGACにインストールする必要はありません)。アセンブリとライブラリを読み込むことはできますが、.netクラス以外のコマンドレットは表示されません。 – Jaykul

+0

インストールの主な目的は、PowerShellがスナップインDLLを検出できるようにレジストリエントリのセットを作成することです。私はあなたがスクリプト(または.regファイル)でそれらのレジストリエントリを再作成できると思います。 –

1

Import-Moduleモジュールをロードし、モジュールはV2のみの機能です。

PowerShell V1にはPowerShellスクリプトではなく.NET言語(C#、VB、...)で書かれた「スナップイン」があり、Add-PSSnapinのセッションに読み込まれました(スナップインはV2でもサポートされていますが、モジュールにはスナップイン機能のスーパーセットがあり、V2にアップグレードすることが不可能な場合を除きモジュールに固執します)。

関連する問題