diff --git a/Engine/Helper.cs b/Engine/Helper.cs index 78e43dc2a..8fcae65f9 100644 --- a/Engine/Helper.cs +++ b/Engine/Helper.cs @@ -353,7 +353,8 @@ public bool PositionalParameterUsed(CommandAst cmdAst, bool moreThanThreePositio arguments += 1; } - if (moreThanThreePositional && arguments < 3) + // if we are only checking for 3 or more positional parameters, check that arguments < parameters + 3 + if (moreThanThreePositional && (arguments - parameters) < 3) { return false; } diff --git a/Engine/ScriptAnalyzerEngine.csproj b/Engine/ScriptAnalyzerEngine.csproj index 46c607751..cf73f3044 100644 --- a/Engine/ScriptAnalyzerEngine.csproj +++ b/Engine/ScriptAnalyzerEngine.csproj @@ -86,6 +86,11 @@ + + + + + @@ -105,8 +110,8 @@ if not exist "$(SolutionDir)$(SolutionName)" mkdir "$(SolutionDir)$(SolutionName)" copy /y "$(ProjectDir)*.ps1xml" "$(SolutionDir)$(SolutionName)" copy /y "$(ProjectDir)*.psd1" "$(SolutionDir)$(SolutionName)" - if not exist "$(SolutionDir)$(SolutionName)\Configurations" mkdir "$(SolutionDir)$(SolutionName)\Configurations" - copy /y "$(ProjectDir)Configurations\*.psd1" "$(SolutionDir)$(SolutionName)\Configurations" + if not exist "$(SolutionDir)$(SolutionName)\Settings" mkdir "$(SolutionDir)$(SolutionName)\Settings" + copy /y "$(ProjectDir)Settings\*.psd1" "$(SolutionDir)$(SolutionName)\Settings" copy /y "$(TargetPath)" "$(SolutionDir)$(SolutionName)" if not exist "$(SolutionDir)$(SolutionName)\en-US" mkdir "$(SolutionDir)$(SolutionName)\en-US" copy /y "$(ProjectDir)about_*.help.txt" "$(SolutionDir)$(SolutionName)\en-US" diff --git a/Engine/Configurations/CmdletDesign.psd1 b/Engine/Settings/CmdletDesign.psd1 similarity index 100% rename from Engine/Configurations/CmdletDesign.psd1 rename to Engine/Settings/CmdletDesign.psd1 diff --git a/Engine/Configurations/DSC.psd1 b/Engine/Settings/DSC.psd1 similarity index 100% rename from Engine/Configurations/DSC.psd1 rename to Engine/Settings/DSC.psd1 diff --git a/Engine/Configurations/ScriptFunctions.psd1 b/Engine/Settings/ScriptFunctions.psd1 similarity index 100% rename from Engine/Configurations/ScriptFunctions.psd1 rename to Engine/Settings/ScriptFunctions.psd1 diff --git a/Engine/Configurations/ScriptSecurity.psd1 b/Engine/Settings/ScriptSecurity.psd1 similarity index 100% rename from Engine/Configurations/ScriptSecurity.psd1 rename to Engine/Settings/ScriptSecurity.psd1 diff --git a/Engine/Configurations/ScriptingStyle.psd1 b/Engine/Settings/ScriptingStyle.psd1 similarity index 100% rename from Engine/Configurations/ScriptingStyle.psd1 rename to Engine/Settings/ScriptingStyle.psd1 diff --git a/README.md b/README.md index d2de4d679..2ecd05141 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,9 @@ Announcements ##### ISE Add-On for ScriptAnalyzer is available in PowerShell Gallery! (https://www.powershellgallery.com/packages/ISEScriptAnalyzerAddOn/) +##### Visual Studio Code now has PowerShell language support with ScriptAnalyzer integration +(http://blogs.msdn.com/b/powershell/archive/2015/11/17/announcing-windows-powershell-for-visual-studio-code-and-more.aspx) + ============= ##### ScriptAnalyzer community meeting schedule: diff --git a/Tests/Rules/AvoidPositionalParametersNoViolations.ps1 b/Tests/Rules/AvoidPositionalParametersNoViolations.ps1 index 1c3841846..9a5cc7d75 100644 --- a/Tests/Rules/AvoidPositionalParametersNoViolations.ps1 +++ b/Tests/Rules/AvoidPositionalParametersNoViolations.ps1 @@ -20,4 +20,6 @@ Get-Content Test Get-ChildItem Tests Write-Output "I don't want to use positional parameters" Split-Path "RandomPath" -Leaf -Get-Process | ForEach-Object {Write-Host $_.name -foregroundcolor cyan} \ No newline at end of file +Get-Process | ForEach-Object {Write-Host $_.name -foregroundcolor cyan} + +$srvc = Get-WmiObject Win32_Service -ComputerName $computername -Filter "name=""$service""" -Credential $credential \ No newline at end of file