Skip to content

foreach Variable Assignment isn't Validated by PSAvoidAssignmentToAutomaticVariable #2020

Closed

Description

@poshAJ

Steps to reproduce

Invoke-ScriptAnalyzer -ScriptDefinition 'foreach ($Host in $foo) {}'

Expected behavior

The Variable 'Host' cannot be assigned since it is a readonly automatic variable that is built into PowerShell, please use a different name.

Actual behavior


Environment data

> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      7.4.4
PSEdition                      Core
GitCommitId                    7.4.4
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

> (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }
1.22.0

Activity

  1. changed the title [-]Implicit Variable Assignment by foreach isn't Validated by PSAvoidAssignmentToAutomaticVariable[/-] [+]foreach Variable Assignment isn't Validated by PSAvoidAssignmentToAutomaticVariable[/+] on Aug 10, 2024
  2. SydneyhSmith commented on Aug 14, 2024

    @SydneyhSmith
    Collaborator

    Thanks this is a tricky one because of scoping--- we will take a look a the PR, thanks for opening

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions