前面已经对Office 365的全局管理做了简单介绍,接下来的内容将进入本系列的主题――ExchangeOnline的介绍。通过微软提供的Office 365 Web控制页面的确可以管理Exchange Online的日常维护,但是需要进阶管理,则需要用到PowerShell。和Exchange Server相同,Exchange Online的很多操作是需要通过PowerShell来实现的。因此,首先介绍如何将PowerShell连接的Office 365中的Exchange Online。
一、实现PowerShell连接Exchange Online的系统需求
连接Exchange Online的Windows可以是:
Windows 8/8.1
Windows Server 2012/2012 R2
Windows 7 SP1
Windows Server 2008 R2 SP1
如果是Windows 8/8.1或者是Windows Server 2012/2012 R2可以直接通过系统自带的PowerShell可以连接Exchange Online。
如果是Window 7 SP1或Windows Server 2008 R2 SP1,则首先需要安装Microsoft .NET Framework 4.5/4.5.1,再安装WindowsManagement Framework 3.0/4.0才能通过PowerShell连接Exchange Online。
二、PowerShell连接Exchange Online的方法
使用本地的PowerShell连接到Office 365中的Exchange Online需要三个步骤,首先提供Exchange Online登录的管理员或用户账户;其次需要配置连接设置;最后需要将Exchange Online的命令导入到本地PowerShell的当前会话中。完成以上步骤后,就可以使用PowerShell对Exchange Online进行管理了。
1、定义ExchangeOnline登录凭据变量
通过Get-Credential命令,通过用户账户密码输入对话框获取用户凭证,并赋予一个变量。
$UserCredential =Get-Credential
在弹出的用户账户登录对话框中输入Office 365的用户账户和密码。点击“确定”,完成变量$UserCredential的赋值。
2、配置连接设置
使用New-PSSession新建一个PowerShell会话配置,将改配置信息赋予一个变量。
$Session = New-PSSession-ConfigurationName Microsoft.Exchange -ConnectionUrihttps://partner.outlook.cn/PowerShell/ -Credential $UserCredential-Authentication Basic -AllowRedirection
具体含义是:创建一个会话配置,配置名为“Microsoft.Exchange”,会话连接URL是“https://partner.outlook.cn/PowerShell/”这是世纪互联版Office 365的连接地址,如果是全球版Office 365,地址为“https://outlook.office365.com/powershell-liveid/”。提供的身份凭据为“$UserCredential”,即,之前定义的身份凭据变量。采用基本身份验证方式,并允许连接重定向到指定URL。
3、导入会话配置
使用Import-PSSession导入第二步中创建的会话配置。
Import-PSSession $Session
成功执行后,可能会收到警告,可以忽略。至此已经实现了本地PowerShell连接Office 365中的Exchange Online。在当前PowerShell会话中的操作将直接影响Exchange Online。
4、验证连接是否成功
可以通过简单的Exchange Online管理命令,验证是否已经连接到指定的Office 365订阅中。比如,查看订阅组织中的接受域或查看当前用户邮箱等。
使用Get-AcceptedDomain命令可以看到订阅Office 365时指定的域名和后来添加的自定义域。
使用Get-Mailbox命令可以列出当前订阅中所有用户的邮箱列表,以及所在服务器和邮箱所剩容量。
5、断开与ExchangeOnline的连接
可以使用Remove-PSSession命令断开指定配置会话。
Remove-PSSession $Session
强烈建议在关闭PowerShell窗口前,执行断开连接。因为,如果不断开连接,即使关闭了PowerShell窗口,Exchange Online将继续保留此会话,只有等其过期后才自动断开。由于总的会话数是有限制的,为了防止DoS攻击,最多只提供三个同时打开的会话。所以,如果之前已关闭PowerShell窗口的会话不能及时断开,很可能会导致三个会话数用完,这样将无法连接到Exchange Online。只能等待会话超时过期自动断开后再连接。
6、使用脚本方式连接ExchangeOnline
可以将三个步骤的PowerShell命令保存到一个PowerShell脚本文件中。需要连接时,只需要执行该脚本即可创建连接会话。
具体操作是将以下内容,以文本形式保存到一个*.ps1文件中。
$UserCredential = Get-Credential
$Session = New-PSSession-ConfigurationName Microsoft.Exchange -ConnectionUrihttps://partner.outlook.cn/PowerShell/ -Credential $UserCredential-Authentication Basic -AllowRedirection
Import-PSSession $Session
需要连接时,只需在PowerShell中运行该脚本,输入相应的Office 365用户账户和密码即可建立连接会话。
三、ExchangeOnline的PowerShell管理限制
即使是Office 365订阅的初始管理员账户,通过PowerShell连接Exchange Online后,也不可能使用Exchange的所有PowerShell命令。其情况有两种,一种是由于Office 365的限制,某些管理命令微软不会提供给用户;另一种是由于安全考虑原因和Office 365优化需要,默认没有授予用户使用这些命令的权限,即使是订阅的初始管理员或组织管理员。对于第二种情况,可以通过Exchange Online管理中心的“权限”管理项,通过角色组为管理员或用户分配所需的角色,一旦具有默认角色后,用户既能够使用该角色的PowerShell命令。
另外,可以通过以下命令禁用和启用用户的远程PowerShell连接Exchange Online功能。
Set-User [email protected]提醒您,请勿滥发广告!-RemotePowerShellEnabled $false
Set-User [email protected]提醒您,请勿滥发广告!-RemotePowerShellEnabled $true