説明: ruby スクリプト (.rb) ファイルから powershell を実行/実行しています。
exec "powershell.exe Import-Module PSWindowsUpdate"
PSWindowsUpdate
「Windows Update PowerShell モジュール」からモジュールをダウンロードし、ファイルを次の場所にコピーしました。
%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 経由で実行すると、問題なく動作します。
私は使用しています:
- ウィンドウズ 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