0
连接天青| 外空

$global:token = [Microsoft.Open.Azure.AD.CommonLibrary.AzureSession]::AccessTokens

$ceo = "<ceo_username>"

导入-Csv "C:\Users\abhilash\Music\users.txt" | ForEach-对象 {

$脚本块 = {

参数($userprincipalname)

Connect-Azuread -AadAccessToken $global:token.AccessToken.AccessToken -accountid <my_username>

新对象 PSObject -property @{

Manager1 = $l = (Get-AzureADUserManager -ObjectId $userprincipalname).userprincipalname

Manager2 = $m = if ($l -ne $null -and $l -ne $CEO) { (Get-AzureADUserManager -ObjectId $l).userprincipalname } else { $null }

Manager3 = $n = if ($m -ne $null -and $m -ne $CEO) { (Get-AzureADUserManager -ObjectId $m).userprincipalname } else { $null }

Manager4 = $o = if ($n -ne $null -and $n -ne $CEO) { (Get-AzureADUserManager -ObjectId $n).userprincipalname } else { $null }

} | 选择@{N='User';E={$userprincipalname}},Manager1,Manager2,manager3,manager4

}

开始作业 $ScriptBlock -ArgumentList $_

}

While (Get-Job -State "Running") { Start-Sleep 10 }

找工作| 接受工作


“您必须在调用任何其他 cmdlet 之前调用 Connect-AzureAD cmdlet”......即使在有活动会话之后,我也会收到此错误,尝试使用 accesstoken 进行连接,现在我收到错误消息,因为“无法验证参数 'AadAccessToken' 上的参数” . 参数为 null 或空。请提供一个不为 null 或空的参数,然后重试该命令。

4

1 回答 1

0

我们已尝试使用您给定的代码并要求用户添加他们的凭据以进行身份​​验证。

AFAIK,我们无法在 PowerShell 脚本中传递启用 MFA 的 azure 帐户凭据。

所以我们必须使用cmdlets来连接我们的服务而不使用参数 Credential。这将向我们显示以下支持 MFA 的服务的登录到我们的帐户弹出窗口(登录窗口)。我们在ceo和中提供了用户帐户名my username在此处输入图像描述

有关更多信息,请参阅此博客SO 线程

于 2022-02-07T08:02:07.083 回答