指定的模块未加载'PSWindowsUpdate'

时间:2015-01-27 06:06:05

标签: ruby powershell import-module

描述:我正在从ruby脚本(.rb)文件运行/执行powershell

exec "powershell.exe Import-Module PSWindowsUpdate"

我从“Windows Update PowerShell Module”下载了PSWindowsUpdate模块,并将文件复制到以下位置:

%WINDIR%\System32\WindowsPowerShell\v1.0\Modules

当我运行上述内容时,我收到以下错误:

Z:\Desktop>ruby windows_patch.rb
Import-Module : The specified module 'PSWindowsUpdate' was not loaded because
no valid module file was found in any module directory.At line:1 char:1
+ Import-Module PSWindowsUpdate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (PSWindowsUpdate:String) [I
   mport-Module], FileNotFoundException
    + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Comm
   ands.ImportModuleCommand

然而,当我通过Powershell运行时,它运行良好且花花公子。

我正在使用:

  • Windows 7 x64
  • PowerShell v4
  • Ruby v2.1.5

exec "powershell.exe ruby -e 'puts $:'"的结果是:

C:/Ruby21/lib/ruby/site_ruby/2.1.0
C:/Ruby21/lib/ruby/site_ruby/2.1.0/i386-msvcrt
C:/Ruby21/lib/ruby/site_ruby
C:/Ruby21/lib/ruby/vendor_ruby/2.1.0
C:/Ruby21/lib/ruby/vendor_ruby/2.1.0/i386-msvcrt
C:/Ruby21/lib/ruby/vendor_ruby
C:/Ruby21/lib/ruby/2.1.0
C:/Ruby21/lib/ruby/2.1.0/i386-mingw32

1 个答案:

答案 0 :(得分:2)

我跑了powershell.exe $env:PSModulePath给了我:

  

\ vmware-host \ Shared Folders \ Documents \ WindowsPowerShell \ Modules; C:\ Program Files(x86)\ WindowsPowerShell \ Modules; C:\ Windows \ system32 \ WindowsPowerShell \ v1.0 \ M   odules \

然后我将文件夹复制到C:\Program Files (x86)\WindowsPowerShell\Modules

然后我得到了:

  

Import-Module:指定的模块' PSWindowsUpdate'没装,因为   在任何模块目录中找不到有效的模块文件。行:1 char:39

接下来,我跑了:

PS C:\Users\Justin.Schuhmann> Set-ExecutionPolicy -Scope LocalMachine

cmdlet Set-ExecutionPolicy at command pipeline position 1
Supply values for the following parameters:
ExecutionPolicy: Unrestricted

Execution Policy Change
The execution policy helps protect you from scripts that you do not trust. Changing the execution policy might expose
you to the security risks described in the about_Execution_Policies help topic at
http://go.microsoft.com/fwlink/?LinkID=135170. Do you want to change the execution policy?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):

这解决了这个问题,我还没有永久的解决方案,因为这只是暂时的。设置时