我有一个具有以下功能的模块。
测试模块.psm1
function Do-Stuff
{
[CmdletBinding()]
param($Stuff)
Write-Debug 'Doing stuff!'
Write-Host $Stuff
}
我有一个导入模块的脚本。
测试脚本.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 上看到了一些讨论这个问题的内容,并建议您可以让模块通过调用堆栈检查参数以确定它是否应该实现调试。我现在找不到它,而且我不确定我当时是否理解如何实施。
我怎样才能实现这样的东西,或者实现相同目标的不同东西。