Войти

Показать полную графическую версию : [решено] как правильно определять использование -verbose в скрипте


Elven
08-07-2019, 14:49
Добиваю один скрипт до удобоваримого не только мной использования, и столкнулся с одной проблемой. Раньше, если верно помню, при включении [cmdletbinding()] перед param мы имели переменные $verbose, $debug и т.д. которые при указании одноименного параметра менялись с false на true, теперь же таких переменных я нащупать не могу (или щупаю их не в правильную сторону), зато переменная $VerbosePreference самостоятельно меняется с SilentlyContinue на Continue (опять же не уверен, но вроде раньше нужно было проверять значение $Verbose и менять $VerbosePreference вручную).
Собственно знать значение $verbose мне нужно только для того, чтобы не выводить лишний раз сообщение а-ля "... используйте ключ -Verbose..." в том случае, если таковой ключ уже введен.
Пока я придумал только такую затычку:

if ($VerbosePreference -ne 'Continue') {Write-Warning "... используйте ключ -Verbose..."}

но сдается мне что должен быть вариант правильнее.

Elven
08-07-2019, 16:47
Напомнили мне о $PSBoundParameters, с ним все заработало без сомнительных костылей:
if (!($PSBoundParameters.ContainsKey("Verbose"))) {Write-Warning "... используйте ключ -Verbose..."}




© OSzone.net 2001-2012