如何使用 pnputil.exe 静默安装驱动程序?

如何使用 pnputil.exe 静默安装驱动程序?

当我跑步时pnputil.exe /添加驱动程序 driver.inf /安装它提示我首先验证发布者。我需要一种方法来跳过此步骤并自动验证发布者。

答案1

如果您可以以管理员身份运行 Powershell,则可以通过预授权驱动程序发布者的证书来静默安装该驱动程序。

您需要找到用于签署驱动程序的证书,然后将其导入LocalMachine\TrustedPublisher证书存储区。

Powershell 有Get-AuthenticodeSignature命令可以帮助您找到证书:在驱动程序中的某些文件上运行它,看看是否可以找到有效的证书。通常应该有一个.cat文件是驱动程序目录,并且将被签名 - 检查该.inf文件,因为它会在第一行中列出目录。

然后,在运行之前,先将证书加载到受信任的存储中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 文件进行签名。在尝试安装实际驱动程序之前,需要将此证书安装在受信任的根存储中。

如果人们能够默默地强制安装不受信任的驱动程序,那确实非常糟糕。

相关内容