PowerShell / PowerShell/PSScriptAnalyzer

Settings param cannot be set to $_ inside of a foreach-object loop

Offen
#807 2 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Area - Engine in progress Issue - Bug
Vorherrschende Sprache
C#
Sterne
2.2k
Forks
414
Ø Merge
13 Std. 1 Min.
Gemergte PRs (30 T.)
2

Beschreibung

When the value of the -Settings parameter is set to $_ inside of a foreach-object loop, PSScriptAnalyzer is unable to find the settings file.

Steps to reproduce:
Create a file that violates a rule that is only checked if a particular setting is triggered.
IE:

if ($true)
{
    Write-Output 'Something'
}

This code will throw errors if -Settings is set to CodeFormattingStroustrup but not if -Settings it is omitted.

The following command returns warnings.
invoke-scriptanalyzer -path C:\files\ax.ps1 -Settings 'CodeFormattingStroustrup'
But this one does not.
'CodeFormattingStroustrup' | % { invoke-scriptanalyzer -path C:\files\ax.ps1 -Settings $_ }

Using -Verbose on the non-working example shows that PSScriptAnalyzer cannot find a settings file.

This occurs on version 1.15.0 of PSScriptAnalyzer.

Screenshot
image

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit dem Einstiegspunkt Invoke-ScriptAnalyzer und reproduzieren Sie den Unterschied zwischen einem direkten -Settings-Wert und der foreach-object-Form mit -Verbose. Verfolgen Sie, wie der Einstellungswert bei beiden Aufrufen aufgelöst wird; abgeschlossen ist die Aufgabe, wenn die weitergeleitete $_-Form CodeFormattingStroustrup findet und dieselben Warnungen wie der direkte Befehl meldet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
powershell
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.