使用 Get-AzureRmAutomationModule cmdlet 检索模块时全局模块的模块版本不一致

Inconsistent module version for global modules when retrieving modules using Get-AzureRmAutomationModule cmdlet

我在尝试使用 Get-AzureRmAutomationModule cmdlet 从自动化帐户检索自动化模块时观察到以下行为。

使用仅带有 2 个参数(ResourceGroupName 和 AutomationAccountName)的 cmdlet 时,模块列表将“global”模块的版本显示为空。但是,当通过传递 3 个参数(ResourceGroupName、AutomationAccountName 和模块名称)运行 相同的 cmdlet 时,我们将获得全局模块的版本。

这是设计的吗?如果是,为什么会这样?目前,门户网站还将全局模块的版本显示为空,而实际上它们已经有一个版本。下面列出了一些出现这种行为的示例模块。

AuditPolicyDsc
PSDscResources
SecurityPolicyDsc
StateConfigCompositeResources
xDSCDomainjoin
xPowerShellExecutionPolicy
xRemoteDesktopAdmin

谢谢!

这里有一些个人意见供大家参考,我觉得可能是API.

的一个bug

首先,我在门户网站上查看并测试了命令,结果就像你说的那样,但命令本质上是一个 API。因此,我在 azure 资源浏览器 中检查了我的自动化帐户(选择 AuditPolicyDsc 模块作为示例)。

检查所有模块:

只检查 AuditPolicyDsc 模块:

你可以找到AuditPolicyDsc模块,不仅version,而且sizeInBytesactivityCount也不同

注意:此外,我认为它可能与 global 无关,您可以找到一个名为 Microsoft.PowerShell.Core 的模块, 它是 global 但版本是 not null.

他们用的是两个不同的API,我觉得可能是他们造成的,否则可能不合理

https://management.azure.com/subscriptions/{subscriptionid}/resourceGroups/{resourceGroup}/providers/Microsoft.Automation/automationAccounts/{automationAccount}/modules?api-version=2015-10-31

https://management.azure.com/subscriptions/{subscriptionid}/resourceGroups/{resourceGroup}/providers/Microsoft.Automation/automationAccounts/{automationAccount}/modules/AuditPolicyDsc?api-version=2015-10-31

如果你想改进它,我想你可以在 automation feedback 中 post 想法,它可能会有所帮助。