我的脚本使用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
我拒绝访问
任何想法?
感谢
答案 0 :(得分:3)
您遇到的问题是,无需特殊配置,无法从不受信任的UNC路径加载.NET程序集。正如您已经发现的,最简单的解决方案是首先将模块复制到本地计算机。
要解决“拒绝访问”消息,请将模块复制到用户目录,而不是系统范围的目录。
c:\users\<username>\Documents\WindowsPowerShell\Modules
您需要以管理员身份运行PowerShell才能获得复制到系统文件夹的权限,但通常建议不要修改默认系统目录。而是将模块复制到用户文件夹(如上所述)。