我知道如何在自动化帐户中运行 Runbook 时使用 Get-AutomationAccount 在内部检索连接详细信息。
但是,如果我希望能够报告 Runbook 作业外部的 AzureRunAsConnection 使用的服务主体,该怎么办?
我尝试过类似以下的操作:
$automationAccount = Get-AzAutomationAccount -ResourceGroupName $rg -Name $name
$conn = $automationAccount | Get-AzAutomationConnection
$conn.FieldDefinitionValues
但是,FielDefinitionValues 哈希表中没有任何内容?我期待看到诸如tenantId、ApplicationId 等内容。
我可以通过门户获取此信息,方法是单击:
AutomationAccount > Run as accounts > Azure RunAs Account
或通过
AutomationAccount > Connections > AzureRunAsConnection
但不知道如何从 PowerShell 获取 RunAs 帐户的此信息?
提前致谢。
最佳答案
是的,您需要使用$conn = $automationAccount | Get-AzAutomationConnection -名称“AzureRunAsConnection”
。
Maybe a bug?
这不是一个错误,因为这两个命令调用不同的 REST API。
使用$conn = $automationAccount | 时Get-AzAutomationConnection
,它调用此其余 api Connection - List By Automation Account
,fieldDefinitionValues
的详细信息不会公开,它始终为 null
。您可以查看sample response或者用fiddler捕获powershell的请求。
使用$conn = $automationAccount | 时Get-AzAutomationConnection -Name "AzureRunAsConnection"
,它调用此其余 api Connection - Get
。 fieldDefinitionValues
将包含您想要的属性。
关于azure - 使用 PowerShell 获取 Azure 自动化帐户连接的服务主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59577925/