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,281,415 | 3/18/2025 |
| 1.23.0 | 1,142,066 | 10/9/2024 |
| 1.22.0 | 1,002,785 | 2/27/2024 |
| 1.21.0 | 1,523,607 | 9/29/2022 |
| 1.20.0 | 1,047,333 | 8/24/2021 |
| 1.19.1 | 720,393 | 7/28/2020 |
| 1.19.0 | 197,880 | 5/4/2020 |
| 1.18.3 | 521,638 | 9/16/2019 |
| 1.18.2 | 29,419 | 9/3/2019 |
| 1.18.1 | 116,243 | 6/13/2019 |
| 1.18.0 | 157,279 | 3/21/2019 |
| 1.17.1 | 234,790 | 6/5/2018 |
| 1.16.1 | 110,611 | 9/5/2017 |
| 1.16.0 | 5,693 | 8/16/2017 |
| 1.15.0 | 22,117 | 6/21/2017 |
| 1.14.1 | 2,689 | 6/12/2017 |
| 1.14.0 | 939 | 6/9/2017 |
| 1.13.0 | 6,523 | 5/18/2017 |
| 1.12.0 | 2,317 | 5/9/2017 |
| 1.11.1 | 7,134 | 4/4/2017 |
| 1.11.0 | 8,571 | 3/1/2017 |
| 1.10.0 | 6,252 | 1/19/2017 |
| 1.9.0 | 5,873 | 12/6/2016 |
| 1.8.1 | 7,239 | 10/14/2016 |
| 1.8.0 | 1,313 | 10/8/2016 |
| 1.7.0 | 5,255 | 8/18/2016 |
| 1.6.0 | 28,877 | 6/7/2016 |
| 1.5.0 | 5,115 | 3/30/2016 |
| 1.4.0 | 3,144 | 2/17/2016 |
| 1.3.0 | 1,250 | 1/19/2016 |
| 1.2.0 (current version) | 13,579 | 12/16/2015 |
| 1.1.1 | 921 | 11/4/2015 |
| 1.1.0 | 909 | 9/1/2015 |
| 1.0.2 | 639 | 6/24/2015 |
| 1.0.1 | 528 | 5/8/2015 |
| 1.0 | 529 | 4/24/2015 |