Edit

Share via


UseCorrectCasing

Severity Level: Information

Description

This is a style/formatting rule. PowerShell is case insensitive wherever possible, so the casing of cmdlet names, parameters, keywords and operators does not matter. This rule nonetheless ensures consistent casing for clarity and readability. Using lowercase keywords helps distinguish them from commands. Using lowercase operators helps distinguish them from parameters.

How

  • Use exact casing for type names.
  • Use exact casing of the cmdlet and its parameters.
  • Use lowercase for language keywords and operators.

Configuration

Rules = @{
    PS UseCorrectCasing = @{
        Enable        = $true
        CheckCommands = $true
        CheckKeyword  = $true
        CheckOperator = $true
    }
}

Parameters

Enable: bool (Default value is $false)

Enable or disable the rule during ScriptAnalyzer invocation.

CheckCommands: bool (Default value is $true)

If true, require the case of all operators to be lowercase.

CheckKeyword: bool (Default value is $true)

If true, require the case of all keywords to be lowercase.

CheckOperator: bool (Default value is $true)

If true, require the case of all commands to match their actual casing.

Examples

Wrong way

ForEach ($file in Get-childitem -Recurse) {
    $file.Extension -eq '.txt'
}

invoke-command { 'foo' } -runasadministrator

Correct way

foreach ($file in Get-ChildItem -Recurse) {
    $file.Extension -eq '.txt'
}

Invoke-Command { 'foo' } -RunAsAdministrator