【问题标题】:Connecting MFA account to multiple CMDlets将 MFA 帐户连接到多个 CMDlet
【发布时间】:2021-11-11 08:25:29
【问题描述】:

我正在尝试通过一次登录连接到三个不同的 CMDlet:

$credential = Get-Credential
Connect-MsolService -Credential $credential
Connect-ExchangeOnline -Credential $credential
Connect-AzureAD -Credential $credential

它提示登录,它提示输入旧凭据,然后提示输入 MFA,似乎连接到在线交换但返回以下错误:

New-ExoPSSession : One or more errors occurred.
At C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\netFramework\ExchangeOnlineManagement.psm1:475 char:30
+ ... PSSession = New-ExoPSSession -ExchangeEnvironmentName $ExchangeEnviro ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-ExoPSSession], AggregateException
    + FullyQualifiedErrorId : System.AggregateException,Microsoft.Exchange.Management.ExoPowershellSnapin.NewExoPSSession

能否请我帮忙将这三个 cmdlet 连接在一起?

【问题讨论】:

    标签: powershell azure-devops office365 exchange-server powershell-3.0


    【解决方案1】:

    使用$credential = Get-Credential,然后将$credential 传递给命令以登录,这种方式不适用于Connect-ExchangeOnlineConnect-AzureAD,您刚刚收到来自Connect-ExchangeOnline 的错误,因为错误中断了脚本。对于Connect-MsolService,当通过$credential时,会提示你再次交互登录。

    在您的情况下,您可能需要使用启用了 MFA 的帐户登录所有这些帐户。如果您想避免交互式登录,可以使用 Azure AD App 登录命令。

    参考:

    1. App-only authentication for unattended scripts in the EXO V2 module

    2. Using a Service Principal to connect to a directory in PowerShell

    【讨论】:

      猜你喜欢
      • 2021-09-13
      • 1970-01-01
      • 1970-01-01
      • 2020-10-30
      • 1970-01-01
      • 2022-08-24
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多