Azure / Azure/azure-powershell
Cannot delete Custom Role
- Dominant language
- C#
- Stars
- 4.8k
- Forks
- 4.3k
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 51
Description
### Description
I created a custom role through a PowerShell script for some use-case testing. After usage, I tried to delete the role, but it seems that I cannot delete it both from the Azure Portal and through PowerShell commands.
I noticed that the custom role created did not create its own DefinitionName.
### Issue script & Debug output
```PowerShell
No output
```
### Environment data
```PowerShell
Name Value
---- -----
PSVersion 5.1.19041.4412
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.19041.4412
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
```
### Module versions
```PowerShell
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 3.0.0 Az.Accounts {Disable-AzDataCollection, Disable-AzContextAutosave, Enab...
Script 2.0.1 Az.Advisor {Disable-AzAdvisorRecommendation, Enable-AzAdvisorRecommen...
Script 6.0.3 Az.Aks {Disable-AzAksAddOn, Enable-AzAksAddOn, Get-AzAksCluster, ...
Script 1.1.5 Az.AnalysisServices {Add-AzAnalysisServicesAccount, Export-AzAnalysisServicesI...
Script 4.0.3 Az.ApiManagement {Add-AzApiManagementApiToGateway, Add-AzApiManagementApiTo...
Script 1.0.0 Az.App {Disable-AzContainerAppRevision, Enable-AzContainerAppRevi...
Script 1.3.1 Az.AppConfiguration {Clear-AzAppConfigurationDeletedStore, Get-AzAppConfigurat...
Script 2.2.5 Az.ApplicationInsights {Get-AzApplicationInsights, Get-AzApplicationInsightsApiKe...
Script 1.0.1 Az.ArcResourceBridge {Get-AzArcResourceBridge, Get-AzArcResourceBridgeAppliance...
Script 2.0.2 Az.Attestation {Add-AzAttestationPolicySigner, Get-AzAttestationPolicy, G...
Script 1.0.1 Az.Automanage {Get-AzAutomanageBestPractice, Get-AzAutomanageConfigProfi...
Script 1.10.0 Az.Automation {Export-AzAutomationDscConfiguration, Export-AzAutomationD...
Script 3.6.1 Az.Batch {Disable-AzBatchAutoScale, Disable-AzBatchComputeNodeSched...
Script 2.0.4 Az.Billing {Get-AzBillingAccount, Get-AzBillingInvoice, Get-AzBilling...
Script 3.2.0 Az.Cdn {Clear-AzCdnEndpointContent, Clear-AzFrontDoorCdnEndpointC...
Script 2.0.1 Az.CloudService {Get-AzCloudService, Get-AzCloudServiceInstanceView, Get-A...
Script 1.14.1 Az.CognitiveServices {Get-AzCognitiveServicesAccount, Get-AzCognitiveServicesAc...
Script 8.0.0 Az.Compute {Add-AzImageDataDisk, Add-AzVhd, Add-AzVMAdditionalUnatten...
Script 1.0.1 Az.ConfidentialLedger {Get-AzConfidentialLedger, New-AzConfidentialLedger, New-A...
Script 4.0.1 Az.ContainerInstance {Add-AzContainerInstanceOutput, Get-AzContainerGroup, Get-...
Script 4.2.1 Az.ContainerRegistry {Connect-AzContainerRegistry, Get-AzContainerRegistryManif...
Script 1.14.3 Az.CosmosDB {Get-AzCosmosDBAccount, Get-AzCosmosDBAccountKey, Get-AzCo...
Script 1.1.1 Az.DataBoxEdge {Get-AzDataBoxEdgeBandwidthSchedule, Get-AzDataBoxEdgeDevi...
Script 1.7.2 Az.Databricks {Get-AzDatabricksAccessConnector, Get-AzDatabricksOutbound...
Script 1.18.4 Az.DataFactory {Add-AzDataFactoryV2DataFlowDebugSessionPackage, Add-AzDat...
Script 1.0.3 Az.DataLakeAnalytics {Get-AzDataLakeAnalyticsDataSource, New-AzDataLakeAnalytic...
Script 1.3.1 Az.DataLakeStore {Add-AzDataLakeStoreFirewallRule, Add-AzDataLakeStoreItemC...
Script 2.4.0 Az.DataProtection {Backup-AzDataProtectionBackupInstanceAdhoc, Edit-AzDataPr...
Script 1.0.2 Az.DataShare {Get-AzDataShare, Get-AzDataShareAccount, Get-AzDataShareD...
Script 4.3.1 Az.DesktopVirtualization {Disconnect-AzWvdUserSession, Expand-AzWvdMsixImage, Get-A...
Script 1.1.1 Az.DevCenter {Deploy-AzDevCenterUserEnvironment, Get-AzDevCenterAdminAt...
Script 1.0.3 Az.DevTestLabs {Get-AzDtlAllowedVMSizesPolicy, Get-AzDtlAutoShutdownPolic...
Script 1.2.1 Az.Dns {Add-AzDnsRecordConfig, Get-AzDnsRecordSet, Get-AzDnsZone,...
Script 1.0.0 Az.DnsResolver {Get-AzDnsForwardingRuleset, Get-AzDnsForwardingRulesetFor...
Script 1.0.2 Az.ElasticSan {Add-AzElasticSanVolumeGroupNetworkRule, Get-AzElasticSan,...
Script 2.0.0 Az.EventGrid {Disable-AzEventGridPartnerTopic, Enable-AzEventGridPartne...
Script 5.0.0 Az.EventHub {New-AzEventHubAuthorizationRuleSASToken, Approve-AzEventH...
Script 1.10.1 Az.FrontDoor {Disable-AzFrontDoorCustomDomainHttps, Enable-AzFrontDoorC...
Script 4.0.8 Az.Functions {Get-AzFunctionApp, Get-AzFunctionAppAvailableLocation, Ge...
Script 6.1.0 Az.HDInsight {Add-AzHDInsightClusterIdentity, Add-AzHDInsightComponentV...
Script 2.0.1 Az.HealthcareApis {Get-AzHealthcareApisService, Get-AzHealthcareApisWorkspac...
Script 2.7.6 Az.IotHub {Add-AzIotHubCertificate, Add-AzIotHubConfiguration, Add-A...
Script 6.0.0 Az.KeyVault {Add-AzKeyVaultCertificate, Add-AzKeyVaultCertificateConta...
Script 2.3.1 Az.Kusto {Add-AzKustoClusterLanguageExtension, Add-AzKustoDatabaseP...
Script 1.0.1 Az.LoadTesting {Get-AzLoad, New-AzLoad, Remove-AzLoad, Update-AzLoad}
Script 1.5.1 Az.LogicApp {Get-AzIntegrationAccount, Get-AzIntegrationAccountAgreeme...
Script 1.1.4 Az.MachineLearning {Add-AzMlWebServiceRegionalProperty, Export-AzMlWebService...
Script 1.0.1 Az.MachineLearningServices {Get-AzMLServiceQuota, Get-AzMLServiceUsage, Get-AzMLServi...
Script 1.4.1 Az.Maintenance {Get-AzApplyUpdate, Get-AzConfigurationAssignment, Get-AzM...
Script 1.2.1 Az.ManagedServiceIdentity {Get-AzFederatedIdentityCredential, Get-AzSystemAssignedId...
Script 3.0.1 Az.ManagedServices {Get-AzManagedServicesAssignment, Get-AzManagedServicesDef...
Script 2.0.1 Az.MarketplaceOrdering {Get-AzMarketplaceTerms, Invoke-AzMarketplaceSignTerms, Se...
Script 1.1.2 Az.Media {Sync-AzMediaServiceStorageKey, Set-AzMediaServiceKey, Get...
Script 2.3.1 Az.Migrate {Get-AzMigrateDiscoveredServer, Get-AzMigrateHCIJob, Get-A...
Script 5.2.1 Az.Monitor {Add-AzLogProfile, Add-AzMetricAlertRule, Add-AzMetricAler...
Script 1.1.2 Az.MySql {Get-AzMySqlConfiguration, Get-AzMySqlConnectionString, Ge...
Script 7.6.0 Az.Network {Add-AzApplicationGatewayAuthenticationCertificate, Add-Az...
Script 1.0.1 Az.NetworkCloud {Deploy-AzNetworkCloudCluster, Disable-AzNetworkCloudStora...
Script 1.0.1 Az.Nginx {Get-AzNginxCertificate, Get-AzNginxConfiguration, Get-AzN...
Script 1.1.2 Az.NotificationHubs {Get-AzNotificationHub, Get-AzNotificationHubAuthorization...
Script 3.2.1 Az.OperationalInsights {Disable-AzOperationalInsightsIISLogCollection, Disable-Az...
Script 1.6.5 Az.PolicyInsights {Get-AzPolicyAttestation, Get-AzPolicyEvent, Get-AzPolicyM...
Script 1.1.1 Az.PostgreSql {Get-AzPostgreSqlConfiguration, Get-AzPostgreSqlConnection...
Script 2.0.0 Az.PowerBIEmbedded {Resume-AzPowerBIEmbeddedCapacity, Suspend-AzPowerBIEmbedd...
Script 1.0.5 Az.PrivateDns {Add-AzPrivateDnsRecordConfig, Get-AzPrivateDnsRecordSet, ...
Script 7.0.0 Az.RecoveryServices {Add-AzRecoveryServicesAsrReplicationProtectedItemDisk, Ba...
Script 1.9.1 Az.RedisCache {Export-AzRedisCache, Get-AzRedisCache, Get-AzRedisCacheFi...
Script 1.2.1 Az.RedisEnterpriseCache {Export-AzRedisEnterpriseCache, Get-AzRedisEnterpriseCache...
Script 2.0.1 Az.Relay {Get-AzRelayAuthorizationRule, Get-AzRelayHybridConnection...
Script 1.0.0 Az.ResourceGraph {Search-AzGraph, Get-AzResourceGraphQuery, New-AzResourceG...
Script 1.2.1 Az.ResourceMover {Add-AzResourceMoverMoveResource, Get-AzResourceMoverMoveC...
Script 7.1.0 Az.Resources {Export-AzResourceGroup, Export-AzTemplateSpec, Get-AzDeny...
Script 1.6.2 Az.Security {Add-AzSecurityAdaptiveNetworkHardening, Add-AzSecuritySql...
Script 3.1.2 Az.SecurityInsights {Get-AzSentinelAlertRule, Get-AzSentinelAlertRuleAction, G...
Script 4.0.0 Az.ServiceBus {New-AzServiceBusAuthorizationRuleSASToken, Test-AzService...
Script 3.3.3 Az.ServiceFabric {Add-AzServiceFabricClientCertificate, Add-AzServiceFabric...
Script 2.0.1 Az.SignalR {Get-AzSignalR, Get-AzSignalRKey, Get-AzSignalRUsage, New-...
Script 5.0.0 Az.Sql {Add-AzSqlDatabaseToFailoverGroup, Add-AzSqlElasticJobStep...
Script 2.2.1 Az.SqlVirtualMachine {Get-AzAvailabilityGroupListener, Get-AzSqlVM, Get-AzSqlVM...
Script 2.3.2 Az.StackHCI {Add-AzStackHCIVMAttestation, Disable-AzStackHCIAttestatio...
Script 1.0.4 Az.StackHCIVM {Add-AzStackHCIVMVirtualMachineDataDisk, Add-AzStackHCIVMV...
Script 7.0.0 Az.Storage {Add-AzRmStorageContainerLegalHold, Add-AzStorageAccountMa...
Script 1.3.1 Az.StorageMover {Get-AzStorageMover, Get-AzStorageMoverAgent, Get-AzStorag...
Script 2.1.1 Az.StorageSync {Get-AzStorageSyncCloudEndpoint, Get-AzStorageSyncGroup, G...
Script 2.0.1 Az.StreamAnalytics {Get-AzStreamAnalyticsCluster, Get-AzStreamAnalyticsCluste...
Script 2.0.0 Az.Support {Get-AzSupportChatTranscript, Get-AzSupportChatTranscripts...
Script 3.0.8 Az.Synapse {Add-AzSynapseDataFlowDebugSessionPackage, Add-AzSynapseTr...
Script 1.2.2 Az.TrafficManager {Add-AzTrafficManagerCustomHeaderToEndpoint, Remove-AzTraf...
Script 3.2.1 Az.Websites {Add-AzWebAppAccessRestrictionRule, Add-AzWebAppTrafficRou...
Directory: C:\Program Files\WindowsPowerShell\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Script 1.0.1 Microsoft.PowerShell.Operation.V... {Get-OperationValidation, Invoke-OperationValidation}
Binary 1.0.0.1 PackageManagement {Find-Package, Get-Package, Get-PackageProvider, Get-Packa...
Script 3.4.0 Pester {Describe, Context, It, Should...}
Script 1.0.0.1 PowerShellGet {Install-Module, Find-Module, Save-Module, Update-Module...}
Script 2.0.0 PSReadline {Get-PSReadLineKeyHandler, Set-PSReadLineKeyHandler, Remov...
Directory: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 1.0.0.0 AppBackgroundTask {Disable-AppBackgroundTaskDiagnosticLog, Enable-AppBackgro...
Manifest 2.0.0.0 AppLocker {Get-AppLockerFileInformation, Get-AppLockerPolicy, New-Ap...
Manifest 1.0.0.0 AppvClient {Add-AppvClientConnectionGroup, Add-AppvClientPackage, Add...
Manifest 2.0.1.0 Appx {Add-AppxPackage, Get-AppxPackage, Get-AppxPackageManifest...
Script 1.0.0.0 AssignedAccess {Clear-AssignedAccess, Get-AssignedAccess, Set-AssignedAcc...
Manifest 1.0.0.0 BitLocker {Unlock-BitLocker, Suspend-BitLocker, Resume-BitLocker, Re...
Manifest 2.0.0.0 BitsTransfer {Add-BitsFile, Complete-BitsTransfer, Get-BitsTransfer, Re...
Manifest 1.0.0.0 BranchCache {Add-BCDataCacheExtension, Clear-BCCache, Disable-BC, Disa...
Manifest 1.0.0.0 CimCmdlets {Get-CimAssociatedInstance, Get-CimClass, Get-CimInstance,...
Manifest 1.0 ConfigCI {Get-SystemDriver, New-CIPolicyRule, New-CIPolicy, Get-CIP...
Manifest 1.0 ConfigDefender {Get-MpPreference, Set-MpPreference, Add-MpPreference, Rem...
Manifest 1.0 ConfigDefenderPerformance {New-MpPerformanceRecording, Get-MpPerformanceReport}
Manifest 1.0 Defender {Get-MpPreference, Set-MpPreference, Add-MpPreference, Rem...
Manifest 1.0.2.0 DeliveryOptimization {Delete-DeliveryOptimizationCache, Set-DeliveryOptimizatio...
Manifest 1.0.0.0 DirectAccessClientComponents {Disable-DAManualEntryPointSelection, Enable-DAManualEntry...
Script 3.0 Dism {Add-AppxProvisionedPackage, Add-WindowsDriver, Add-Window...
Manifest 1.0.0.0 DnsClient {Resolve-DnsName, Clear-DnsClientCache, Get-DnsClient, Get...
Manifest 1.0.0.0 EventTracingManagement {Start-EtwTraceSession, New-EtwTraceSession, Get-EtwTraceS...
Manifest 2.0.0.0 International {Get-WinDefaultInputMethodOverride, Set-WinDefaultInputMet...
Manifest 1.0.0.0 iSCSI {Get-IscsiTargetPortal, New-IscsiTargetPortal, Remove-Iscs...
Script 1.0.0.0 ISE {New-IseSnippet, Import-IseSnippet, Get-IseSnippet}
Manifest 1.0.0.0 Kds {Add-KdsRootKey, Get-KdsRootKey, Test-KdsRootKey, Set-KdsC...
Manifest 1.0 LanguagePackManagement {Install-Language, Uninstall-Language, Get-InstalledLangua...
Script 1.0.0.0 LAPS {Find-LapsADExtendedRights, Get-LapsADPassword, Invoke-Lap...
Manifest 1.0.1.0 Microsoft.PowerShell.Archive {Compress-Archive, Expand-Archive}
Manifest 3.0.0.0 Microsoft.PowerShell.Diagnostics {Get-WinEvent, Get-Counter, Import-Counter, Export-Counter...
Manifest 3.0.0.0 Microsoft.PowerShell.Host {Start-Transcript, Stop-Transcript}
Manifest 1.0.0.0 Microsoft.PowerShell.LocalAccounts {Add-LocalGroupMember, Disable-LocalUser, Enable-LocalUser...
Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Content, Clear-Content, Clear-ItemProperty, Join-Path...
Script 1.0 Microsoft.PowerShell.ODataUtils Export-ODataEndpointProxy
Manifest 3.0.0.0 Microsoft.PowerShell.Security {Get-Acl, Set-Acl, Get-PfxCertificate, Get-Credential...}
Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Format-List, Format-Custom, Format-Table, Format-Wide...}
Manifest 3.0.0.0 Microsoft.WSMan.Management {Disable-WSManCredSSP, Enable-WSManCredSSP, Get-WSManCredS...
Manifest 1.0 MMAgent {Disable-MMAgent, Enable-MMAgent, Set-MMAgent, Get-MMAgent...
Manifest 1.0.0.0 MsDtc {New-DtcDiagnosticTransaction, Complete-DtcDiagnosticTrans...
Manifest 2.0.0.0 NetAdapter {Disable-NetAdapter, Disable-NetAdapterBinding, Disable-Ne...
Manifest 2.0.0.0 NetConnection {Get-NetConnectionProfile, Set-NetConnectionProfile}
Manifest 1.0.0.0 NetEventPacketCapture {New-NetEventSession, Remove-NetEventSession, Get-NetEvent...
Manifest 2.0.0.0 NetLbfo {Add-NetLbfoTeamMember, Add-NetLbfoTeamNic, Get-NetLbfoTea...
Manifest 1.0.0.0 NetNat {Get-NetNat, Get-NetNatExternalAddress, Get-NetNatStaticMa...
Manifest 2.0.0.0 NetQos {Get-NetQosPolicy, Set-NetQosPolicy, Remove-NetQosPolicy, ...
Manifest 2.0.0.0 NetSecurity {Get-DAPolicyChange, New-NetIPsecAuthProposal, New-NetIPse...
Manifest 1.0.0.0 NetSwitchTeam {New-NetSwitchTeam, Remove-NetSwitchTeam, Get-NetSwitchTea...
Manifest 1.0.0.0 NetTCPIP {Get-NetIPAddress, Get-NetIPInterface, Get-NetIPv4Protocol...
Manifest 1.0.0.0 NetworkConnectivityStatus {Get-DAConnectionStatus, Get-NCSIPolicyConfiguration, Rese...
Manifest 1.0.0.0 NetworkSwitchManager {Disable-NetworkSwitchEthernetPort, Enable-NetworkSwitchEt...
Manifest 1.0.0.0 NetworkTransition {Add-NetIPHttpsCertBinding, Disable-NetDnsTransitionConfig...
Manifest 1.0.0.0 PcsvDevice {Get-PcsvDevice, Start-PcsvDevice, Stop-PcsvDevice, Restar...
Binary 1.0.0.0 PersistentMemory {Get-PmemDisk, Get-PmemPhysicalDevice, Get-PmemUnusedRegio...
Manifest 1.0.0.0 PKI {Add-CertificateEnrollmentPolicyServer, Export-Certificate...
Manifest 1.0.0.0 PnpDevice {Get-PnpDevice, Get-PnpDeviceProperty, Enable-PnpDevice, D...
Manifest 1.1 PrintManagement {Add-Printer, Add-PrinterDriver, Add-PrinterPort, Get-Prin...
Binary 1.0.12 ProcessMitigations {Get-ProcessMitigation, Set-ProcessMitigation, ConvertTo-P...
Script 3.0 Provisioning {Install-ProvisioningPackage, Export-ProvisioningPackage, ...
Manifest 1.1 PSDesiredStateConfiguration {Set-DscLocalConfigurationManager, Start-DscConfiguration,...
Script 1.0.0.0 PSDiagnostics {Disable-PSTrace, Disable-PSWSManCombinedTrace, Disable-WS...
Binary 1.1.0.0 PSScheduledJob {New-JobTrigger, Add-JobTrigger, Remove-JobTrigger, Get-Jo...
Manifest 2.0.0.0 PSWorkflow {New-PSWorkflowExecutionOption, New-PSWorkflowSession, nwsn}
Manifest 1.0.0.0 PSWorkflowUtility Invoke-AsWorkflow
Manifest 1.0.0.0 ScheduledTasks {Get-ScheduledTask, Set-ScheduledTask, Register-ScheduledT...
Manifest 2.0.0.0 SecureBoot {Confirm-SecureBootUEFI, Set-SecureBootUEFI, Get-SecureBoo...
Manifest 2.0.0.0 SmbShare {Get-SmbShare, Remove-SmbShare, Set-SmbShare, Block-SmbSha...
Manifest 2.0.0.0 SmbWitness {Get-SmbWitnessClient, Move-SmbWitnessClient, gsmbw, msmbw...
Manifest 1.0.0.2 StartLayout {Export-StartLayout, Import-StartLayout, Export-StartLayou...
Manifest 2.0.0.0 Storage {Add-InitiatorIdToMaskingSet, Add-PartitionAccessPath, Add...
Manifest 1.0.0.0 StorageBusCache {Clear-StorageBusDisk, Disable-StorageBusCache, Disable-St...
Manifest 2.0.0.0 TLS {New-TlsSessionTicketKey, Enable-TlsSessionTicketKey, Disa...
Manifest 1.0.0.0 TroubleshootingPack {Get-TroubleshootingPack, Invoke-TroubleshootingPack}
Manifest 2.0.0.0 TrustedPlatformModule {Get-Tpm, Initialize-Tpm, Clear-Tpm, Unblock-Tpm...}
Binary 2.1.639.0 UEV {Clear-UevConfiguration, Clear-UevAppxPackage, Restore-Uev...
Manifest 2.0.0.0 VpnClient {Add-VpnConnection, Set-VpnConnection, Remove-VpnConnectio...
Manifest 1.0.0.0 Wdac {Get-OdbcDriver, Set-OdbcDriver, Get-OdbcDsn, Add-OdbcDsn...}
Manifest 2.0.0.0 Whea {Get-WheaMemoryPolicy, Set-WheaMemoryPolicy}
Manifest 1.0.0.0 WindowsDeveloperLicense {Get-WindowsDeveloperLicense, Unregister-WindowsDeveloperL...
Script 1.0 WindowsErrorReporting {Enable-WindowsErrorReporting, Disable-WindowsErrorReporti...
Manifest 1.0.0.0 WindowsSearch {Get-WindowsSearchSetting, Set-WindowsSearchSetting}
Manifest 1.0.0.0 WindowsUpdate Get-WindowsUpdateLog
Manifest 1.0.0.2 WindowsUpdateProvider {Get-WUAVersion, Get-WULastInstallationDate, Get-WULastSca...
Directory: C:\Program Files (x86)\Microsoft Azure Information Protection\Powershell
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Binary 2.16.79.0 AzureInformationProtection {Start-AIPScannerDiagnostics, Get-MIPNetworkDiscoveryStatu...
```
### Error output
_No response_
Contributor guide
Research direction
No repository file, test, or concrete PowerShell command is identified. Start by reproducing custom-role creation and deletion in Azure Portal and PowerShell, then investigate why the role lacks a DefinitionName; done means the same custom role can be deleted through both paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, powershell
- Domain
- authorization, cloud
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100