1

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

这是我的命令:

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

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

谢谢

4

3 回答 3

1

(将其添加为答案以使其更容易找到。)

您需要使用 CredSSP 启用第二跳远程处理。

PowerShell 2.0 远程处理指南:第 12 部分 – 使用 CredSSP 进行多跳身份验证

用于第二跳远程处理的 CredSSP

PowerShell 远程处理和“双跳”问题

于 2012-08-23T19:14:52.817 回答
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(如果它实际上是一个脚本模块)。

于 2010-12-22T19:04:45.293 回答
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

于 2018-10-17T20:41:59.993 回答