public override void ExecuteCmdlet() { switch (ParameterSetName) { case ParameterSetNames.SubscriptionLevelResource: if (!string.IsNullOrEmpty(Name)) { var regulatoryComplianceAssessment = SecurityCenterClient.RegulatoryComplianceAssessments.GetWithHttpMessagesAsync( StandardName, ControlName, Name).GetAwaiter().GetResult().Body; WriteObject(regulatoryComplianceAssessment.ConvertToPSType(), enumerateCollection: false); break; } else { var regulatoryComplianceAssessments = SecurityCenterClient.RegulatoryComplianceAssessments.ListWithHttpMessagesAsync( StandardName, ControlName).GetAwaiter().GetResult().Body; WriteObject(regulatoryComplianceAssessments.ConvertToPSType(), enumerateCollection: true); break; } case ParameterSetNames.ResourceId: var regulatoryComplianceAssessmentByResource = SecurityCenterClient.RegulatoryComplianceAssessments.GetWithHttpMessagesAsync( AzureIdUtilities.GetRegulatoryStandardName(ResourceId), AzureIdUtilities.GetRegulatoryStandardControlName(ResourceId, false), AzureIdUtilities.GetRegulatoryStandardAssessmentName(ResourceId, true)) .GetAwaiter().GetResult().Body; WriteObject(regulatoryComplianceAssessmentByResource.ConvertToPSType(), enumerateCollection: false); break; default: throw new PSInvalidOperationException(); } }