2017-10-19 17 views
0
$cs = New-PSSession -ComputerName MACHINE -Credential DOMAIN\admin 
Copy-Item -Path C:\Scripts\smart -Destination C:\smart -ToSession $cs 
msiexec /i "C:\Smart\SMART.msi" NB_PROD_KEY=NC-2ADA2-F9RKE-AKAIA-BBB ACTIVATE_LICENSE=1 INSTALL_INK="" LAT_CONTENT="" PRINT_CAPTURE="" INSTALL_DOCCAM_DRIVERS="" CUSTOMER_LOGGING=1 /qnT="" INSTALL_SPU=2 CUSTOMER_LOGGING=0 /qn 

こんにちは、私はMSIは、上記の作業を実行します構文取得するために苦労していPowerShellの起動コマンドに

を使用してソフトウェアをインストールする - 私は、コマンドが正常にbeforfeが、起動スクリプトブロック内部のスイッチで働いてきたが、プログラムベンダーのヘルプファイルのパラメータではありません。

私も試してみました:PowerShell内のベンダーコマンドを使用してインストールする方法を

Start-Process "msiexec.exe" -Argumentlist "/i "C:\smartmsi\SMART.msi" ` 
NB_PROD_KEY=NC-2ADA2-F9RKE-AKAIA-BBB ACTIVATE_LICENSE=1 INSTALL_INK="" LAT_CONTENT="" PRINT_CAPTURE="" INSTALL_DOCCAM_DRIVERS="" CUSTOMER_LOGGING=1 /qn 

完全に混乱し、どのように私は巣各引数をすることができ、それはスイッチではありませんか?

私はまた、スプラッターを使用していない試してみました:

$params = '/i', "C:\smartmsi\SMART.msi", 
      'NB_PROD_KEY=NC-2ADA2-CEAM7-F9RKE', 'ACTIVATE_LICENSE=1', 
      '/qn' 
& msiexec.exe @params 
$LastExitCode 

ませ喜びを - 通常のインストールと、このアプリをリモートでインストールされます。事前に

おかげ

UPDATE:今

は、私もこれを試してみた:

invoke-command -Session $session -ScriptBlock { 
Start-Process -FilePath C:\windows\system32\msiexec.exe ` 
-ArgumentList "/i `"C:\smart\SMARTSuite.msi`" `"NB_PROD_KEY=NC-2ADA2`" ACTIVATE_LICENSE=1 INSTALL_INK=`"`" LAT_CONTENT=`"`" PRINT_CAPTURE=`"`" INSTALL_DOCCAM_DRIVERS=`"`" CUSTOMER_LOGGING=1 /qn" 

} 

はまだ機能していません。インストーラーが1秒間表示されてからドロップオフします。

+0

MSIロギングを有効にすることができますか?ログファイルには、コマンドラインにインストールされているものが表示されます。/ja-jp/help/223300/how-to-enable-windows-installer-logging –

答えて

1

あなたが「`エスケープする必要がありますが、彼らはすでに他のあなたは、文字列のチェーンを破る二重引用符を使用して文字列内に解釈されるようにする場合:

Start-Process -FilePath msiexec -ArgumentList "/i `"C:\smartmsi\SMART.msi`" NB_PROD_KEY=NC-2ADA2-F9RKE-AKAIA-BBB ACTIVATE_LICENSE=1 INSTALL_INK=`"`" LAT_CONTENT=`"`" PRINT_CAPTURE=`"`" INSTALL_DOCCAM_DRIVERS=`"`" CUSTOMER_LOGGING=1 /qn" 

あなたがいる場合、二重引用符をエスケープする必要はありません文字列は単純引用符で囲まれています