次の機能を持つモジュールがあります。
Test-Module.psm1
function Do-Stuff
{
[CmdletBinding()]
param($Stuff)
Write-Debug 'Doing stuff!'
Write-Host $Stuff
}
そして、モジュールをインポートするスクリプトがあります。
Test-Script.ps1
[CmdletBinding()]
param($Stuff)
Import-Module ./Test-Module.psm1
Write-Host 'About to do stuff.'
Do-Stuff -Stuff $Stuff
Write-Host 'Just did some stuff.'
しかし、スクリプトを呼び出すと、Do-Stuff 関数で -Debug フラグが考慮されません。
PS > .\Test-Script.ps1 -Stuff 'foobar'
About to do stuff.
foobar
Just did some stuff.
最近 StackOverflow でこの問題について議論し、デバッグを実装する必要があるかどうかを判断するために、モジュールにコール スタックを介してパラメータを調べさせることができると提案したものを見たことを思い出します。私は今それを見つけることができません.とにかく、当時の実装方法を理解していたかどうかはわかりません.
このようなもの、または同じ目標を達成する別のものをどのように実装できますか。