Чтение писем в почтовом ящике с использованием учетной записи администратора - PullRequest
1 голос
/ 27 марта 2020

Я могу использовать этот скрипт для чтения электронной почты в моей учетной записи. Работает отлично. Но если я укажу учетную запись администратора для чтения писем в другом почтовом ящике, в последней строке кода произойдет сбой с «Автообнаружение заблокировало потенциально небезопасное перенаправление ...»

Вот мой код :

$Userid="a4327"
$pass_secure = Get-Content "e:\hilario\cred_a910327.txt" | ConvertTo-SecureString
$credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $Userid, $pass_secure
$password = $credential.GetNetworkCredential().password
$dllpath = "C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll" 
[void][Reflection.Assembly]::LoadFile($dllpath) 
$service = new-object Microsoft.Exchange.WebServices.Data.ExchangeService 
$Service.Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials($Userid,$password)
$Sharedmail = "MessagingReports"
$service.AutodiscoverUrl($Sharedmail,$TestUrlCallback)

Вот скриншот работающего кода с ошибкой. enter image description here

1 Ответ

0 голосов
/ 01 апреля 2020

Благодаря @ MathiasR.Jessen. Добавление $ TestUrlCallback решило проблему.

$Userid="a4327"
$Sharedmail = "MessagingReports"
$pass_secure = Get-Content "e:\hilario\cred_a910327.txt" | ConvertTo-SecureString
$credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $Userid, $pass_secure
$password = $credential.GetNetworkCredential().password
$dllpath = "C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll" 
[void][Reflection.Assembly]::LoadFile($dllpath) 
$service = new-object Microsoft.Exchange.WebServices.Data.ExchangeService 
$Service.Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials($Userid,$password)
$TestUrlCallback = {
    param ([string] $url)
    if ($url -eq "https://autodiscover-s.outlook.com/autodiscover/autodiscover.xml") {$true} else {$false}
}
$service.AutodiscoverUrl($Sharedmail,$TestUrlCallback)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...