PowerShell从模块连接到Office 365

时间:2014-09-22 18:45:39

标签: powershell office365

我创建了一个PowerShell模块。模块中的每个函数都有自己的脚本文件,因此我可以跟踪它们。

我的功能有以下问题:

function Connect-O365
{
  $global:o365Cred = Get-Credential
  $global:o365Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell -Credential $global:o365Cred -Authentication Basic -AllowRedirection -Verbose

  Import-PSSession $global:o365Session -Verbose -AllowClobber
  Connect-MsolService –Credential $global:o365Cred -Verbose

  Get-Mailbox    # SEE BELOW
}

当我调用该功能时,它会通过所有动作并且看起来运行正常。没有显示错误。但是,当我调用get-mailbox函数时,我收到“命令或cmdlet不存在”的错误。

如果我在命令行上执行每行代码,它可以正常工作。如果我将该功能添加到我的PowerShell配置文件,它也可以正常工作。我还在其末尾添加了Get-Mailbox行(在注释#SEE BELOW旁边),它显示了邮箱。

对我而言,它与范围有关。一旦将其放入模块功能中,它就会停止工作。一旦它运行并退出我需要消失的命令。

我已尝试将该功能设为全局功能,但这也不起作用。

有人有任何建议吗?

0 个答案:

没有答案