{"id":26916702,"url":"https://github.com/microsoft/psrule","last_synced_at":"2025-05-16T05:05:39.942Z","repository":{"id":37612269,"uuid":"125832556","full_name":"microsoft/PSRule","owner":"microsoft","description":"Validate infrastructure as code (IaC) and objects using PowerShell rules.","archived":false,"fork":false,"pushed_at":"2025-05-14T06:53:14.000Z","size":101091,"stargazers_count":421,"open_issues_count":65,"forks_count":56,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-05-14T07:36:59.119Z","etag":null,"topics":["allof","anyof","concept","devops","devops-tools","hacktoberfest","infrastructure-as-code","powershell","powershell-module","psrule","rule","rule-engine","testing-tools","typeof"],"latest_commit_sha":null,"homepage":"https://microsoft.github.io/PSRule/v2/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microsoft.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-19T09:24:17.000Z","updated_at":"2025-05-14T06:22:39.000Z","dependencies_parsed_at":"2023-11-07T07:28:01.288Z","dependency_job_id":"dfc39894-5ddd-48f4-933d-33e610601111","html_url":"https://github.com/microsoft/PSRule","commit_stats":null,"previous_names":[],"tags_count":241,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPSRule","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPSRule/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPSRule/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microsoft%2FPSRule/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microsoft","download_url":"https://codeload.github.com/microsoft/PSRule/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254471061,"owners_count":22076585,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["allof","anyof","concept","devops","devops-tools","hacktoberfest","infrastructure-as-code","powershell","powershell-module","psrule","rule","rule-engine","testing-tools","typeof"],"created_at":"2025-04-01T19:37:10.322Z","updated_at":"2025-05-16T05:05:34.931Z","avatar_url":"https://github.com/microsoft.png","language":"C#","readme":"# PSRule\n\nA cross-platform module to validate infrastructure as code (IaC) and objects using PowerShell rules.\nPSRule works great and integrates with popular continuous integration (CI) systems.\n\n[![Open in vscode.dev](https://img.shields.io/badge/Open%20in-vscode.dev-blue)][1]\n\n### Summary\n\n- [Introduction](#summary)\n- [Project Objectives](#project-objectives)\n- [Support](#support)\n- [Getting the module](#getting-the-module)\n- [Getting extensions](#getting-extensions)\n- [Getting started](#getting-started)\n  - [Scenarios](#scenarios)\n- [Language reference](#language-reference)\n  - [Keywords](#keywords)\n  - [Commands](#commands)\n  - [Concepts](#concepts)\n  - [Schemas](#schemas)\n- [Related projects](#related-projects)\n- [Changes and versioning](#changes-and-versioning)\n- [Contributing](#contributing)\n- [Code of conduct](#code-of-conduct)\n- [Maintainers](#maintainers)\n- [License](#license)\n\n### Features of PSRule include\n\n- [DevOps][2] - Built to support DevOps culture and tools.\n- [Extensible][3] - Define tests using YAML, JSON, or PowerShell format.\n- [Reusable][4] - Reuse and share rules across teams or organizations.\n\n  [1]: https://vscode.dev/github/microsoft/PSRule\n  [2]: https://microsoft.github.io/PSRule/latest/features/#devops\n  [3]: https://microsoft.github.io/PSRule/latest/features/#extensible\n  [4]: https://microsoft.github.io/PSRule/latest/features/#reusable\n\n## Project objectives\n\n1. **Extensible**:\n   - Provide an execution environment (tools and language) to validate infrastructure code.\n   - Handling of common concerns such as input/ output/ reporting should be handled by the engine.\n   - Language must be flexible enough to support a wide range of use cases.\n2. **DevOps**:\n   - Validation should support and enhance DevOps workflows by providing fast feedback in pull requests.\n   - Allow quality gates to be implemented between environments such development, test, and production.\n3. **Cross-platform**:\n   - A wide range of platforms can be used to author and deploy infrastructure code.\nPSRule must support rule validation and authoring on Linux, MacOS, and Windows.\n   - Runs in a Linux container.\nFor continuous integration (CI) systems that do not support PowerShell, run in a container.\n4. **Reusable**:\n   - Validation should plug and play, reusable across teams and organizations.\n   - Any reusable validation will have exceptions.\nRules must be able to be disabled where they are not applicable.\n\nContinue reading the [PSRule design specification][5].\n\n  [5]: docs/specs/design-spec.md\n  \n\u003e Back to the [summary](#summary)\n\n## Support\n\nThis project uses GitHub Issues to track bugs and feature requests.\nPlease search the existing issues before filing new issues to avoid duplicates.\n\n- For new issues, file your bug or feature request as a new [issue][6].\n- For help, discussion, and support questions about using this project, join or start a [discussion][7].\n\nSupport for this project/ product is limited to the resources listed above.\n\n  [6]: https://github.com/Microsoft/PSRule/issues\n  [7]: https://github.com/microsoft/PSRule/discussions\n\n\u003e Back to the [summary](#summary)\n\n## Getting the module\n\nYou can download and install the PSRule module from the PowerShell Gallery.\n\nModule | Description | Downloads / instructions\n------ | ----------- | ------------------------\nPSRule | Validate infrastructure as code (IaC) and objects using PowerShell rules. | [latest][8] / [instructions][9]\n\nFor rule and integration modules see [related projects][10].\n\n  [8]: https://www.powershellgallery.com/packages/PSRule\n  [9]: https://microsoft.github.io/PSRule/v2/install-instructions/\n  [10]: https://microsoft.github.io/PSRule/v2/related-projects/\n\n\u003e Back to the [summary](#summary)\n\n## Getting extensions\n\nCompanion extensions are available for the following platforms.\n\nPlatform           | Description | Downloads / instructions\n--------           | ----------- | ------------------------\nAzure Pipelines    | Validate infrastructure as code (IaC) and DevOps repositories using Azure Pipelines. | [latest][11] / [instructions][9]\nGitHub Actions     | Validate infrastructure as code (IaC) and DevOps repositories using GitHub Actions. | [latest][12] / [instructions][9]\nVisual Studio Code | Visual Studio Code extension for PSRule. | [latest][13] / [instructions][9]\n\n  [11]: https://marketplace.visualstudio.com/items?itemName=bewhite.ps-rule\n  [12]: https://github.com/marketplace/actions/psrule\n  [13]: https://marketplace.visualstudio.com/items?itemName=bewhite.psrule-vscode\n  \n\u003e Back to the [summary](#summary)\n\n## Getting started\n\nFor an quickstart example of using PSRule see [Create a standalone rule](https://microsoft.github.io/PSRule/v2/quickstart/standalone-rule/).\nFor specific use cases see [scenarios](#scenarios).\n\nFor frequently asked questions, see the [FAQ](https://microsoft.github.io/PSRule/v2/faq/).\n\n\u003e Back to the [summary](#summary)\n\n### Scenarios\n\nFor walk through examples of PSRule usage see:\n\n- [Validate Azure resource configuration](https://microsoft.github.io/PSRule/v2/scenarios/azure-resources/azure-resources/)\n- [Validate Azure resources tags](https://microsoft.github.io/PSRule/v2/scenarios/azure-tags/azure-tags/)\n- [Validate Kubernetes resources](https://microsoft.github.io/PSRule/v2/scenarios/kubernetes-resources/kubernetes-resources/)\n- [Using within continuous integration](https://microsoft.github.io/PSRule/v2/scenarios/validation-pipeline/validation-pipeline/)\n- [Packaging rules in a module](https://microsoft.github.io/PSRule/v2/authoring/packaging-rules/)\n- [Writing rule help](https://microsoft.github.io/PSRule/v2/authoring/writing-rule-help/)\n\n\u003e Back to the [summary](#summary)\n\n## Language reference\n\nPSRule extends PowerShell with domain specific language (DSL) keywords, cmdlets and automatic variables.\n\n### Keywords\n\nThe following language keywords are used by the `PSRule` module:\n\n- [Rule](https://microsoft.github.io/PSRule/v2/keywords/PSRule/en-US/about_PSRule_Keywords/#rule) - A rule definition.\n- [Exists](https://microsoft.github.io/PSRule/v2/keywords/PSRule/en-US/about_PSRule_Keywords/#exists) - Assert that a field or property must exist.\n- [Match](https://microsoft.github.io/PSRule/v2/keywords/PSRule/en-US/about_PSRule_Keywords/#match) - Assert that the field must match any of the regular expressions.\n- [AnyOf](https://microsoft.github.io/PSRule/v2/keywords/PSRule/en-US/about_PSRule_Keywords/#anyof) - Assert that any of the child expressions must be true.\n- [AllOf](https://microsoft.github.io/PSRule/v2/keywords/PSRule/en-US/about_PSRule_Keywords/#allof) - Assert that all of the child expressions must be true.\n- [Within](https://microsoft.github.io/PSRule/v2/keywords/PSRule/en-US/about_PSRule_Keywords/#within) - Assert that the field must match any of the values.\n- [TypeOf](https://microsoft.github.io/PSRule/v2/keywords/PSRule/en-US/about_PSRule_Keywords/#typeof) - Assert that the object must be of a specific type.\n- [Reason](https://microsoft.github.io/PSRule/v2/keywords/PSRule/en-US/about_PSRule_Keywords/#reason) - Return a reason for why the rule failed.\n- [Recommend](https://microsoft.github.io/PSRule/v2/keywords/PSRule/en-US/about_PSRule_Keywords/#recommend) - Return a recommendation to resolve the issue and pass the rule.\n\n\u003e Back to the [summary](#summary)\n\n### Commands\n\nThe following commands exist in the `PSRule` module:\n\n- [Assert-PSRule](https://microsoft.github.io/PSRule/v2/commands/PSRule/en-US/Assert-PSRule/) - Evaluate objects against matching rules and assert any failures.\n- [Export-PSRuleBaseline](https://microsoft.github.io/PSRule/v2/commands/PSRule/en-US/Export-PSRuleBaseline/) - Exports a list of baselines to a file.\n- [Get-PSRule](https://microsoft.github.io/PSRule/v2/commands/PSRule/en-US/Get-PSRule/) - Get a list of rule definitions.\n- [Get-PSRuleBaseline](https://microsoft.github.io/PSRule/v2/commands/PSRule/en-US/Get-PSRuleBaseline/) - Get a list of baselines.\n- [Get-PSRuleHelp](https://microsoft.github.io/PSRule/v2/commands/PSRule/en-US/Get-PSRuleHelp/) - Get documentation for a rule.\n- [Get-PSRuleTarget](https://microsoft.github.io/PSRule/v2/commands/PSRule/en-US/Get-PSRuleTarget/) - Get a list of target objects.\n- [Invoke-PSRule](https://microsoft.github.io/PSRule/v2/commands/PSRule/en-US/Invoke-PSRule/) - Evaluate objects against matching rules and output the results.\n- [New-PSRuleOption](https://microsoft.github.io/PSRule/v2/commands/PSRule/en-US/New-PSRuleOption/) - Create options to configure PSRule execution.\n- [Set-PSRuleOption](https://microsoft.github.io/PSRule/v2/commands/PSRule/en-US/Set-PSRuleOption/) - Sets options that configure PSRule execution.\n- [Test-PSRuleTarget](https://microsoft.github.io/PSRule/v2/commands/PSRule/en-US/Test-PSRuleTarget/) - Pass or fail objects against matching rules.\n\n\u003e Back to the [summary](#summary)\n\n### Concepts\n\nThe following conceptual topics exist in the `PSRule` module:\n\n- [Assert](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/)\n  - [APIVersion](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#apiversion)\n  - [Contains](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#contains)\n  - [Count](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#count)\n  - [EndsWith](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#endswith)\n  - [FileHeader](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#fileheader)\n  - [FilePath](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#filepath)\n  - [Greater](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#greater)\n  - [GreaterOrEqual](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#greaterorequal)\n  - [HasDefaultValue](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#hasdefaultvalue)\n  - [HasField](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#hasfield)\n  - [HasFields](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#hasfields)\n  - [HasFieldValue](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#hasfieldvalue)\n  - [HasJsonSchema](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#hasjsonschema)\n  - [In](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#in)\n  - [IsArray](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#isarray)\n  - [IsBoolean](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#isboolean)\n  - [IsDateTime](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#isdatetime)\n  - [IsInteger](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#isinteger)\n  - [IsLower](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#islower)\n  - [IsNumeric](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#isnumeric)\n  - [IsString](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#isstring)\n  - [IsUpper](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#isupper)\n  - [JsonSchema](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#jsonschema)\n  - [Less](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#less)\n  - [LessOrEqual](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#lessorequal)\n  - [Like](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#like)\n  - [Match](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#match)\n  - [NotContains](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#notcontains)\n  - [NotCount](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#notcount)\n  - [NotEndsWith](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#notendswith)\n  - [NotHasField](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#nothasfield)\n  - [NotIn](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#notin)\n  - [NotLike](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#notlike)\n  - [NotMatch](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#notmatch)\n  - [NotNull](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#notnull)\n  - [NotStartsWith](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#notstartswith)\n  - [NotWithinPath](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#notwithinpath)\n  - [Null](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#null)\n  - [NullOrEmpty](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#nullorempty)\n  - [TypeOf](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#typeof)\n  - [SetOf](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#setof)\n  - [StartsWith](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#startswith)\n  - [Subset](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#subset)\n  - [Version](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#version)\n  - [WithinPath](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Assert/#withinpath)\n- [Badges](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Badges/)\n- [Baselines](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Baseline/)\n  - [Baseline specs](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Baseline/#baseline-specs)\n  - [Baseline scopes](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Baseline/#baseline-scopes)\n- [Conventions](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Conventions/)\n  - [Using conventions](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Conventions/#using-conventions)\n  - [Defining conventions](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Conventions/#defining-conventions)\n  - [Begin Process End blocks](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Conventions/#begin-process-end-blocks)\n  - [Including with options](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Conventions/#including-with-options)\n  - [Using within modules](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Conventions/#using-within-modules)\n  - [Execution order](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Conventions/#execution-order)\n- [Docs](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Docs/)\n  - [Getting documentation](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Docs/#getting-documentation)\n  - [Online help](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Docs/#online-help)\n  - [Creating documentation](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Docs/#creating-documentation)\n- [Expressions](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/)\n  - [AllOf](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#allof)\n  - [AnyOf](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#anyof)\n  - [APIVersion](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#apiversion)\n  - [Contains](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#contains)\n  - [Count](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#count)\n  - [EndsWith](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#endswith)\n  - [Exists](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#exists)\n  - [Equals](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#equals)\n  - [Field](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#field)\n  - [Greater](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#greater)\n  - [GreaterOrEquals](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#greaterorequals)\n  - [HasDefault](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#hasdefault)\n  - [HasSchema](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#hasschema)\n  - [HasValue](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#hasvalue)\n  - [In](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#in)\n  - [IsLower](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#islower)\n  - [IsString](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#isstring)\n  - [IsArray](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#isarray)\n  - [IsBoolean](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#isboolean)\n  - [IsDateTime](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#isdatetime)\n  - [IsInteger](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#isinteger)\n  - [IsNumeric](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#isnumeric)\n  - [IsUpper](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#isupper)\n  - [Less](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#less)\n  - [LessOrEquals](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#lessorequals)\n  - [Like](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#like)\n  - [Match](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#match)\n  - [Name](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#name)\n  - [Not](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#not)\n  - [NotContains](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#notcontains)\n  - [NotCount](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#notcount)\n  - [NotEndsWith](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#notendswith)\n  - [NotEquals](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#notequals)\n  - [NotIn](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#notin)\n  - [NotLike](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#notlike)\n  - [NotMatch](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#notmatch)\n  - [NotStartsWith](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#notstartswith)\n  - [NotWithinPath](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#notwithinpath)\n  - [Scope](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#scope)\n  - [SetOf](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#setof)\n  - [Source](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#source)\n  - [StartsWith](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#startswith)\n  - [Subset](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#subset)\n  - [Type](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#type)\n  - [WithinPath](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#withinpath)\n  - [Version](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Expressions/#version)\n- [Options](https://aka.ms/ps-rule/options)\n  - [Baseline.Group](https://aka.ms/ps-rule/options#baselinegroup)\n  - [Binding.Field](https://aka.ms/ps-rule/options#bindingfield)\n  - [Binding.IgnoreCase](https://aka.ms/ps-rule/options#bindingignorecase)\n  - [Binding.NameSeparator](https://aka.ms/ps-rule/options#bindingnameseparator)\n  - [Binding.PreferTargetInfo](https://aka.ms/ps-rule/options#bindingprefertargetinfo)\n  - [Binding.TargetName](https://aka.ms/ps-rule/options#bindingtargetname)\n  - [Binding.TargetType](https://aka.ms/ps-rule/options#bindingtargettype)\n  - [Binding.UseQualifiedName](https://aka.ms/ps-rule/options#bindingusequalifiedname)\n  - [Capabilities](https://aka.ms/ps-rule/options#capabilities)\n  - [Configuration](https://aka.ms/ps-rule/options#configuration)\n  - [Convention.Include](https://aka.ms/ps-rule/options#conventioninclude)\n  - [Execution.AliasReference](https://aka.ms/ps-rule/options#executionaliasreference)\n  - [Execution.Break](https://aka.ms/ps-rule/options#executionbreak)\n  - [Execution.DuplicateResourceId](https://aka.ms/ps-rule/options#executionduplicateresourceid)\n  - [Execution.HashAlgorithm](https://aka.ms/ps-rule/options#executionhashalgorithm)\n  - [Execution.LanguageMode](https://aka.ms/ps-rule/options#executionlanguagemode)\n  - [Execution.InvariantCulture](https://aka.ms/ps-rule/options#executioninvariantculture)\n  - [Execution.InitialSessionState](https://aka.ms/ps-rule/options#executioninitialsessionstate)\n  - [Execution.RestrictScriptSource](https://aka.ms/ps-rule/options#executionrestrictscriptsource)\n  - [Execution.RuleInconclusive](https://aka.ms/ps-rule/options#executionruleinconclusive)\n  - [Execution.SuppressionGroupExpired](https://aka.ms/ps-rule/options#executionsuppressiongroupexpired)\n  - [Execution.UnprocessedObject](https://aka.ms/ps-rule/options#executionunprocessedobject)\n  - [Format](https://aka.ms/ps-rule/options#format)\n  - [Include.Module](https://aka.ms/ps-rule/options#includemodule)\n  - [Include.Path](https://aka.ms/ps-rule/options#includepath)\n  - [Input.FileObjects](https://aka.ms/ps-rule/options#inputfileobjects)\n  - [Input.StringFormat](https://aka.ms/ps-rule/options#inputstringformat)\n  - [Input.IgnoreGitPath](https://aka.ms/ps-rule/options#inputignoregitpath)\n  - [Input.IgnoreObjectSource](https://aka.ms/ps-rule/options#inputignoreobjectsource)\n  - [Input.IgnoreRepositoryCommon](https://aka.ms/ps-rule/options#inputignorerepositorycommon)\n  - [Input.IgnoreUnchangedPath](https://aka.ms/ps-rule/options#inputignoreunchangedpath)\n  - [Input.ObjectPath](https://aka.ms/ps-rule/options#inputobjectpath)\n  - [Input.PathIgnore](https://aka.ms/ps-rule/options#inputpathignore)\n  - [Input.TargetType](https://aka.ms/ps-rule/options#inputtargettype)\n  - [Logging.LimitDebug](https://aka.ms/ps-rule/options#logginglimitdebug)\n  - [Logging.LimitVerbose](https://aka.ms/ps-rule/options#logginglimitverbose)\n  - [Logging.RuleFail](https://aka.ms/ps-rule/options#loggingrulefail)\n  - [Logging.RulePass](https://aka.ms/ps-rule/options#loggingrulepass)\n  - [Output.As](https://aka.ms/ps-rule/options#outputas)\n  - [Output.Banner](https://aka.ms/ps-rule/options#outputbanner)\n  - [Output.Culture](https://aka.ms/ps-rule/options#outputculture)\n  - [Output.Encoding](https://aka.ms/ps-rule/options#outputencoding)\n  - [Output.Footer](https://aka.ms/ps-rule/options#outputfooter)\n  - [Output.Format](https://aka.ms/ps-rule/options#outputformat)\n  - [Output.JobSummaryPath](https://aka.ms/ps-rule/options#outputjobsummarypath)\n  - [Output.JsonIndent](https://aka.ms/ps-rule/options#outputjsonindent)\n  - [Output.Outcome](https://aka.ms/ps-rule/options#outputoutcome)\n  - [Output.Path](https://aka.ms/ps-rule/options#outputpath)\n  - [Output.SarifProblemsOnly](https://aka.ms/ps-rule/options#outputsarifproblemsonly)\n  - [Output.Style](https://aka.ms/ps-rule/options#outputstyle)\n  - [Override.Level](https://aka.ms/ps-rule/options#overridelevel)\n  - [Repository.BaseRef](https://aka.ms/ps-rule/options#repositorybaseref)\n  - [Repository.Url](https://aka.ms/ps-rule/options#repositoryurl)\n  - [Requires](https://aka.ms/ps-rule/options#requires)\n  - [Rule.Baseline](https://aka.ms/ps-rule/options#rulebaseline)\n  - [Rule.Include](https://aka.ms/ps-rule/options#ruleinclude)\n  - [Rule.IncludeLocal](https://aka.ms/ps-rule/options#ruleincludelocal)\n  - [Rule.Exclude](https://aka.ms/ps-rule/options#ruleexclude)\n  - [Rule.Tag](https://aka.ms/ps-rule/options#ruletag)\n  - [Run.Category](https://aka.ms/ps-rule/options##runcategory)\n  - [Run.Description](https://aka.ms/ps-rule/options##rundescription)\n  - [Run.Instance](https://aka.ms/ps-rule/options##runinstance)\n  - [Suppression](https://aka.ms/ps-rule/options#suppression)\n- [Rules](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Rules/)\n- [Selectors](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Selectors/)\n- [Suppression Groups](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_SuppressionGroups/)\n- [Variables](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Variables/)\n  - [$Assert](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Variables/#assert)\n  - [$Configuration](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Variables/#configuration)\n  - [$LocalizedData](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Variables/#localizeddata)\n  - [$PSRule](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Variables/#psrule)\n  - [$Rule](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Variables/#rule)\n  - [$TargetObject](https://microsoft.github.io/PSRule/v2/concepts/PSRule/en-US/about_PSRule_Variables/#targetobject)\n\n\u003e Back to the [summary](#summary)\n\n### Schemas\n\nPSRule uses the following schemas:\n\n- [Options](schemas/PSRule-options.schema.json) - Schema for PSRule YAML options file.\n- [Language](schemas/PSRule-language.schema.json) - Schema for PSRule resources such as baselines.\n- [Resources](schemas/PSRule-resources.schema.json) - Schema for PSRule resources documents used with JSON.\n\n\u003e Back to the [summary](#summary)\n\n## Related projects\n\nFor a list of projects and integrations see [Related projects][10].\n\n## Changes and versioning\n\nThis repository uses [semantic versioning](http://semver.org/) to declare breaking changes.\nFor details please see the [changes and versioning](https://microsoft.github.io/PSRule/v3/versioning/).\n\n## Contributing\n\nThis project welcomes contributions and suggestions.\nIf you are ready to contribute, please visit the [contribution guide](CONTRIBUTING.md).\n\n## Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)\nor contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Maintainers\n\n- [Bernie White](https://github.com/BernieWhite)\n\n## License\n\nThis project is [licensed under the MIT License](LICENSE).\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services.\nAuthorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark \u0026 Brand Guidelines](https://www.microsoft.com/legal/intellectualproperty/trademarks).\nUse of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship.\nAny use of third-party trademarks or logos are subject to those third-party's policies.\n\n\u003e Back to the [summary](#summary)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fpsrule","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrosoft%2Fpsrule","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrosoft%2Fpsrule/lists"}