使用PowerShell连接混合O365+Exchange服务器时Import-PSSession报错求助
解决Import-PSSession缺少Session参数的问题
嗨,这个问题其实很直观——你执行Import-PSSession的时候没告诉它要导入哪个会话呀!这个cmdlet的-Session参数是必填项,你之前已经把创建好的会话存在$session变量里了,只需要把这个变量传给它就行。
修正后的完整代码应该是这样的:
# 获取用户凭据 $usercredential = Get-Credential # 创建Exchange Online PowerShell会话 $session = New-PSSession -ConfigurationName microsoft.exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $usercredential -Authentication Basic -AllowRedirection # 导入指定的会话(关键:必须指定$session变量) Import-PSSession $session
额外给你两个小建议:
- 可以先运行
Get-PSSession确认$session的状态是Opened,确保会话确实创建成功了 - 加上
-DisableNameChecking参数能避免导入cmdlet时出现名称冲突的警告,体验更顺畅:Import-PSSession $session -DisableNameChecking
因为你用的是O365+Exchange混合架构,后续如果需要管理本地Exchange服务器,可能需要单独创建本地的PowerShell会话,但当前这个报错完全是因为没指定要导入的会话对象,按上面的方式修改就能解决啦。
内容的提问来源于stack exchange,提问作者Matthew
相关产品推荐
相关产品推荐

