PSScriptAnalyzer
1.2.0
PSScriptAnalyzer provides script analysis and checks for potential code defects in the scripts by applying a group of built-in or customized rules on the scripts being analyzed.
Installation Options
Owners
Copyright
(c) Microsoft Corporation 2015. All rights reserved.
Package Details
Author(s)
- Microsoft Corporation
Cmdlets
Get-ScriptAnalyzerRule Invoke-ScriptAnalyzer
Dependencies
This module has no dependencies.
Release Notes
Released v1.2.0 (Dec.17, 2015)
Features:
- Support for consuming PowerShell content as streams (-ScriptDefinition)
- ScriptAnalyzer accepts configuration (settings) in the form of a hashtable (-Settings), added sample Settings
- Ability to run default ruleset along with custom ones in the same invocation (-IncludeDefaultRules)
- Recurse Custom Rule Paths (-RecurseCustomRulePath)
- Consistent Engine error handling when working with Settings, Default and Custom Rules
Rules:
- Rule to detect the presence of default value for Mandatory parameters (AvoidDefaultValueForMandatoryParameter)
Fixes:
Engine:
- Engine update to prevent script based injection attacks
- CustomizedRulePath is now called CustomRulePath – Fixes to handle folder paths
- Fixes for RecurseCustomRulePath functionality
- Fix to binplace cmdlet help file as part of build process
- ScriptAnalyzer Profile is now called Settings
- Fix to emit filename in the diagnosticrecord when using Script based custom rules
- Fix to prevent Engine from calling Update-Help for script based custom rules
- Added additional pester tests to take care of test holes in Custom Rule feature
- Post-build error handling improvements, fixed typos in the project
Rules:
- Fixed bug in Positional parameter rule to trigger only when used with > 3 positional - parameters
- Updated keywords that trigger PSAvoidUsingPlainTextForPassword rule
- Updated ProvideDefaultParameterValue rule to AvoidDefaultValueForMandatoryParameter rule
- Deprecate Internal Url rule based on community feedback, identified additional rules to handle hardcoded paths etc
- Added localhost exceptions for HardCodedComputerName Rule
- Update to Credential based rules to validate the presence of CredentialAttribute and PSCredential type
Documentation:
- Rule & Cmdlet documentation updates – Cmdlet help file addition
FileList
- PSScriptAnalyzer.nuspec
- Microsoft.Windows.PowerShell.ScriptAnalyzer.BuiltinRules.dll
- Microsoft.Windows.PowerShell.ScriptAnalyzer.dll
- PSScriptAnalyzer.psd1
- ScriptAnalyzer.format.ps1xml
- ScriptAnalyzer.types.ps1xml
- en-US\about_PSScriptAnalyzer.help.txt
- en-US\Microsoft.Windows.PowerShell.ScriptAnalyzer.dll-Help.xml
- Settings\CmdletDesign.psd1
- Settings\DSC.psd1
- Settings\ScriptFunctions.psd1
- Settings\ScriptingStyle.psd1
- Settings\ScriptSecurity.psd1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 1.24.0 | 3,095,302 | 3/18/2025 |
| 1.23.0 | 1,136,835 | 10/9/2024 |
| 1.22.0 | 997,026 | 2/27/2024 |
| 1.21.0 | 1,513,344 | 9/29/2022 |
| 1.20.0 | 1,042,740 | 8/24/2021 |
| 1.19.1 | 719,147 | 7/28/2020 |
| 1.19.0 | 196,693 | 5/4/2020 |
| 1.18.3 | 520,019 | 9/16/2019 |
| 1.18.2 | 29,317 | 9/3/2019 |
| 1.18.1 | 116,111 | 6/13/2019 |
| 1.18.0 | 157,152 | 3/21/2019 |
| 1.17.1 | 234,770 | 6/5/2018 |
| 1.16.1 | 110,578 | 9/5/2017 |
| 1.16.0 | 5,692 | 8/16/2017 |
| 1.15.0 | 22,108 | 6/21/2017 |
| 1.14.1 | 2,688 | 6/12/2017 |
| 1.14.0 | 934 | 6/9/2017 |
| 1.13.0 | 6,522 | 5/18/2017 |
| 1.12.0 | 2,316 | 5/9/2017 |
| 1.11.1 | 7,133 | 4/4/2017 |
| 1.11.0 | 8,566 | 3/1/2017 |
| 1.10.0 | 6,246 | 1/19/2017 |
| 1.9.0 | 5,861 | 12/6/2016 |
| 1.8.1 | 7,238 | 10/14/2016 |
| 1.8.0 | 1,311 | 10/8/2016 |
| 1.7.0 | 5,252 | 8/18/2016 |
| 1.6.0 | 28,866 | 6/7/2016 |
| 1.5.0 | 5,115 | 3/30/2016 |
| 1.4.0 | 3,142 | 2/17/2016 |
| 1.3.0 | 1,248 | 1/19/2016 |
| 1.2.0 (current version) | 12,670 | 12/16/2015 |
| 1.1.1 | 920 | 11/4/2015 |
| 1.1.0 | 908 | 9/1/2015 |
| 1.0.2 | 639 | 6/24/2015 |
| 1.0.1 | 528 | 5/8/2015 |
| 1.0 | 529 | 4/24/2015 |