我有一个 MS 提供的 powershell 脚本,我已经对其进行了编辑。真正的形式 MS 提供了一个使用旧代码的脚本。由于我们启用了 MFA,我不能再使用 Get-Credential 进行身份验证,因为我们使用的是 Modern Auth 而不是 Basic。如何编辑代码以支持 MFA?我们不使用 Auzer MFA,我们使用 Duo。
旧代码:
$adminCredential = Get-Credential
Write-Output "Connecting to Exchange Online Remote Powershell Service"
$ExoSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $adminCredential -Authentication Basic -AllowRedirection
if ($null -ne $ExoSession) {
Import-PSSession $ExoSession -AllowClobber
} else {
Write-Output " No EXO service set up for this account"
}
Write-Output "Connecting to EOP Powershell Service"
$EopSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid/ -Credential $adminCredential -Authentication Basic -AllowRedirection
if ($null -ne $EopSession) {
Import-PSSession $EopSession -AllowClobber
} else {
Write-Output " No EOP service set up for this account"
}
新命令应该是 Connect-IPPSSession 而不是 New-PSSession 但我必须以某种方式更改 Get-Credential 以传递凭据和 MFA 我只是不知道该怎么做。