2014-07-03 94 views
1

我的腳本使用Powershell splitpipeline模塊來實現並行進程和隊列功能。如何從共享服務器導入splitpipeline模塊?

腳本和模塊存儲在共享服務器上,如\ server \ c $,這個想法可以從任何計算機上運行它。

試圖把在腳本import-module \\server\c$\SplitPipeline的begining,但我收到的錯誤:

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 

我得到一個訪問被拒絕

任何想法?

感謝

回答

3

您遇到的問題是,.NET程序集不能從不受信任的UNC路徑來加載,無需特殊的配置。正如您已經發現的,最簡單的解決方案是先將模塊複製到本地計算機。

要解決「拒絕訪問」消息,請將模塊複製到您的用戶目錄,而不是系統範圍的目錄。

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

您需要以有權複製到系統文件夾中運行PowerShell的「以管理員身份」,但通常建議不要修改默認的系統目錄下。相反,將模塊複製到您的用戶文件夾(如上所述)。

+0

感謝,沒有嘗試過,因爲如果你去env變量低谷系統,爲psmodulepath只是出現system32路徑 – pedaleo