Reputation: 707
Imagine if you have a script containing a single line of code like
ni -type file foobar.txt
where the -verbose flag is not supplied to the ni command. Is there a way to set the Verbosity at a global PSSession level if I were to run this script to force verbosity? The reason I ask is that I have a group of about 60 scripts which are interdependent and none of these supply -verbose to any commands they issue and I'd like to see the entire output when I call the main entry point powershell script.
Upvotes: 11
Views: 4386
Reputation: 9036
You could also do:
$global:VerbosePreference = 'continue'
Works better then PSDefaultParameters as it tolerates function not having Verbose param.
Upvotes: 4
Reputation: 68263
Use $PSDefaultParameterValues
:
$PSDefaultParameterValues['New-Item:Verbose'] = $true
Set that in the Global scope, and then the default value of -Verbose for the New-Item cmdlet will be $True.
You can use wildcards for the cmdletsyou want to affect:
$PSDefaultParameterValues['New-*:Verbose'] = $true
Will set it for all New-* cmdlets.
$PSDefaultParameterValues['*:Verbose'] = $true
will set it for all cmdlets.
Upvotes: 14