2013-04-10 52 views
2

我需要從Powershell調用遠程VB腳本,並且需要在遠程計算機上運行VB腳本。使用Powershell在具有返回值的遠程計算機上調用VBScript

我一直在使用\ $計算機\ ROOT \ CIMV2:Win32_Process的「)創建(C:\ test.vbs)

這工作,但我不能從腳本返回值,只來自win32進程的返回值

我會將整個事情轉換爲PowerShell,但無法連接到傳統域我無法安裝其他工具,因此必須調用遠程vbscript

回答

1

我可能會嘗試遠程調用:

Invoke-Command -ScriptBlock { cscript.exe "C:\test.vbs" } -Computer $computer 

PsExec

PsExec \\$computer cscript.exe "C:\test.vbs" 

不能測試它們中的現在,雖然。

1

這是一個老問題,但我想分享我的解決方案。這是一樣的一個張貼安斯加爾但它已經測試和精細的工作:

$VNC = '\\share\software\AppName\_Install_Silent.vbs' 
$Computer = 'RemoteHost' 
$TMP = "\\$Computer\c$\TEMP" 

if (!(Test-Path $TMP)) { 
    New-Item -Path $TMP -ItemType Directory 
} 

Copy-Item -LiteralPath (Split-Path $VNC -Parent) -Destination $TMP -Container -Recurse -Force -Verbose 
$LocalPath = Join-Path 'C:\TEMP' (Join-Path (Split-Path $VNC -Parent | Split-Path -Leaf) (Split-Path $VNC -Leaf)) 
Invoke-Command -ScriptBlock {cscript.exe $Using:LocalPath} -Computer $Computer 

# Restart might be needed of remote host 

所不同的是,你必須將文件先複製到遠程機器,以避免雙跳問題,那麼你就可以安裝它與$Using變量。

希望這可以幫助別人。

相關問題