UseDeclaredVarsMoreThanAssignments
Severity Level: Warning
Description
Variables that are assigned but not used are not needed.
Note
For this rule, the variable must be used within the same scriptblock that it was declared or it won't be considered to be 'used'.
How
Remove the variables that are declared but not used.
Example
Wrong
function Test
{
$declaredVar = 'Declared just for fun'
$declaredVar2 = 'Not used'
Write-Output $declaredVar
}
Correct
function Test
{
$declaredVar = 'Declared just for fun'
Write-Output $declaredVar
}
Special cases
The following examples trigger the PSUseDeclaredVarsMoreThanAssignments warning. This behavior is a limitation of the rule. There is no way to avoid these false positive warnings.
In this case, the warning is triggered because $bar
is not used within the scriptblock where it
was defined.
$foo | ForEach-Object {
if ($_ -eq $false) {
$bar = $true
}
}
if($bar){
Write-Host 'Collection contained a false case.'
}
In the next example, the warning is triggered because $errResult
isn't recognized as being used in
the Write-Host
command.
$errResult = $null
Write-Host 'Ugh:' -ErrorVariable errResult
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for