Wie installiere ich Treiber im Hintergrund mit pnputil.exe?

Wie installiere ich Treiber im Hintergrund mit pnputil.exe?

Wenn ich laufepnputil.exe /add-driver treiber.inf /installIch werde aufgefordert, zuerst den Herausgeber zu verifizieren. Ich brauche eine Möglichkeit, diesen Schritt zu überspringen und den Herausgeber automatisch verifizieren zu lassen.

Antwort1

Wenn Sie Powershell als Administrator ausführen können, können Sie den Treiber im Hintergrund installieren, indem Sie das Zertifikat des Treiberherausgebers vorab autorisieren.

Sie müssen das Zertifikat finden, das zum Signieren des Treibers verwendet wurde, und es dann in den LocalMachine\TrustedPublisherZertifikatspeicher importieren.

Powershell bietet einen Get-AuthenticodeSignatureBefehl, der Ihnen beim Auffinden des Zertifikats hilft: Führen Sie ihn für einige Dateien im Treiber aus, um zu sehen, ob Sie ein gültiges Zertifikat finden. Normalerweise sollte eine .catDatei vorhanden sein, die den Treiberkatalog darstellt und signiert ist. Überprüfen Sie die .infDatei, da der Katalog in einer der ersten Zeilen aufgeführt wird.

Laden Sie dann zuerst das Zertifikat in den vertrauenswürdigen Speicher, bevor Sie ausführen pnputil.exe. Beispiel:

$signature = Get-AuthenticodeSignature driver.cat
$store = Get-Item -Path Cert:\LocalMachine\TrustedPublisher
$store.Open("ReadWrite")
$store.Add($signature.SignerCertificate)
$store.Close()
PnPutil.exe -i -a driver.inf

Dies sollte völlig unbeaufsichtigt laufen können.

Antwort2

Dies lässt sich nur erreichen, indem Sie die Treiber-INF-Datei zunächst mit einem Zertifikat signieren. Dasselbe Zertifikat muss im vertrauenswürdigen Stammspeicher installiert werden, bevor Sie versuchen, den eigentlichen Treiber zu installieren.

Es wäre in der Tat sehr schlimm, wenn Benutzer die Installation nicht vertrauenswürdiger Treiber stillschweigend erzwingen könnten.

verwandte Informationen