Repository navigation
MAR - (Find-PSResource -Repository 'MAR' -Name 'Az').'Dependencies' gives different result than PSGallery #1823
Copy link
Copy link
Closed
Labels
Description
Activity
o-l-a-v commented
on May 22, 2025 ContributorAuthorMore actionsJust noticed MAR latest version of Az is 13.5.0, while PSGallery has 14.0.0. This did not affect the results though, tried the same with specifying version.
I don't know if this is a problem in the Azure powershell publishing to MAR process, a MAR problem, or a PSResourceGet problem.
- addedIssue-BugSomething isn't workingSomething isn't workingand removed
on Aug 6, 2025 o-l-a-v commented
on Sep 20, 2025 ContributorAuthorMore actionsI did some digging: Metadata in MAR contains all the version numbers.
( Invoke-RestMethod -Method 'Get' -Uri 'https://mcr.microsoft.com/v2/psresource/az/manifests/14.4.0' -Headers @{ 'Accept' = [string] 'application/vnd.oci.image.manifest.v1+json' } ).'layers'.'annotations'.'metadata'Click to view output JSON (check "ModuleList": [])
{ "RequiredModules": [], "GUID": "d48d710e-85cb-46a1-990f-22dae76f6b5f", "PowerShellVersion": "5.1", "CmdletsToExport": [], "CompanyName": "Microsoft Corporation", "CompatiblePSEditions": [ "Core", "Desktop" ], "ModuleList": [ { "ModuleName": "Az.Accounts", "ModuleVersion": "5.3.0" }, { "ModuleName": "Az.Advisor", "RequiredVersion": "2.1.1" }, { "ModuleName": "Az.Aks", "RequiredVersion": "7.0.0" }, { "ModuleName": "Az.AnalysisServices", "RequiredVersion": "1.2.0" }, { "ModuleName": "Az.ApiManagement", "RequiredVersion": "4.1.0" }, { "ModuleName": "Az.App", "RequiredVersion": "2.0.1" }, { "ModuleName": "Az.AppConfiguration", "RequiredVersion": "2.0.0" }, { "ModuleName": "Az.ApplicationInsights", "RequiredVersion": "2.3.1" }, { "ModuleName": "Az.ArcResourceBridge", "RequiredVersion": "1.1.1" }, { "ModuleName": "Az.ArizeAI", "RequiredVersion": "1.0.0" }, { "ModuleName": "Az.Attestation", "RequiredVersion": "2.1.1" }, { "ModuleName": "Az.Automanage", "RequiredVersion": "1.1.1" }, { "ModuleName": "Az.Automation", "RequiredVersion": "1.11.1" }, { "ModuleName": "Az.Batch", "RequiredVersion": "3.7.1" }, { "ModuleName": "Az.Billing", "RequiredVersion": "2.2.0" }, { "ModuleName": "Az.Cdn", "RequiredVersion": "5.0.1" }, { "ModuleName": "Az.CloudService", "RequiredVersion": "2.1.0" }, { "ModuleName": "Az.CognitiveServices", "RequiredVersion": "1.16.0" }, { "ModuleName": "Az.Compute", "RequiredVersion": "10.3.0" }, { "ModuleName": "Az.ConfidentialLedger", "RequiredVersion": "1.1.1" }, { "ModuleName": "Az.ConnectedMachine", "RequiredVersion": "1.1.1" }, { "ModuleName": "Az.ContainerInstance", "RequiredVersion": "4.1.2" }, { "ModuleName": "Az.ContainerRegistry", "RequiredVersion": "4.3.1" }, { "ModuleName": "Az.CosmosDB", "RequiredVersion": "1.18.2" }, { "ModuleName": "Az.DataBoxEdge", "RequiredVersion": "1.2.1" }, { "ModuleName": "Az.Databricks", "RequiredVersion": "1.10.0" }, { "ModuleName": "Az.DataFactory", "RequiredVersion": "1.19.4" }, { "ModuleName": "Az.DataLakeAnalytics", "RequiredVersion": "1.1.0" }, { "ModuleName": "Az.DataLakeStore", "RequiredVersion": "1.5.0" }, { "ModuleName": "Az.DataProtection", "RequiredVersion": "2.7.0" }, { "ModuleName": "Az.DataShare", "RequiredVersion": "1.1.1" }, { "ModuleName": "Az.DataTransfer", "RequiredVersion": "1.0.0" }, { "ModuleName": "Az.DesktopVirtualization", "RequiredVersion": "5.4.1" }, { "ModuleName": "Az.DevCenter", "RequiredVersion": "2.0.2" }, { "ModuleName": "Az.DevTestLabs", "RequiredVersion": "1.1.0" }, { "ModuleName": "Az.Dns", "RequiredVersion": "1.3.2" }, { "ModuleName": "Az.DnsResolver", "RequiredVersion": "1.1.1" }, { "ModuleName": "Az.ElasticSan", "RequiredVersion": "1.4.1" }, { "ModuleName": "Az.EventGrid", "RequiredVersion": "2.2.0" }, { "ModuleName": "Az.EventHub", "RequiredVersion": "5.4.0" }, { "ModuleName": "Az.Fabric", "RequiredVersion": "1.0.0" }, { "ModuleName": "Az.FrontDoor", "RequiredVersion": "1.13.0" }, { "ModuleName": "Az.Functions", "RequiredVersion": "4.2.1" }, { "ModuleName": "Az.HDInsight", "RequiredVersion": "6.3.1" }, { "ModuleName": "Az.HealthcareApis", "RequiredVersion": "2.1.1" }, { "ModuleName": "Az.HealthDataAIServices", "RequiredVersion": "1.0.0" }, { "ModuleName": "Az.IotHub", "RequiredVersion": "2.8.0" }, { "ModuleName": "Az.KeyVault", "RequiredVersion": "6.3.2" }, { "ModuleName": "Az.Kusto", "RequiredVersion": "2.4.0" }, { "ModuleName": "Az.LambdaTest", "RequiredVersion": "1.0.0" }, { "ModuleName": "Az.LoadTesting", "RequiredVersion": "1.1.0" }, { "ModuleName": "Az.LogicApp", "RequiredVersion": "1.6.0" }, { "ModuleName": "Az.MachineLearning", "RequiredVersion": "1.2.0" }, { "ModuleName": "Az.MachineLearningServices", "RequiredVersion": "1.2.0" }, { "ModuleName": "Az.Maintenance", "RequiredVersion": "1.5.1" }, { "ModuleName": "Az.ManagedServiceIdentity", "RequiredVersion": "2.0.0" }, { "ModuleName": "Az.ManagedServices", "RequiredVersion": "3.1.2" }, { "ModuleName": "Az.MarketplaceOrdering", "RequiredVersion": "2.2.0" }, { "ModuleName": "Az.Migrate", "RequiredVersion": "2.9.0" }, { "ModuleName": "Az.Monitor", "RequiredVersion": "6.0.3" }, { "ModuleName": "Az.MySql", "RequiredVersion": "1.5.0" }, { "ModuleName": "Az.Network", "RequiredVersion": "7.19.1" }, { "ModuleName": "Az.NetworkCloud", "RequiredVersion": "1.2.1" }, { "ModuleName": "Az.Nginx", "RequiredVersion": "1.2.1" }, { "ModuleName": "Az.NotificationHubs", "RequiredVersion": "1.2.0" }, { "ModuleName": "Az.OperationalInsights", "RequiredVersion": "3.3.0" }, { "ModuleName": "Az.Oracle", "RequiredVersion": "1.2.0" }, { "ModuleName": "Az.PolicyInsights", "RequiredVersion": "1.7.1" }, { "ModuleName": "Az.PostgreSql", "RequiredVersion": "1.4.0" }, { "ModuleName": "Az.PowerBIEmbedded", "RequiredVersion": "2.1.0" }, { "ModuleName": "Az.PrivateDns", "RequiredVersion": "1.2.0" }, { "ModuleName": "Az.RecoveryServices", "RequiredVersion": "7.8.0" }, { "ModuleName": "Az.RedisCache", "RequiredVersion": "1.11.0" }, { "ModuleName": "Az.RedisEnterpriseCache", "RequiredVersion": "1.5.0" }, { "ModuleName": "Az.Relay", "RequiredVersion": "2.1.2" }, { "ModuleName": "Az.ResourceGraph", "RequiredVersion": "1.2.1" }, { "ModuleName": "Az.ResourceMover", "RequiredVersion": "1.3.0" }, { "ModuleName": "Az.Resources", "RequiredVersion": "8.1.0" }, { "ModuleName": "Az.Security", "RequiredVersion": "1.8.0" }, { "ModuleName": "Az.SecurityInsights", "RequiredVersion": "3.2.0" }, { "ModuleName": "Az.ServiceBus", "RequiredVersion": "4.1.1" }, { "ModuleName": "Az.ServiceFabric", "RequiredVersion": "3.7.0" }, { "ModuleName": "Az.SignalR", "RequiredVersion": "2.1.0" }, { "ModuleName": "Az.Sql", "RequiredVersion": "6.1.0" }, { "ModuleName": "Az.SqlVirtualMachine", "RequiredVersion": "2.4.0" }, { "ModuleName": "Az.StackHCI", "RequiredVersion": "2.6.2" }, { "ModuleName": "Az.StackHCIVM", "RequiredVersion": "1.1.0" }, { "ModuleName": "Az.Storage", "RequiredVersion": "9.1.0" }, { "ModuleName": "Az.StorageAction", "RequiredVersion": "1.0.0" }, { "ModuleName": "Az.StorageMover", "RequiredVersion": "1.5.1" }, { "ModuleName": "Az.StorageSync", "RequiredVersion": "2.5.2" }, { "ModuleName": "Az.StreamAnalytics", "RequiredVersion": "2.1.1" }, { "ModuleName": "Az.Support", "RequiredVersion": "2.1.0" }, { "ModuleName": "Az.Synapse", "RequiredVersion": "3.2.2" }, { "ModuleName": "Az.TrafficManager", "RequiredVersion": "1.3.0" }, { "ModuleName": "Az.Websites", "RequiredVersion": "3.4.1" }, { "ModuleName": "Az.Workloads", "RequiredVersion": "1.0.0" } ], "Description": "Microsoft Azure PowerShell - Cmdlets to manage resources in Azure. This module is compatible with PowerShell and Windows PowerShell.\r\nFor more information about the Az module, please visit the following: https://learn.microsoft.com/powershell/azure/", "FunctionsToExport": [], "Copyright": "Microsoft Corporation. All rights reserved.", "PrivateData": { "PSData": { "LicenseUri": "https://aka.ms/azps-license", "ReleaseNotes": "14.4.0 - September 2025\r\nAz.Accounts\r\n* Updated \u0027AuthenticationAssemblyLoadContext\u0027 project to deprecate .NET 6.0 and build on .NET 8.0.\r\n* Added Server-Side Pagination Support for \u0027Invoke-AzRestMethod\u0027 command via \u0027-Paginate\u0027 parameter.\r\n\r\nAz.Advisor\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.ApplicationInsights\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.ArcResourceBridge\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.Attestation\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.Automanage\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.Batch\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.Cdn\r\n* Fixed content types comtent bug with null content\r\n* Added breaking change message for 2025-06-01\r\n\r\nAz.Compute\r\n* Fixed typo \u0027DeyAll\u0027 to \u0027DenyAll\u0027 in NetworkAccessPolicy description. \r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n* Updated New-AzDiskConfig to include \u0027SecurityMetadataUri\u0027 and \u0027SecurityDataUri\u0027 parameters.\r\n* Updated Grant-AzDisk to return \u0027SecurityMetadataAccessSAS\u0027 property.\r\n\r\nAz.ConfidentialLedger\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.ContainerInstance\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.ContainerRegistry\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.DataTransfer\r\n* General availability for module Az.DataTransfer\r\n* Added commands for flow management\r\n\r\nAz.Dns\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.HealthcareApis\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.KeyVault\r\n* Upgraded API version to 2024-11-01 [#27067]\r\n\r\nAz.Network\r\n* Added a read-only property \u0027ComputedDisabledRules\u0027 to \u0027ApplicationGatewayFirewallPolicyManagedRuleSet\u0027. This property shows which rules are effectively disabled, based on both user-defined WAF policy overrides and the default state of the rules in the managed ruleset.\r\n * Primary affected Cmdlet (returns the modified object directly):\r\n - \u0027New-AzApplicationGatewayFirewallPolicyManagedRuleSet\u0027\r\n * Secondary affected Cmdlets (object is nested within their returned result):\r\n - \u0027New-AzApplicationGatewayFirewallPolicyManagedRules\u0027\r\n - \u0027Get-AzApplicationGatewayFirewallPolicy\u0027\r\n - \u0027Set-AzApplicationGatewayFirewallPolicy\u0027\r\n - \u0027New-AzApplicationGatewayFirewallPolicy\u0027\r\n\r\nAz.NetworkCloud\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.ServiceFabric\r\n* Updated SF to latest api preview version \u00272023-11-01-preview\u0027\r\n* Fixed \u0027Set-AzServiceFabricManagedClusterApplication\u0027 to correctly overwrite existing application upgrade policy when \u0027-RecreateApplication\u0027 parameter is specified and no other upgrade policy parameters are bound.\r\n* Added parameter \u0027AutoGeneratedDomainNameLabelScope\u0027 to allow customers to initiate migration to public CA cluster certificates in cmdlet \u0027New-AzServiceFabricManagedCluster\u0027 and \u0027Set-AzServiceFabricManagedCluster\u0027.\r\n\r\nAz.Sql\r\n* Fixed \u0027New-AzSqlDatabaseExport\u0027 and \u0027New-AzSqlDatabaseImport\u0027 to use SQL Authentication with ManagedIdentity without any mandatory password\r\n* Added \u0027MemorySizeInGB\u0027 parameter to \u0027New-AzSqlInstance\u0027, \u0027Set-AzSqlInstance\u0027 to enable the creation of instances with flexible memory\r\n* Added \u0027MemorySizeInGB\u0027 field to the model of the managed instance so that it displays information about flexible memory instances that are returned by \u0027Get-AzSqlInstance\u0027.\r\n\r\nAz.StackHCI\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.StorageMover\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n\r\nAz.StorageSync\r\n* Fixed security bug in checking tenant id for MI server registration\r\n\r\nAz.StreamAnalytics\r\n* Preannounced breaking changes. Please refer to https://go.microsoft.com/fwlink/?linkid=2333229\r\n", "ProjectUri": "https://github.com/Azure/azure-powershell", "Tags": [ "Azure", "ARM", "ResourceManager", "Linux", "AzureAutomationNotSupported" ] } }, "Author": "Microsoft Corporation", "RootModule": "Az.psm1", "ModuleVersion": "14.4.0", "AliasesToExport": [], "DotNetFrameworkVersion": "4.7.2" }So PSResourceGet messes up the parsing of this JSON. I could reproduce this in PowerShell, and also got it working by
ConvertFrom-Json -AsHashtable.# MAR API ## Get metadata as JSON $MetadataJson = [string]( ( Invoke-RestMethod -Method 'Get' -Uri 'https://mcr.microsoft.com/v2/psresource/az/manifests/14.4.0' -Headers @{ 'Accept' = [string] 'application/vnd.oci.image.manifest.v1+json' } ).'layers'.'annotations'.'metadata' ) ## Convert from JSON to PSCustomObject - Only version for the first module in the list is returned ($MetadataJson | ConvertFrom-Json).'ModuleList' ## Convert from JSON to hashtable - Version for all modules are returned ($MetadataJson | ConvertFrom-Json -AsHashtable).'ModuleList'
I'll see if I can see something in the code for MAR.
o-l-a-v commented
on Sep 20, 2025 ContributorAuthorMore actionsLooks like it's
ParseContainerRegistryDependenciesinPSResourceInfo.csthat fails to get version info.
Prerequisites
Steps to reproduce
PSResourceGet v1.1.1. MAR was added like so:
Results:
Expected behavior
Same as when doing it against PSGallery.
Actual behavior
Does not give version range for all but `Az.Accounts`.Error details
Environment data
PSResourceGet v1.1.1Visuals
No response