Описание: Я бегу/выполнения PowerShell рубинового сценария (.rb файл)Указанный модуль не был загружен «PSWindowsUpdate»
exec "powershell.exe Import-Module PSWindowsUpdate"
Я скачал PSWindowsUpdate
модуль из «Windows Update PowerShell Module» и копируются файлы по следующему адресу:
%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
- Рубин 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
Попробуйте выполнить «exec» powershell.exe ruby -e 'помещает $:' "', который будет печатать модули, доступные для сухой 'powershell'. – mudasobwa
@mudasobwa добавил результат выше – abc123
Итак, распакуйте модули в любое из известных мест (например, 'C:/Ruby21/lib/ruby / vendor_ruby'), а не'% WINDIR% \ System32 \ WindowsPowerShell \ v1.0 \ Modules' , Модули Ruby не являются модулями PS и наоборот. – mudasobwa