pnputil.exe を使用してドライバーをサイレント インストールするにはどうすればよいですか?

pnputil.exe を使用してドライバーをサイレント インストールするにはどうすればよいですか?

走るときpnputil.exe /add-driver ドライバ.inf /インストールまず発行元を確認するように求められます。この手順をスキップして、発行元を自動的に確認する方法が必要です。

答え1

Powershell を管理者として実行できる場合は、ドライバーの発行元の証明書を事前に承認することで、ドライバーをサイレント モードでインストールできます。

ドライバーの署名に使用された証明書を見つけて、LocalMachine\TrustedPublisher証明書ストアにインポートする必要があります。

Powershell にはGet-AuthenticodeSignature、証明書を見つけるのに役立つコマンドがあります。ドライバー内のいくつかのファイルでコマンドを実行して、有効な証明書が見つかるかどうかを確認します。通常、.catドライバー カタログであり、署名されているファイルがあるはずです.inf。ファイルの最初の行の 1 つにカタログがリストされているので、ファイルを確認してください。

次に、を実行する前に、まず証明書を信頼できるストアにロードしますpnputil.exe。例:

$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

これは完全に無人で実行できるはずです。

答え2

これを実現する唯一の方法は、まず証明書を使用してドライバーの inf ファイルに署名することです。実際のドライバーをインストールする前に、この同じ証明書を信頼されたルート ストアにインストールする必要があります。

信頼できないドライバーをユーザーが黙って強制的にインストールできるとしたら、それは非常にまずいことになります。

関連情報