2016-09-01 21 views
1

私はLANに接続されたコンピュータを持っています。 1台のPCからAコンピュータBに格納されたバッチファイルを実行したいと思います.Aのリソースを使用したくありません。バッチファイルにはリソースに敏感なプロセスが含まれています。したがって、Bのリソースは使用する必要があります。バッチファイルはBで実行する必要がありますが、Aから開始してください。別のコンピュータからコンピュータ上のバッチファイルを実行するには?

+4

可能な重複http://stackoverflow.com/questions/15336336/running-batch-file(WMICが開始プロセスのpidを返します) -on-remote-computers-using-powershell-2-0) – SomethingDark

答えて

0

十分な特権とWinRMが設定されていると仮定します。

Invoke-Command -ComputerName 'RemotePCName' -ScriptBlock { 'c:\temp\script.bat' } -Credential $(Get-Credential) 
0

あなたはInvoke-Commandを使用してPSSession

を作成する必要がありそしてそれは次のようになります。あなたが必要なものでなければなりません

$session = New-PSSession -ComputerName "ComputerB" 
Invoke-Command -Session $session -ScriptBlock { ./P:\Path\to\bat.bat } 
$session | Remove-Session 

。あなたはWMICやSCHTASKSを使用することができ、バッチファイルを介して

$examplePath = "P:\Path\to" 
$exampleFile = "mySCript.bat" 
$session = New-PSSession -ComputerName "ComputerB" 
$output = Invoke-Command -Session $session -ScriptBlock { ./$args[0] + "\" + $args[1] } -ArgumentList $examplePath, $exampleFile 
$session | Remove-Session 
1

:あなたは、バッチファイル内の任意の出力を持っている場合は、あなたが使用できるのScriptBlock内部の$ VARSが必要な場合 あなたは

$session = New-PSSession -ComputerName "ComputerB" 
$output = Invoke-Command -Session $session -ScriptBlock { ./P:\Path\to\bat.bat } 
$session | Remove-Session 

を使用することができます。

1)SCHTASKS

SCHTASKS /s remote_machine /U username /P password /create /tn "On demand demo" /tr "C:\some.bat" /sc ONCE /sd 01/01/1910 /st 00:00 
SCHTASKS /s remote_machine /U username /P password /run /TN "On demand demo" 

2)WMIC([PowerShellの2.0を使用してリモートコンピュータ上で実行中のバッチファイル]の

WMIC /NODE remote_machine /user user /password password process call create "c:\some.bat","c:\exec_dir" 
+0

私はSCHTASKSを試しました。しかし、これはマシンAのプロセスを実行します。私は、14台のマシン上で14個のバッチファイルを実行したいので、何もしたくありません。私は彼らがそれぞれのマシンで動くようにします。 – Ish

関連する問題