0

Import-Module を使用してモジュールをインポートする場合、モジュールのコンテキストではなく、Import-Module (呼び出し先) を実行するコンテキストで、スクリプトのセット (存在する場合) をそのモジュールにドット ソースで渡したいと思います。これを行う方法は明確ではありません。

モジュールマニフェストの「ScriptsToProcess」部分には、モジュールを呼び出し先スコープにロードするに実行するスクリプトが含まれていますが、モジュールがロードされた後に同等のものはないようです。この動作を実現する簡単な方法はありますか?

これは、呼び出し先のスコープ (通常は Import-Module を実行する場所) へのドット ソースではなく、モジュールのスコープへのドット ソースであるため、機能しない psm1 ファイルの例です。

# Define plugin location
$PluginLocation = Join-Path (Split-Path $profile) PluginScripts

if ($PSIse) {
# If plugin location does not exist tell the user.
if (-not (Test-Path $PluginLocation) )  {
    Write-Host -ForegroundColor Green "There is no plugin directory $PluginLocation if you wish to automatically load plugin scripts please create this directory and place the scripts there."
} else {
    Write-Host "Looking for scripts in $PluginLocation"
    Get-ChildItem $PluginLocation -Recurse -Filter *.ps1 | % { 
        Write-Host "Sourcing $($_.Name)"
        . $_.FullName 
    } 
}
}
4

0 に答える 0