PSScriptAnalyzer is a static code checker for PowerShell modules and scripts. PSScriptAnalyzer checks the quality of PowerShell code by running a set of rules.
PSScriptAnalyzer is a static code checker for PowerShell modules and scripts. PSScriptAnalyzer checks the quality of PowerShell code by running a set of rules. The rules are based on PowerShell best practices identified by PowerShell Team and the community. It generates DiagnosticResults (errors and warnings) to inform users about potential code defects and suggests possible solutions for improvements.
PSScriptAnalyzer ships with a collection of built-in rules that check various aspects of PowerShell code such as:
- The presence of uninitialized variables
- Use of PSCredential type
- Use of Invoke-Expression
- And many more
You can choose which rules to include or exclude for your modules and scripts. PSScriptAnalyzer also has the ability to fix the formatting of your code. This helps you produce code that conforms to a standard style, is easier to read, and is more maintainable.
How to Install PSScriptAnalyzer?
Method 1 – Using Install-Module
$ Install-Module -Name PSScriptAnalyzer -Force
Mehtod 2 – Using Install-PSResource
Step 1- Install PowerShellGet using follwing tutorials
Step 2 – Run following command
$ Install-PSResource -Name PSScriptAnalyzer -Reinstall
More Info – https://docs.microsoft.com/en-us/powershell/utility-modules/psscriptanalyzer/overview?view=ps-modules
PSScriptAnalyzer Commands
$ Get-ScriptAnalyzerRule
Gets the script analyzer rules on the local computer.
$ Invoke-Formatter
Formats a script text based on the input settings or default settings.
$ Invoke-ScriptAnalyzer
Evaluates a script or module based on selected best practice rules
I’m Rajesh Kumar, a DevOps, SRE, DevSecOps, Cloud, and Platform Engineering expert passionate about sharing practical knowledge, real-world experiences, and industry best practices. I have worked at Cotocus and regularly write about technology, travel, investing, health, product reviews, and digital marketing through my various platforms.
I publish technical articles at DevOps School, travel stories at Holiday Landmark, stock market insights at Stocks Mantra, health and fitness guidance at My Medic Plus, product reviews at TrueReviewNow, and SEO and digital marketing strategies at Wizbrand.
Find Trusted Cardiac Hospitals
Compare heart hospitals by city and services — all in one place.
Explore Hospitals
One aspect that deserves more attention is treating PSScriptAnalyzer as a policy enforcement mechanism rather than just a developer-side code checker. In larger environments, teams usually version-control a shared
PSScriptAnalyzerSettings.psd1, integrateInvoke-ScriptAnalyzerinto pull request pipelines, and fail builds only on selected severities while allowing documented suppressions for legitimate exceptions. It’s also worth noting that PSScriptAnalyzer cannot detect runtime issues, dependency availability, or behavioral regressions, so combining it with Pester tests and compatibility checks for target PowerShell versions provides much stronger confidence before deployment. Without these practices, analyzer adoption often degrades over time into a noisy advisory tool instead of becoming a sustainable code quality gate.