DevOpsTools.AzureDevOps.PSRule

0.2.1

PSRule rules module for Azure DevOps project configuration best practices.
   This module helps to audit an Azure DevOps project for secure and best practice configuration.
   The module requires PSRule to be installed.

Minimum PowerShell version

5.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name DevOpsTools.AzureDevOps.PSRule

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name DevOpsTools.AzureDevOps.PSRule

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) Wesley Camargo, base on Roderick Bant. All rights reserved.

Package Details

Author(s)

  • Wesley Camargo

Tags

PSRule-rules PSRule AzureDevOps Security

Functions

Export-AzDevOpsRuleData Export-AzDevOpsOrganizationRuleData Connect-AzDevOps Disconnect-AzDevOps *

PSEditions

Core Desktop

Dependencies

This module has no dependencies.

FileList

  • DevOpsTools.AzureDevOps.PSRule.nuspec
  • Assessment\EffectivePermissions.ps1
  • Assessment\PolicyAssessment.ps1
  • Assessment\ProductionGate.ps1
  • Assessment\SecretAssessment.ps1
  • Assessment\catalog.json
  • Classes\AzureDevOpsConnection.ps1
  • DevOpsTools.AzureDevOps.PSRule.psd1
  • DevOpsTools.AzureDevOps.PSRule.psm1
  • Functions\AssessmentCompleteness.ps1
  • Functions\AssessmentResults.ps1
  • Functions\AssessmentRun.ps1
  • Functions\Common.ps1
  • Functions\DevOps.Groups.ps1
  • Functions\DevOps.Organization.GeneralBillingSettings.ps1
  • Functions\DevOps.Organization.GeneralOverview.ps1
  • Functions\DevOps.Organization.SecurityPolicies.ps1
  • Functions\DevOps.OrganizationPipelinesSettings.ps1
  • Functions\DevOps.OrganizationPolicy.ps1
  • Functions\DevOps.Pipelines.Core.ps1
  • Functions\DevOps.Pipelines.Environments.ps1
  • Functions\DevOps.Pipelines.Releases.ps1
  • Functions\DevOps.Pipelines.Settings.ps1
  • Functions\DevOps.Repos.ps1
  • Functions\DevOps.RetentionSettings.ps1
  • Functions\DevOps.ServiceConnections.ps1
  • Functions\DevOps.Tasks.VariableGroups.ps1
  • Functions\EffectivePermissionAssessment.ps1
  • Functions\OrganizationRequest.ps1
  • Functions\PagedRequest.ps1
  • Functions\PermissionEvidence.ps1
  • Functions\PolicyAssessment.ps1
  • Functions\ProductionGateAssessment.ps1
  • Functions\VariableGroupSecretAssessment.ps1
  • LICENSE
  • en\Azure.DevOps.Groups.ProjectAdmins.MaxMembers.md
  • en\Azure.DevOps.Groups.ProjectAdmins.MinMembers.md
  • en\Azure.DevOps.Groups.ProjectValidUsers.DoNotAssignMemberOfOtherGroups.md
  • en\Azure.DevOps.Organization.GeneralBillingSettings.AssignmentBillingEnabled.md
  • en\Azure.DevOps.Organization.GeneralBillingSettings.EnterpriseBillingConfigured.md
  • en\Azure.DevOps.Organization.GeneralBillingSettings.SubscriptionActive.md
  • en\Azure.DevOps.Organization.GeneralOverview.DescriptionSet.md
  • en\Azure.DevOps.Organization.GeneralOverview.GeographySet.md
  • en\Azure.DevOps.Organization.GeneralOverview.OwnerSet.md
  • en\Azure.DevOps.Organization.GeneralOverview.TimeZoneSet.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.DisableAnonymousBadgeAccess.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.DisableBuildsFromForks.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.DisableClassicBuildPipelines.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.DisableClassicReleasePipelines.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.DisableImpliedYAMLCiTrigger.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.DisableInBoxTasksVar.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.DisableMarketplaceTasksVar.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.DisableNode6TasksVar.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.DisableSecretsFromForks.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.DisableStageChooser.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.EnableAuditSettableVar.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.EnableShellTasksArgsSanitizingAudit.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.EnableTaskLockdown.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.LimitJobAuthScopeForForks.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.LimitJobAuthScopeNonRelease.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.LimitJobAuthScopeRelease.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.LimitPRsFromForks.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.LimitSettableVariables.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.ProtectRepoAccessInYaml.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.RequireCommentsForNonTeamAndNonContributors.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.RequireCommentsForNonTeamMembers.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.RequireCommentsForPullRequest.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.RestrictPipelinePoliciesPermission.md
  • en\Azure.DevOps.Organization.Pipelines.Settings.SanitizeShellTaskArguments.md
  • en\Azure.DevOps.Organization.Security.Policies.Debug.md
  • en\Azure.DevOps.Organization.Security.Policies.DisallowAadGuestUserAccess.md
  • en\Azure.DevOps.Organization.Security.Policies.DisallowAnonymousAccess.md
  • en\Azure.DevOps.Organization.Security.Policies.DisallowFeedbackCollection.md
  • en\Azure.DevOps.Organization.Security.Policies.DisallowOAuthAuthentication.md
  • en\Azure.DevOps.Organization.Security.Policies.DisallowRequestAccessToken.md
  • en\Azure.DevOps.Organization.Security.Policies.DisallowSecureShell.md
  • en\Azure.DevOps.Organization.Security.Policies.DisallowTeamAdminsInvitations.md
  • en\Azure.DevOps.Organization.Security.Policies.EnableArtifactsProtection.md
  • en\Azure.DevOps.Organization.Security.Policies.EnableLogAuditEvents.md
  • en\Azure.DevOps.Organization.Security.Policies.EnforceAADConditionalAccess.md
  • en\Azure.DevOps.Pipelines.Core.InheritedPermissions.md
  • en\Azure.DevOps.Pipelines.Core.NoPlainTextSecrets.md
  • en\Azure.DevOps.Pipelines.Core.ProjectValidUsers.md
  • en\Azure.DevOps.Pipelines.Core.UseYamlDefinition.md
  • en\Azure.DevOps.Pipelines.Environments.Description.md
  • en\Azure.DevOps.Pipelines.Environments.InheritedPermissions.md
  • en\Azure.DevOps.Pipelines.Environments.ProductionBranchLimit.md
  • en\Azure.DevOps.Pipelines.Environments.ProductionCheckProtection.md
  • en\Azure.DevOps.Pipelines.Environments.ProductionHumanApproval.md
  • en\Azure.DevOps.Pipelines.Environments.ProjectValidUsers.md
  • en\Azure.DevOps.Pipelines.PipelineYaml.AgentPoolVersionNotLatest.md
  • en\Azure.DevOps.Pipelines.PipelineYaml.StepDisplayName.md
  • en\Azure.DevOps.Pipelines.Releases.Definition.InheritedPermissions.md
  • en\Azure.DevOps.Pipelines.Releases.Definition.NoPlainTextSecrets.md
  • en\Azure.DevOps.Pipelines.Releases.Definition.ProductionApproval.md
  • en\Azure.DevOps.Pipelines.Releases.Definition.ProjectValidUsers.md
  • en\Azure.DevOps.Pipelines.Releases.Definition.SelfApproval.md
  • en\Azure.DevOps.Pipelines.Settings.LimitJobAuthorizationScope.md
  • en\Azure.DevOps.Pipelines.Settings.LimitJobAuthorizationScopeForReleasePipelines.md
  • en\Azure.DevOps.Pipelines.Settings.LimitJobAuthorizationScopeForYamlPipelines.md
  • en\Azure.DevOps.Pipelines.Settings.LimitSetVariablesAtQueueTime.md
  • en\Azure.DevOps.Pipelines.Settings.RequireCommentForPullRequestFromFork.md
  • en\Azure.DevOps.Pipelines.Settings.RestrictSecretsForPullRequestFromFork.md
  • en\Azure.DevOps.Pipelines.Settings.SanitizeShellTaskArguments.md
  • en\Azure.DevOps.Pipelines.Settings.StatusBadgesPrivate.md
  • en\Azure.DevOps.Project.MainEnvironmentAcl.ProjectValidUsers.md
  • en\Azure.DevOps.Project.MainPipelineAcl.ProjectValidUsers.md
  • en\Azure.DevOps.Project.MainReleaseDefinitionAcl.ProjectValidUsers.md
  • en\Azure.DevOps.Project.MainRepositoryAcl.ProjectValidUsers.md
  • en\Azure.DevOps.Project.MainServiceConnectionAcl.ProjectValidUsers.md
  • en\Azure.DevOps.Project.MainVariableGroupAcl.ProjectValidUsers.md
  • en\Azure.DevOps.Project.Visibility.md
  • en\Azure.DevOps.Repos.Branch.BranchPolicyAllowSelfApproval.md
  • en\Azure.DevOps.Repos.Branch.BranchPolicyCommentResolution.md
  • en\Azure.DevOps.Repos.Branch.BranchPolicyEnforceLinkedWorkItems.md
  • en\Azure.DevOps.Repos.Branch.BranchPolicyIsEnabled.md
  • en\Azure.DevOps.Repos.Branch.BranchPolicyMergeStrategy.md
  • en\Azure.DevOps.Repos.Branch.BranchPolicyMinimumReviewers.md
  • en\Azure.DevOps.Repos.Branch.BranchPolicyRequireBuild.md
  • en\Azure.DevOps.Repos.Branch.BranchPolicyResetVotes.md
  • en\Azure.DevOps.Repos.Branch.CommitRecent.md
  • en\Azure.DevOps.Repos.Branch.HasBranchPolicy.md
  • en\Azure.DevOps.Repos.DefaultBranchPolicyAllowSelfApproval.md
  • en\Azure.DevOps.Repos.DefaultBranchPolicyCommentResolution.md
  • en\Azure.DevOps.Repos.DefaultBranchPolicyEnforceLinkedWorkItems.md
  • en\Azure.DevOps.Repos.DefaultBranchPolicyIsEnabled.md
  • en\Azure.DevOps.Repos.DefaultBranchPolicyMergeStrategy.md
  • en\Azure.DevOps.Repos.DefaultBranchPolicyMinimumReviewers.md
  • en\Azure.DevOps.Repos.DefaultBranchPolicyRequireBuild.md
  • en\Azure.DevOps.Repos.DefaultBranchPolicyResetVotes.md
  • en\Azure.DevOps.Repos.GitHubAdvancedSecurityBlockPushes.md
  • en\Azure.DevOps.Repos.GitHubAdvancedSecurityEnabled.md
  • en\Azure.DevOps.Repos.HasDefaultBranchPolicy.md
  • en\Azure.DevOps.Repos.InheritedPermissions.md
  • en\Azure.DevOps.Repos.License.md
  • en\Azure.DevOps.Repos.ProjectValidUsers.md
  • en\Azure.DevOps.Repos.Readme.md
  • en\Azure.DevOps.RetentionSettings.ArtifactMinimumRetentionDays.md
  • en\Azure.DevOps.RetentionSettings.PullRequestRunsMinimumRetentionDays.md
  • en\Azure.DevOps.ServiceConnections.ClassicAzure.md
  • en\Azure.DevOps.ServiceConnections.Description.md
  • en\Azure.DevOps.ServiceConnections.GitHubPAT.md
  • en\Azure.DevOps.ServiceConnections.InheritedPermissions.md
  • en\Azure.DevOps.ServiceConnections.ProductionBranchLimit.md
  • en\Azure.DevOps.ServiceConnections.ProductionCheckProtection.md
  • en\Azure.DevOps.ServiceConnections.ProductionHumanApproval.md
  • en\Azure.DevOps.ServiceConnections.ProjectValidUsers.md
  • en\Azure.DevOps.ServiceConnections.Scope.md
  • en\Azure.DevOps.ServiceConnections.WorkloadIdentityFederation.md
  • en\Azure.DevOps.Tasks.VariableGroup.Description.md
  • en\Azure.DevOps.Tasks.VariableGroup.InheritedPermissions.md
  • en\Azure.DevOps.Tasks.VariableGroup.NoKeyVaultNoSecrets.md
  • en\Azure.DevOps.Tasks.VariableGroup.NoPlainTextSecrets.md
  • en\Azure.DevOps.Tasks.VariableGroup.ProjectValidUsers.md
  • nl\Azure.DevOps.Pipelines.Core.InheritedPermissions.md
  • nl\Azure.DevOps.Pipelines.Core.NoPlainTextSecrets.md
  • nl\Azure.DevOps.Pipelines.Core.UseYamlDefinition.md
  • nl\Azure.DevOps.Pipelines.Environments.Description.md
  • nl\Azure.DevOps.Pipelines.Environments.ProductionBranchLimit.md
  • nl\Azure.DevOps.Pipelines.Environments.ProductionCheckProtection.md
  • nl\Azure.DevOps.Pipelines.Environments.ProductionHumanApproval.md
  • nl\Azure.DevOps.Pipelines.PipelineYaml.AgentPoolVersionNotLatest.md
  • nl\Azure.DevOps.Pipelines.PipelineYaml.StepDisplayName.md
  • nl\Azure.DevOps.Pipelines.Releases.Definition.InheritedPermissions.md
  • nl\Azure.DevOps.Pipelines.Releases.Definition.NoPlainTextSecrets.md
  • nl\Azure.DevOps.Pipelines.Releases.Definition.ProductionApproval.md
  • nl\Azure.DevOps.Pipelines.Releases.Definition.SelfApproval.md
  • nl\Azure.DevOps.Pipelines.Settings.LimitJobAuthorizationScope.md
  • nl\Azure.DevOps.Pipelines.Settings.LimitJobAuthorizationScopeForReleasePipelines.md
  • nl\Azure.DevOps.Pipelines.Settings.LimitJobAuthorizationScopeForYamlPipelines.md
  • nl\Azure.DevOps.Pipelines.Settings.LimitSetVariablesAtQueueTime.md
  • nl\Azure.DevOps.Pipelines.Settings.RequireCommentForPullRequestFromFork.md
  • nl\Azure.DevOps.Pipelines.Settings.RestrictSecretsForPullRequestFromFork.md
  • nl\Azure.DevOps.Pipelines.Settings.SanitizeShellTaskArguments.md
  • nl\Azure.DevOps.Repos.BranchPolicyAllowSelfApproval.md
  • nl\Azure.DevOps.Repos.BranchPolicyCommentResolution.md
  • nl\Azure.DevOps.Repos.BranchPolicyEnforceLinkedWorkItems.md
  • nl\Azure.DevOps.Repos.BranchPolicyIsEnabled.md
  • nl\Azure.DevOps.Repos.BranchPolicyMergeStrategy.md
  • nl\Azure.DevOps.Repos.BranchPolicyMinimumReviewers.md
  • nl\Azure.DevOps.Repos.BranchPolicyRequireBuild.md
  • nl\Azure.DevOps.Repos.BranchPolicyResetVotes.md
  • nl\Azure.DevOps.Repos.GitHubAdvancedSecurityBlockPushes.md
  • nl\Azure.DevOps.Repos.GitHubAdvancedSecurityEnabled.md
  • nl\Azure.DevOps.Repos.HasBranchPolicy.md
  • nl\Azure.DevOps.Repos.InheritedPermissions.md
  • nl\Azure.DevOps.Repos.License.md
  • nl\Azure.DevOps.Repos.Readme.md
  • nl\Azure.DevOps.ServiceConnections.ClassicAzure.md
  • nl\Azure.DevOps.ServiceConnections.Description.md
  • nl\Azure.DevOps.ServiceConnections.GitHubPAT.md
  • nl\Azure.DevOps.ServiceConnections.ProductionBranchLimit.md
  • nl\Azure.DevOps.ServiceConnections.ProductionCheckProtection.md
  • nl\Azure.DevOps.ServiceConnections.ProductionHumanApproval.md
  • nl\Azure.DevOps.ServiceConnections.Scope.md
  • nl\Azure.DevOps.ServiceConnections.WorkloadIdentityFederation.md
  • nl\Azure.DevOps.Tasks.VariableGroup.Description.md
  • nl\Azure.DevOps.Tasks.VariableGroup.NoKeyVaultNoSecrets.md
  • nl\Azure.DevOps.Tasks.VariableGroup.NoPlainTextSecrets.md
  • rules\AzureDevOps.Groups.Rule.ps1
  • rules\AzureDevOps.Organization.GeneralBillingSettings.Rule.ps1
  • rules\AzureDevOps.Organization.GeneralOverview.Rule.ps1
  • rules\AzureDevOps.Organization.Pipelines.Settings.Rule.ps1
  • rules\AzureDevOps.Organization.Security.Policies.Rule.ps1
  • rules\AzureDevOps.Pipelines.Core.Rule.ps1
  • rules\AzureDevOps.Pipelines.Environments.Rule.ps1
  • rules\AzureDevOps.Pipelines.PipelineYaml.Rule.ps1
  • rules\AzureDevOps.Pipelines.Releases.Rule.ps1
  • rules\AzureDevOps.Pipelines.Settings.Rule.ps1
  • rules\AzureDevOps.Projects.Rule.ps1
  • rules\AzureDevOps.Repo.Branches.Rule.ps1
  • rules\AzureDevOps.Repos.Rule.ps1
  • rules\AzureDevOps.RetentionSettings.Rule.ps1
  • rules\AzureDevOps.ServiceConnection.Rule.ps1
  • rules\AzureDevOps.Tasks.VariableGroups.Rule.ps1
  • rules\Baseline.ConditionalReview.Rule.yaml
  • rules\Baseline.Default.Rule.yaml
  • rules\Baseline.EngineeringReview.Rule.yaml
  • rules\Baseline.GovernanceReview.Rule.yaml
  • rules\Baseline.NoExtraLicense.Rule.yaml
  • rules\Baseline.PublicProject.Rule.yaml
  • rules\Baseline.SecurityReview.Rule.yaml
  • rules\Config.Rule.yaml
  • rules\EffectivePermissions.Rule.ps1
  • rules\PolicyAssessment.Rule.ps1
  • rules\ProductionGate.Rule.ps1
  • rules\SecretAssessment.Rule.ps1
  • rules\Selectors.Rule.yaml
  • rules\Standards.Rule.ps1

Version History

Version Downloads Last updated
0.2.1 (current version) 17 10/25/2026
0.2.0 12 10/25/2026