3

Powershell からリモート VB スクリプトを呼び出す必要があり、その VB スクリプトをリモート マシンで実行する必要があります。

\$computer\root\cimv2:Win32_Process").Create(C:\test.vbs) を使用しています。

これは機能しますが、スクリプトから戻り値を取得できず、win32 プロセスからの戻り値しか取得できません。

すべてをPowerShellに変換しますが、レガシードメインに接続しているため、追加のツールをインストールできないため、リモートvbscriptを呼び出す必要があります

4

2 に答える 2

2

これは古い質問ですが、私の解決策を共有したいと思います。これは Ansgar が投稿したものと同じですが、テスト済みで正常に動作しています。

$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変数を使用してインストールできます。

これが誰かに役立つことを願っています。

于 2015-08-12T11:49:07.213 に答える