PowerShell / PowerShell/PSScriptAnalyzer

Incorrectly formats an array passed to a parameter when backtick is used to separate parameters

Offen
#1,570 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

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

Beschreibung

Not sure what rule is responsible for this error, so this might have been reported before. 🤔 If so please close.

Steps to reproduce

$scriptDefinition = @'
$testTargetResourceReturnValue = Test-DscParameterState -CurrentValues $getTargetResourceResult `
    -DesiredValues $desiredValues `
    -ValuesToCheck @(
        'LoginName'
        'AsymmetricKeyName'
        'CertificateName'
        'UserType'
    ) `
    -TurnOffTypeChecking
'@

Invoke-Formatter -ScriptDefinition $scriptDefinition  

Expected behavior

No formatting change.

$testTargetResourceReturnValue = Test-DscParameterState -CurrentValues $getTargetResourceResult `
    -DesiredValues $desiredValues `
    -ValuesToCheck @(
        'LoginName'
        'AsymmetricKeyName'
        'CertificateName'
        'UserType'
    ) `
    -TurnOffTypeChecking

Actual behavior

Array is wrongly indented.

$testTargetResourceReturnValue = Test-DscParameterState -CurrentValues $getTargetResourceResult `
    -DesiredValues $desiredValues `
    -ValuesToCheck @(
    'LoginName'
    'AsymmetricKeyName'
    'CertificateName'
    'UserType'
) `
    -TurnOffTypeChecking

Environment data

$PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.19041.1
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.1
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

and

Name                           Value
----                           -----
PSVersion                      7.0.3
PSEdition                      Core
GitCommitId                    7.0.3
OS                             Microsoft Windows 10.0.19042
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.19.1

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

Beginne damit, das Formatierungsproblem mit Invoke-Formatter anhand der im Bericht gezeigten PowerShell-Skriptdefinition zu reproduzieren. Verfolge, wie der Formatter die durch Backticks getrennten Parameter und das -ValuesToCheck-Array verarbeitet, und überprüfe anschließend, dass die Einrückung des Arrays der erwarteten Ausgabe entspricht, ohne andere Formatierungen zu ändern.

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
Klar beschrieben
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

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