Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get-ScriptAnalyzerRule throws "Exception of type 'System.Exception' was thrown." when path does not contain rules #1875

Open
Marc013 opened this issue Dec 16, 2022 · 0 comments · May be fixed by #1968

Comments

@Marc013
Copy link

Marc013 commented Dec 16, 2022

When running command provided in the reproduce section exception Exception of type 'System.Exception' was thrown. is thrown. This message does not inform what is wrong and causes unexpected and very unclear behavior when using in automation.

It would be absolutely great when a more meaningful exception message could be thrown.

Steps to reproduce

Get-ScriptAnalyzerRule -CustomRulePath C:\someExistingPathWithoutPSSARules\ -RecurseCustomRulePath

Expected behavior

$null

or

No script analyzer rules found

Actual behavior

Get-ScriptAnalyzerRule: Exception of type 'System.Exception' was thrown.

If an unexpected error was thrown then please report the full error details using e.g. $error[0] | Select-Object *

PSMessageDetails      :
Exception             : System.Exception: Exception of type 'System.Exception' was thrown.
                           at System.Management.Automation.MshCommandRuntime.ThrowTerminatingError(ErrorRecord errorRecord)
TargetObject          : Microsoft.Windows.PowerShell.ScriptAnalyzer.ScriptAnalyzer
CategoryInfo          : ResourceExists: (Microsoft.Windows.P…yzer.ScriptAnalyzer:ScriptAnalyzer) [Get-ScriptAnalyzerRule], Exception
FullyQualifiedErrorId : Cannot find ScriptAnalyzer rules in the specified path,Microsoft.Windows.PowerShell.ScriptAnalyzer.Commands.GetScriptAnalyzerRuleCommand
ErrorDetails          :
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {}

Environment data

> $PSVersionTable
Name                           Value
----                           -----
PSVersion                      7.3.1
PSEdition                      Core
GitCommitId                    7.3.1
OS                             Microsoft Windows 10.0.19042
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

> (Get-Module -ListAvailable PSScriptAnalyzer).Version | ForEach-Object { $_.ToString() }
1.21.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants