diff --git a/Engine/Commands/InvokeScriptAnalyzerCommand.cs b/Engine/Commands/InvokeScriptAnalyzerCommand.cs index afbfc46b7..15d348785 100644 --- a/Engine/Commands/InvokeScriptAnalyzerCommand.cs +++ b/Engine/Commands/InvokeScriptAnalyzerCommand.cs @@ -159,6 +159,7 @@ public SwitchParameter SuppressedOnly /// /// Returns path to the file that contains user profile for ScriptAnalyzer /// + [Alias("Configuration")] [Parameter(Mandatory = false)] [ValidateNotNull] public string Profile diff --git a/Engine/Configurations/CmdletDesign.psd1 b/Engine/Configurations/CmdletDesign.psd1 new file mode 100644 index 000000000..e90ff47ad --- /dev/null +++ b/Engine/Configurations/CmdletDesign.psd1 @@ -0,0 +1,10 @@ +@{ + IncludeRules=@('PSUseApprovedVerbs', + 'PSReservedCmdletChar', + 'PSReservedParams', + 'PSShouldProcess', + 'PSUseShouldProcessForStateChangingFunctions', + 'PSUseSingularNouns', + 'PSMissingModuleManifestField', + 'PSAvoidDefaultValueSwitchParameter') +} \ No newline at end of file diff --git a/Engine/Configurations/DSC.psd1 b/Engine/Configurations/DSC.psd1 new file mode 100644 index 000000000..0fa2ac9c6 --- /dev/null +++ b/Engine/Configurations/DSC.psd1 @@ -0,0 +1,3 @@ +@{ + IncludeRules=@('PSDSC*') +} \ No newline at end of file diff --git a/Engine/Configurations/ScriptFunctions.psd1 b/Engine/Configurations/ScriptFunctions.psd1 new file mode 100644 index 000000000..b394abddf --- /dev/null +++ b/Engine/Configurations/ScriptFunctions.psd1 @@ -0,0 +1,11 @@ +@{ + IncludeRules=@('PSAvoidUsingCmdletAliases', + 'PSAvoidUsingWMICmdlet', + 'PSAvoidUsingEmptyCatchBlock', + 'PSUseCmdletCorrectly', + 'PSUseShouldProcessForStateChangingFunctions', + 'PSAvoidUsingPositionalParameters', + 'PSAvoidGlobalVars', + 'PSUseDeclaredVarsMoreThanAssignments', + 'PSAvoidUsingInvokeExpression') +} \ No newline at end of file diff --git a/Engine/Configurations/ScriptSecurity.psd1 b/Engine/Configurations/ScriptSecurity.psd1 new file mode 100644 index 000000000..3be041013 --- /dev/null +++ b/Engine/Configurations/ScriptSecurity.psd1 @@ -0,0 +1,8 @@ +@{ + IncludeRules=@('PSAvoidUsingPlainTextForPassword', + 'PSAvoidUsingComputerNameHardcoded', + 'PSAvoidUsingConvertToSecureStringWithPlainText', + 'PSUsePSCredentialType', + 'PSAvoidUsingUserNameAndPasswordParams', + 'PSAvoidUsingFilePath') +} \ No newline at end of file diff --git a/Engine/Configurations/ScriptingStyle.psd1 b/Engine/Configurations/ScriptingStyle.psd1 new file mode 100644 index 000000000..a25571566 --- /dev/null +++ b/Engine/Configurations/ScriptingStyle.psd1 @@ -0,0 +1,4 @@ +@{ + IncludeRules=@('PSProvideCommentHelp', + 'PSAvoidUsingWriteHost') +} \ No newline at end of file diff --git a/Engine/ScriptAnalyzerEngine.csproj b/Engine/ScriptAnalyzerEngine.csproj index 80e91a809..8dc4aeffb 100644 --- a/Engine/ScriptAnalyzerEngine.csproj +++ b/Engine/ScriptAnalyzerEngine.csproj @@ -104,6 +104,8 @@ mkdir "$(SolutionDir)$(SolutionName)" copy /y "$(ProjectDir)\*.ps1xml" "$(SolutionDir)$(SolutionName)" copy /y "$(ProjectDir)\*.psd1" "$(SolutionDir)$(SolutionName)" +mkdir "$(SolutionDir)$(SolutionName)\Configurations" +copy /y "$(ProjectDir)\Configurations\*.psd1" "$(SolutionDir)$(SolutionName)\Configurations" copy /y "$(TargetPath)" "$(SolutionDir)$(SolutionName)" mkdir "$(SolutionDir)$(SolutionName)\en-US" copy /y "$(ProjectDir)\about_*.help.txt" "$(SolutionDir)$(SolutionName)\en-US"