如何在Powershell中返回对象的一个​​确切属性Azure

问题描述

im试图使显示名称的服务主体应用程序ID数组都以相同的前缀开头

示例:

Get-AzAdServicePrincipal -displayNameBeginswith "ecp-"

ServicePrincipalNames : {xxxx-75xx71-xxx-xxxx-xxx}
ApplicationId         : xxxxx-xxxx-xxxx-93x85-xxxxxxxxx
ObjectType            : ServicePrincipal
displayName           : ecp-test-1
Id                    : xxxxxx-xxx-xxxx-xxxx-xxxxxxxx
Type                  : 

我希望它仅输出应用程序ID字段

Get-AzAdServicePrincipal -displayNameBeginswith "ecp-"

ApplicationId         : xxxxx-xxxx-xxxx-93x85-xxxxxxxxx

解决方法

您可以使用Select-Object命令(通常缩写为Select)来指定要返回的属性。

在您的情况下:

Get-AzAdServicePrincipal -DisplayNameBeginswith "ecp-" | Select ApplicationId

ApplicationId
-------------
xxxxx-xxxx-xxxx-93x85-xxxxxxxxx

您可以像这样将其提交给变量。

$myAzPrincipleAppId = Get-AzAdServicePrincipal -DisplayNameBeginswith "ecp-" | Select ApplicationId

这是一个PowerShell对象,具有一个属性ApplicationId。通常,您只需要获取不带属性名称的属性(称为解引用)即可。为此,只需使用以下语法。

Write-host "Our AzPrincipleAppId is $($myAzPrincipleAppId.ApplicationId)"
>
Our AzPrincipleAppId is xxxxx-xxxx-xxxx-93x85-xxxxxxxxx

您也可以将其作为$myAzPrincipleAppId.ApplicationId的任何地方传递