我有以下代码用于提取有关我的AzADServicePrincipals
. 现在,我找到了一个使用这样的管道执行此操作的代码:
$APPs = Get-AzADApplication
$SPs = Get-AzADServicePrincipal
$appCreds = @()
$appCreds += $APPs | Sort-Object -Property DisplayName | % {
$app = $_
$sp = $SPs | ? ApplicationId -eq $cred.ApplicationId
New-MyQLogEntry -Severity DEBUG -Message "'Fetching information for application {0}' -f $app.DisplayName"
$app | Get-AzADAppCredential -ErrorAction SilentlyContinue | Select-Object -Property @{Name='DisplayName'; Expression={$app.DisplayName}}, @{Name='ObjectId'; Expression={$app.Id}}, @{Name='ApplicationId'; Expression={$app.ApplicationId}}, @{Name='UsedIn'; Expression={$app.ReplyUrls}}, @{Name='KeyId'; Expression={$_.KeyId}}, @{Name='Type'; Expression={$_.Type}}, @{Name='StartDate'; Expression={$_.StartDate -as [datetime]}}, @{Name='EndDate'; Expression={$_.EndDate -as [datetime]}}
}
我正在尝试将其转换为 foreach 循环,但我无法做到。
关于代码的背景: Get-AzADApplication 将为您提供 Azure 帐户中的所有应用程序,我正在尝试查找所有类型的应用程序:服务主体(基于应用程序 Id 匹配),然后将所有属性合并到一个对象中(此处$appCreds 在这种情况下)