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

时间:2018-08-03 08:18:29

标签: powershell azure-powershell azure-automation

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

在仅使用2个参数(ResourceGroupName和AutomationAccountName)使用cmdlet时,“ 全局”模块的模块列表将Version显示为null。但是,通过传递3个参数(ResourceGroupName,AutomationAccountName和Module name)运行相同的cmdlet时,我们将获得全局模块的版本。

这是设计的吗?如果是这样,为什么会这样?当前,门户网站也将全局模块的版本显示为空,而实际上它们已经具有版本。下面列出了一些可以看到此行为的示例模块。

AuditPolicyDsc
PSDscResources
SecurityPolicyDsc
StateConfigCompositeResources
xDSCDomainjoin
xPowerShellExecutionPolicy
xRemoteDesktopAdmin

谢谢!

1 个答案:

答案 0 :(得分:1)

以下是一些个人意见供您参考,我认为这可能是API的 bug

首先,我在门户中对其进行检查并测试命令,其结果与您提到的相同,但该命令实质上是一个API。因此,我在 azure资源浏览器中检查我的自动化帐户(选择AuditPolicyDsc模块作为示例)。

检查所有模块

enter image description here

仅检查AuditPolicyDsc模块:

enter image description here

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

注意:另外,我认为它可能与 global 无关,您可以找到名为Microsoft.PowerShell.Core的模块,它是 global < / strong>,但版本为非空

enter image description here

它们使用两种不同的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中发布想法,这可能会有所帮助。