Exchange Online PowerShell V2 使用

网友投稿 307 2022-10-03

Exchange Online PowerShell V2 使用

微软年初的时候更新了Exchange Online Powershell V2 的版本。因为疫情,我也没关注,毕竟旧版本的脚本还是可以继续运行的。今天刚好有空,测试了一下新版本,发现稳定性和速度果然大幅度提高了,回头就把旧版本的脚本给修改了。

下面看看新版本的使用方式。

安装:

#第一行的目的是把安全协议更改为tls1.2, PS5 默认的tls1.0现在已经不支持了,如果直接使用Install-Module会报错 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 #下面两行是用来安装或者更新PowerShell Gallery的安装模块 Install-Module -Name PowerShellGet -Force Update-Module -Name PowerShellGet #下面两行是用来安装或者更新ExchangeOnlineManagement模块, 旧版本我们还需要登陆进Exchange Admin去下载,新版本直接可以通过PowerShell Gallery安装了 Install-Module -Name ExchangeOnlineManagement Update-Module -Name ExchangeOnlineManagement #安装完成之后,导入查看模块信息 Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement

安装完成之后,就可以直接连接和运行了。比起第一个版本,2.0的版本优化了很多。旧版本里面,我们是通过New-PSSession的方式来实现连接,但是当我使用MFA的情况下,我只能通过间接调用dll文件来操作,这样子非常的恶心,每次链接都需要输入手机验证码,而且非常不稳定,执行脚本超过20分钟就会导致PowerShell ISE完全死机。

新版本可以直接通过传递credential链接,非常方便,也很稳定。

可以做个对比,下面是1.0的方式

#MFA Authentication, 能用但是很不稳定# Import-Module $((Get-ChildItem -Path $($env:LOCALAPPDATA+"\Apps\2.0\") -Filter Microsoft.Exchange.Management.ExoPowershellModule.dll -Recurse ).FullName|?{$_ -notmatch "_none_"}|select -First 1) $EXOSession = New-ExoPSSession Import-PSSession $EXOSession #Normal login $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $Credential -Authentication Basic -AllowRedirection Import-PSSession $Session Connect-MsolService -Credential $credential

下面是2.0的方式,不过我的测试发现,我的MFA管理员账号直接用普通连接方式居然也是工作的

#普通 Connect-ExchangeOnline -Credential $UserCredential -ShowProgress $true #MFA Connect-ExchangeOnline -UserPrincipalName $UPN -ShowProgress $true

连接效果,感觉利落,对比1.0 时间几乎快了一倍,也没一大堆乱七八糟的警告信息了

最后看看相关命令变化

咋一看貌似就是命令前面多了一个EXO,比如从 get-mailbox 变成了 get-exoMailbox, 他的内部的参数其实变化了。旧版本的get-mailbox会返回所有的属性,包括大量的空白属性,这些属性可能使用的机会非常稀少,这样子其实浪费了大量的资源和时间。 新版本里面,他定义了一个东西叫做 Propertyset,也就是把各种常见的属性分成大类放到一起,我们返回的时候,指定对应的propertyset,就可以获取对应的信息,而不是一股脑的全部返回。

比如

虽然看起来改进不多,但是连接和执行效果的优化,真正使用起来感觉爽快太多了

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:使用SpreadJS 开发在线问卷系统,构筑CCP(云数据采集)平台
下一篇:springboot vue测试平台开发调通前后端环境实现登录
相关文章

 发表评论

暂时没有评论,来抢沙发吧~