description | ms.date | ms.topic | title |
---|---|---|---|
Extra Variables |
03/06/2024 |
reference |
UseDeclaredVarsMoreThanAssignments |
Severity Level: Warning
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'.
Remove the variables that are declared but not used.
function Test
{
$declaredVar = 'Declared just for fun'
$declaredVar2 = 'Not used'
Write-Output $declaredVar
}
function Test
{
$declaredVar = 'Declared just for fun'
Write-Output $declaredVar
}
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