import-module位于网络共享上

时间:2010-12-22 18:24:36

标签: powershell powershell-remoting

我有一个位于网络共享上的模块,我希望在远程会话期间加载到我网络上的其他服务器。

这是我的命令:

enter-pssession remoteserver
import-module \\shareserver\sharefolder\SPModule.misc

这是错误:

Import-Module : The specified module 'SPModule.misc' was not loaded because no valid module file was found in any module directory.
    + CategoryInfo          : ResourceUnavailable: (SPModule.misc:String) [Import-Module], FileNotFoundException
    + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

模块是否无法从网络共享加载或我做错了什么?

由于

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

默认情况下,它会在PSModulePath环境变量中列出的任何路径中按名称查找模块。我知道你也可以提供绝对的路径,但我从未尝试过UNC。

也就是说,模块文件名以.psm1,.psd1或.dll结尾 - “。misc”不是有效的模块文件名。来自帮助:

Specifies the names of the modules to import. Enter the name of the module or the name of a file in the module, such as a .psd1, .psm1, .dll, or ps1 file. File paths are optional. Wildcards are not permitted. You can also pipe module names and file names to Import-Module.

If you omit a path, Import-Module looks for the module in the paths saved in the PSModulePath environment variable ($env:PSModulePath).

尝试将模块重命名为.psm1(如果它实际上是一个脚本模块)。

答案 2 :(得分:0)

创建PS会话并通过Kerberos进行身份验证时,该会话不支持双跳。因此,PS会话无法使用网络资源进行身份验证。

解决方案: 在Enter-PSSession命令的目标计算机上,运行以下命令:

> Enable-WSManCredSSP -Role Server

在运行Enter-PSSession命令的计算机上,运行以下命令:

> Enable-WSManCredSSP -Role Client -DelegateComputer Servername

参考:https://support.microsoft.com/af-za/help/4076842