当我跑步时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 文件进行签名。在尝试安装实际驱动程序之前,需要将此证书安装在受信任的根存储中。
如果人们能够默默地强制安装不受信任的驱动程序,那确实非常糟糕。