通过Powershell连接Office 365 Exchange Online

时间:2014-02-12 05:11:52

标签: powershell exchange-server office365

我正在尝试通过PowerShell在Exchange(Office 365)上执行某些操作。

首先,我创建了一个新的PowerShell会话并将模块导出到本地作为“o365”,这样在以后的任何操作中我都不需要使用Import-PsSession来下载所需的模块

$cred = Get-Credential
$s = New-PSSession -ConfigurationName "Microsoft.Exchange" -ConnectionUri "https://ps.outlook.com/powershell/" -Credential $cred -Authentication Basic -AllowRedirection
Export-PsSession -session $s -outputModule o365

现在,我正在创建新会话并导入现有模块“o365”。

$cred = Get-Credential
$s = New-PSSession -ConfigurationName "Microsoft.Exchange" -ConnectionUri "https://ps.outlook.com/powershell/" -Credential $cred -Authentication Basic -AllowRedirection
Import-Module o365
Get-DistributionGroup

在运行命令“Get-DistributionGroup”时,powershell会再次提示我输入office 365凭据。是否可以避免再次输入凭证?我不想使用Import-PsSession,因为它需要更多时间。

1 个答案:

答案 0 :(得分:2)

这是提示,因为你每次都要问它。我会通过创建一个新对象来设置$ cred。

#Initiate Get-Credential cmdlet and store inputs
$getcred = Get-Credential
$username = $getcred.UserName
$password = $getcred.Password 

$cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $username, $password

如果将上述内容放在自己的函数中,则不会出现重新定义$ getcred变量的问题。 (这对大多数人来说是显而易见的,但我认为我会覆盖那个基础)