2017-10-19 4 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 

Hallo,Installieren von Software mithilfe von Powershell INVOKEBefehl

ich kämpfen, um die Syntax zu erhalten, die oben mit der MSI arbeitet läuft - ich habe mit Schaltern innerhalb Skriptblöcken gearbeitet, die Befehle aufrufen beforfe erfolgreich, aber, nicht mit den Parametern, die aus der Hilfedatei des Programmanbieters stammen.

ich auch versucht:

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 

Völlig verwirrt, wie mit den Anbietern installieren Befehle innerhalb Powershell, wie kann ich jedes Argument Nest, wenn es nicht ein Schalter ist?

Ich habe auch versucht Splatter mit:

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

Keine Freude - diese App fern als reguläres installieren installieren.

Vielen Dank im Voraus

UPDATE:

Nun habe ich auch schon versucht, diese:

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" 

} 

noch nicht funktioniert. Installer erscheint für eine Sekunde und fällt dann ab.

+0

Können Sie die MSI-Protokollierung aktivieren? Die Protokolldatei sollte angeben, was die Installation für eine Befehlszeile sieht. Zum Aktivieren der Anmeldung in der Registrierung lesen Sie diesen Artikel: https://support.microsoft.com/de-de/help/223300/how-to-enable-Windows-Installationsprotokollierung –

Antwort

1

Sie haben zu entkommen `“, wenn Sie wollen, in einem String interpretiert werden, die bereits doppelte Anführungszeichen verwendet, was Sie die Zeichenfolge Verkettungs brechen:

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" 

Sie müssen nicht doppelte Anführungszeichen, wenn die entkommen String ist umgeben von einfachen Anführungszeichen

Verwandte Themen