【发布时间】:2014-10-03 21:55:17
【问题描述】:
我的功能很简单,它将你连接到一个 Office365 帐户:
Function Connect-O365 {
[CmdletBinding()]
Param()
$url = "https://ps.outlook.com/powershell"
$O365Credential = Get-Credential -Message "Enter your Office 365 Credentials"
$O365Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $url -Credential $O365Credential -Authentication Basic -AllowRedirection
Import-PSSession -Session $O365Session -Prefix O365
}
从自定义模块运行时,导入会话中的命令不会被导入,不会返回任何错误或任何消息。
但是,如果我将相同的功能复制/粘贴到我的 powershell 配置文件,或直接到控制台,它工作得非常好,命令从会话中成功导入。
想法?
编辑:我要添加此函数的我的模块是一个简单的 .psm1 文件,其中只有两个其他不相关的函数,也没有太复杂。
【问题讨论】:
-
模块中的函数导出了吗?
-
在 PS4 上运行良好,您使用的是什么版本?运行了哪些错误以及导入会话中的哪些命令?运行
Connect-O365后可以看到列表中的模块吗? -
将我函数中的最后一行修改为: Import-Module (Import-PSSession -Session $O365Session) -Global -Prefix O365 这解决了我的问题,即模块没有在我的 Import 中导入-会话
-
@EvanYoung - 好东西,把它作为答案发布并接受它,这样问题就可以结束了。
-
感谢您的帮助,它引导我找到解决它的路径。
标签: powershell