0

ベンダーのコマンドラインによるリモート実行を PowerShell 2.0 に変換しようとしています。ただし、変数の設定方法が原因で、コマンドをリモートで実行できないようです。コンマ区切りではなくスペース区切りです。変数の入力を取得するフォームを作成しました。これを PowerShell で動作させる方法について誰か提案がありますか? ありがとうございました!レット

#Call the Function
GenerateForm

#Attempting to translate Dos command below to Powershell
#winrs -r:$ServerName -nop -d:"C:\Program Files (x86)\PaperCut NG\server\bin\win\" server-command.exe $Command $Varible1 $Varible2 $Varible3 
#cd C:\Program Files\PaperCut NG\server\bin\win\server-command rename-printer oldprintserver oldqueuename newprintserver newqueuename
#From: http://www.papercut.com/kb/Main/HowToRenameAPrinter
#Also: http://www.papercut.com/kb/Main/CallingServerCommandRemotely
#Server Commands List: http://www.papercut.com/products/ng/manual/apdx-tools.html

#Have tried below and many others:
#Invoke-Command -computername $ServerName  -scriptblock {'C:\Program Files (x86)\PaperCut NG\server\bin\win\server-command.exe rename-printer $OldPrintServer $OldQueueName $NewPrintServer $NewQueueName}
#Invoke-Command -Authentication Kerberos -computername $ServerName -scriptblock {"C:\Program Files (x86)\PaperCut NG\server\bin\win\server-command.exe"} -ArgumentList {param(rename-printer[, $OldPrintServe][, $OldQueueName][, $NewPrintServer][, $NewQueueName])}
#Invoke-Command -computername $ServerName  -scriptblock {cd 'C:\Program Files (x86)\PaperCut NG\server\bin\win\'; .\'server-command.exe rename-printer' $OldPrintServer $OldQueueName $NewPrintServer $NewQueueName}
#Invoke-Command -computername $ServerName  -scriptblock {cd 'C:\Program Files (x86)\PaperCut NG\server\bin\win\'; .\'server-command.exe' + ' rename-printer' + ' ' + $OldPrintServer + ' ' + $OldQueueName + ' ' + $NewPrintServer + ' ' + $NewQueueName}
#Invoke-Command -computername $ServerName  &"C:\Program Files (x86)\PaperCut NG\server\bin\win\server-command.exe" "rename-printer" "$OldPrintServer" "$OldQueueName" "$NewPrintServer" "$NewQueueName"
#Invoke-Command -computername $ServerName  &{"C:\Program Files (x86)\PaperCut NG\server\bin\win\server-command.exe" "rename-printer" "$OldPrintServer" "$OldQueueName" "$NewPrintServer" "$NewQueueName"}
Invoke-Command -computername $ServerName  -scriptblock {&"C:\Program Files (x86)\PaperCut NG\server\bin\win\server-command.exe" "rename-printer" "$OldPrintServer" "$OldQueueName" "$NewPrintServer" "$NewQueueName"}

Read-Host "Press ENTER to continue"
4

1 に答える 1

0

すべてを引用符で囲むだけです。PowerShell での ping コマンドは次のようになります。

ping "192.168.0.1" "-4" "-n" "5"

したがって、コマンドは次のようになります。

&"C:\Program Files (x86)\PaperCut NG\server\bin\win\server-command.exe" "rename-printer" "$OldPrintServer" "$OldQueueName" "$NewPrintServer" "$NewQueueName"
于 2012-06-01T07:24:45.073 に答える