Es kann kein Positionsparameter gefunden werden, der das Argument --disable-gpu akzeptiert

Es kann kein Positionsparameter gefunden werden, der das Argument --disable-gpu akzeptiert

Ich versuche, einen Powershell-Prozess zu erstellen, mit dem ich meine lokale Webseite automatisch ausdrucken kann.

start-process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --headless --disable-gpu --print-to-pdf="C:\Temp\createPdf180304023549.pdf" http://localhost/

Das Problem dabei ist jedoch, dass immer wieder gesagt wird

Es kann kein Positionsparameter gefunden werden, der das Argument --disable-gpu akzeptiert

Die Befehle, die ich verwende, sind jedoch kopiert vonhttps://developers.google.com/web/updates/2017/04/headless-chrome

Was habe ich falsch gemacht?

Antwort1

Fügen Sie den ArgumentListParameter wie folgt zu Ihrem Befehl hinzu:

start-process "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -ArgumentList @"--headless --disable-gpu --print-to-pdf="C:\Temp\createPdf180304023549.pdf" http://localhost/"

Beachten Sie, dass die Argumente in doppelte Anführungszeichen eingeschlossen und mit einem At-Zeichen (@) versehen wurden, um die doppelten Anführungszeichen im Argument „Als PDF drucken“ zu umgehen.

Ohne diesen Parameter interpretiert PowerShell die für Chrome vorgesehenen Argumente als Argumente für das Cmdlet „Start-Process“.


Start-Prozess

Antwort2

Es funktioniert bei mir

start-process chrome.exe -ArgumentList "--headless --print-to-pdf=C:\Users\{User}\Desktop\AllPdf\pdf4.pdf https://www.google.com"

verwandte Informationen