关于Disconnect-ExchangeOnline同时断开EMS的问题求助
解决Disconnect-ExchangeOnline同时断开EMS连接的问题
用独立PowerShell会话隔离Exchange Online操作
将Exchange Online的操作放在单独的远程PowerShell会话中执行,断开时仅关闭该会话,不会影响本地EMS连接。示例代码:Do { # 执行EMS本地操作 # ... 你的EMS业务代码 ... # 创建独立会话连接Exchange Online $exoCred = Get-Credential $exoSession = New-PSSession -ConfigurationName Microsoft.Exchange ` -ConnectionUri https://outlook.office365.com/powershell-liveid/ ` -Credential $exoCred ` -Authentication Basic ` -AllowRedirection Import-PSSession $exoSession -DisableNameChecking # 执行Exchange Online操作 # ... 你的Exchange Online业务代码 ... # 断开并移除独立会话 Remove-PSSession $exoSession } While (你的循环判断条件)避免同一进程内混合加载EMS与Exchange Online环境
EMS和Exchange Online的命令空间存在潜在冲突,不要在同一个PowerShell进程中同时加载两者的模块或会话。如果脚本必须包含两类操作,除了会话隔离外,还可以将EMS和Exchange Online操作拆分为两个独立脚本,通过Start-Process powershell.exe分别启动执行,彻底隔离进程环境。使用Exchange Online V2模块的
-UseRPSSession参数
若使用Exchange Online Management V2及以上版本模块,连接时添加-UseRPSSession参数,强制采用远程会话模式,断开时仅关闭该远程会话,不会影响本地EMS连接:Do { # 执行EMS本地操作 # ... Connect-ExchangeOnline -Credential $exoCred -UseRPSSession # 执行Exchange Online操作 # ... Disconnect-ExchangeOnline -Confirm:$false } While (你的循环判断条件)
内容的提问来源于stack exchange,提问作者Slime
相关产品推荐
相关产品推荐

