powershell - 如何从共享服务器导入 splitpipeline 模块?

标签 powershell

我的脚本使用 Powershell splitpipeline模块,带来并行进程和队列功能。

脚本和模块存储在共享服务器上,例如\server\c$ ,这个想法是能够从任何计算机上运行它。

试图放在脚本的开头 import-module \\server\c$\SplitPipeline但我收到错误:

import-module : Could not load file or assembly 'file://\\server\c$\SplitPipeline\SplitPipeline.dll' or one of its dependencies.
Operation is not supported. (Exception from HRESULT: 0x80131515)
At D:\scripts\powershell\OstReport_BETA-PIPE.ps1:6 char:1
+ import-module \\server\c$\SplitPipeline
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Import-Module], FileLoadException
    + FullyQualifiedErrorId : FormatXmlUpdateException,Microsoft.PowerShell.Commands.ImportModuleCommand

如果我尝试将其从 srv 复制到 pc:
Copy-Item -Path \\server\c$\SplitPipeline -Destination C:\windows\system32\WindowsPowerShell\v1.0\Modules -recurse -force

我被拒绝访问

有任何想法吗?

谢谢

最佳答案

您遇到的问题是 .NET 程序集无法从不受信任的 UNC 路径加载,无需特殊配置。正如您已经发现的那样,最简单的解决方案是首先将模块复制到本地计算机。

要解决“拒绝访问”消息,请将模块复制到您的用户目录,而不是系统范围的目录。

c:\users\<username>\Documents\WindowsPowerShell\Modules

您需要“以管理员身份”运行 PowerShell 才能获得复制到系统文件夹的权限,但通常建议不要修改默认系统目录。相反,将模块复制到您的用户文件夹(如上)。

关于powershell - 如何从共享服务器导入 splitpipeline 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24558789/

相关文章:

file - Powershell中的文件和文件夹操作

将文件复制到新目标的 Powershell 脚本

windows - 用于安装字体系列的 Powershell 脚本

powershell - 用一个 | 替换多个空格(管道)

powershell - 如果我使用-computerName,powershell invoke-command将不起作用

Powershell 命令在 Powershell 中有效,但在脚本中无效,为什么?

networking - Powershell 在当前服务器上创建共享 - 授予用户/组权限

powershell - 如何在PowerShell中知道已安装的软件版本

azure - Powershell循环直到输出一行

powershell - 使用单个 DSC 配置初始化可变数量的磁盘