PowerShell - Scripting Best Practices
You want to write a PowerShell script that shows detailed debug messages only when debugging is enabled, and verbose messages only when verbose is enabled. Which code snippet correctly implements this behavior?
-Debug or -Verbose.Write-Debug "Debug info" Write-Verbose "Verbose info" Write-Output "Normal output"uses both commands directly, which is correct.
$DebugPreference = 'Continue' Write-Output "Normal output" Write-Debug "Debug info" Write-Verbose "Verbose info"sets $DebugPreference to 'Continue' first, forcing debug messages to always show even without -Debug.
if ($DebugPreference -eq 'SilentlyContinue') { Write-Debug "Debug info" }
if ($VerbosePreference -eq 'SilentlyContinue') { Write-Verbose "Verbose info" }
Write-Output "Normal output" checks for 'SilentlyContinue', showing messages when NOT enabled. Write-Debug "Debug info" Write-Verbose "Verbose info" Write-Output "Normal output" Set-Variable -Name DebugPreference -Value 'Continue'sets DebugPreference after messages, so ineffective.
15+ quiz questions · All difficulty levels · Free
Free Signup - Practice All Questions