PowershellでVBScriptなどの他のスクリプトを動作させるのにCOMオブジェクトのScriptControlを利用するには、32bitのWindowsで行うか、64bitでは32bit版のPowershellを使います。
64bit版では、C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exeを使います。
なおスクリプトファイルを使う場合は実行ポリシーを変更しなくてはいけません。
VBScript.ps1
$source = " Function ShowMsg(ByVal msg) MsgBox(msg) End Function " $sc = New-Object -ComObject MSScriptControl.ScriptControl $sc.Language = "VBScript" $sc.AddCode($source) $sc.CodeObject
コンソール上で
$code = .\VBScript.ps1 $code.ShowMsg("テストだよ")