导入模块:找不到路径的一部分

4

我正在尝试使用PowerShell连接到Exchange Online (根据此文档),以添加分发组成员。

但是,我遇到了以下错误:

Import-Module : Could not find a part of the path
'C:\Users\[my user account]\AppData\Local\Temp\tmp_hhw3s30w.xwu\tmp_hhw3s30w.xwu.format.ps1xml'.
At line:3 char:17
+ ...             Import-Module -Name $name -Alias * -Function * -Prefix $p ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (:String) [Import-Module], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Commands.ImportModuleCommand

我的代码如下:

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $adCreds -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking -AllowClobber
Connect-MsolService -Credential $adCreds

我的代码过去在我的机器上运行良好,所以我很难弄清楚现在为什么会失败。

如果有任何帮助,将非常感激。


你不应该只使用 Import-Module MsOnline -DisableNameChecking | Out-Null 吗? - Theo
是的,PS正在尝试自动导入模块,但它找不到该模块。您是否使用与之前相同的计算机?如果不是,则需要重新安装先决条件,或者可能已丢失到模块的路径。 - Scepticalist
尝试使用“get-module -listavailable”来确保它对您可用。此外,MsOnline现在不是被AzureAD模块取代了吗? - Scepticalist
2个回答

1

另一个尝试的方法是关闭并重新打开PowerShell。

对我来说,在会话早期,我删除了本地临时文件夹中的所有内容。似乎PowerShell正在使用其中一些被删除的内容。

当我重新打开PowerShell时,它显然重新创建了所需的临时文件/目录,并且Import-Module再次起作用。


0

我知道这是一个旧的帖子,但今天我遇到了同样的问题。我解决它的方法是更新导入模块的模块PowerShellGet。 要检查当前模块版本,请输入:Get-Module -Name PowerShellGet 如果您仍在1.x.x.x版本上,请使用以下命令进行更新:Install-Module -Name PowerShellGet -Force -AllowClobber 您可能需要关闭并重新打开PowerShell。请确保再次检查版本,并将其与https://www.powershellgallery.com/packages/PowerShellGet/2.2.5提供的版本进行比较。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接