通过Powershell访问共享的office365邮箱

时间:2018-06-19 13:13:35

标签: powershell office365

我在office365上有一个共享邮箱,该邮箱没有与之关联的用户帐户,即我无法通过office 365门户登录到该邮箱。我可以通过Outlook作为共享邮箱访问它,因此我的帐户有权查看收件箱。

我使用了发现的here的Powershell脚本,除了更改了$mail$password以外,我几乎没有修改它。

如果我使用自己的帐户凭据,则可以遍历foreach循环并观察它访问我的电子邮件,这很棒。但是,我想访问一个名为shared@mailbox.com的共享邮箱,而不是myAccount@mailbox.com。

为尝试执行此操作,我添加了一个用户名变量,并将其传递给$service.credentials,并将$ mail变量传递给$service.autodiscover。参见下面的代码。

这不起作用。...

有人可以帮忙吗?

$username="myAccount@mailbox.com"
$password="myPassword"
$mail = "shared@mailbox.com"

# Set the path to your copy of EWS Managed API 
$dllpath = "C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll" 
# Load the Assemply 
[void][Reflection.Assembly]::LoadFile($dllpath) 

# Create a new Exchange service object 
$service = new-object Microsoft.Exchange.WebServices.Data.ExchangeService 

#These are your O365 credentials
$Service.Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials($username,$password)

# this TestUrlCallback is purely a security check
$TestUrlCallback = {
    param ([string] $url)
    if ($url -eq "https://autodiscover-s.outlook.com/autodiscover/autodiscover.xml") {$true} else {$false}
}

# Autodiscover using the mail address set above
$service.AutodiscoverUrl($mail,$TestUrlCallback)

0 个答案:

没有答案