2012-08-03 14 views
5

をPowerShellスクリプトの実行コマンドレットを作成します。私は次のPowerShellスクリプトを書かれているグローバルスコープで

function Reload-Module ([string]$moduleName) { 
    $module = Get-Module $moduleName 
    Remove-Module $moduleName -ErrorAction SilentlyContinue 
    Import-Module $module 
} 

このスクリプトの唯一の問題は、インポートモジュールは、それだけで、スクリプトのスコープ内で適用されることである - それは、モジュールをインポートしませんグローバルスコープでスクリプトが終了したあとも、スクリプトがモジュールをインポートするようにする方法はありますか?

注:dot-sourcingのように:. Reload-Module MyModuleNameは機能しません。 PowerShellのヘルプから

+1

'Import-Module -Scope Global'を試したことがありますか? – JohnL

+0

'Slap-Forehead'いいえ私はしていません。おそらく、私はもっと徹底的に助けを読んでいたはずです。実際のパラメータは '-Global'です。あなたが答えとしてそれを置くなら、私はupvoteと答えとしてマークします。 – Phil

+0

完了! '-Scope Global'はv3.0です。 – JohnL

答えて

4

-Global [<SwitchParameter>] 
Imports modules into the global session state so they are available to all commands in the session. By 
default, the commands in a module, including commands from nested modules, are imported into the 
caller's session state. To restrict the commands that a module exports, use an Export-ModuleMember 
command in the script module. 

The Global parameter is equivalent to the Scope parameter with a value of Global. 


Required?     false 
Position?     named 
Default value    False 
Accept pipeline input?  false 
Accept wildcard characters? false 

v3にも、もう少し一般的である-Scopeパラメータを追加します:

-Scope <String> 
Imports the module only into the specified scope. 

Valid values are: 

-- Global: Available to all commands in the session. Equivalent to the 
Global parameter. 

-- Local: Available only in the current scope. 

By default, the module is imported into the current scope, which could be 
a script or module. 

This parameter is introduced in Windows PowerShell 3.0. 

Required?     false 
Position?     named 
Default value    Current scope 
Accept pipeline input?  false 
Accept wildcard characters? false 

注:上記のヘルプスニペットはV3からです。 0私は自分のシステムにインストールしたものです。 v2.0ヘルプはhttp://msdn.microsoft.com/en-us/library/windows/desktop/dd819454.aspxにあります。 PowerShell v3.0を入手することをお勧めします。これは、新しいISEのためだけです。

+0

+1追加情報ありがとうございます – Phil

関連する問題