gpt4 book ai didi

windows - 使用 PowerShell 自动安装 DummyNET 驱动程序

转载 作者:可可西里 更新时间:2023-11-01 11:52:56 26 4
gpt4 key购买 nike

tl;dr 尝试使用 PowerShell/(Set|Get)-NetAdapterBinding/PnPUtil/nvspbind 自动执行驱动程序/适配器绑定(bind)/适配器服务

我一直在探索 dummynet 的自动化安装Windows Server 2012 和 2012 R2 网络适配器上的驱动程序。

我需要自动化这些步骤:

Pull up the properties for the Network Adapter that is used to access the Internet
Click "Install"
Select "Service" and click "Add"
Click "Have Disk" and navigate to webpagetest\dummynet
Select the ipfw+dummynet service (and click through any warnings about the driver being unsigned)

我相信我可以使用 PnPUtil 实用程序将驱动程序的 INF 文件添加到驱动程序商店。

我探索了 (Set|Get)-NetAdapterBinding powershell 模块,但我似乎无法让驱动程序正确注册。

这是我通过手动方法安装后的 Get-NetAdapterBinding 结果:

PS C:\Users\Administrator> Get-NetAdapterBinding public0 -DisplayName ipfw+dummynet | format-list

Caption : MSFT_NetAdapterBindingSettingData 'Citrix PV Network Adapter #0'
Description : ipfw+dummynet
ElementName : unipi_ipfw
InstanceID : {906E5591-5C6C-4D07-BB8D-BA387BA4B646}::unipi_ipfw
InterfaceDescription : Citrix PV Network Adapter #0
Name : public0
Source : 1
SystemName : ComputerName
BindName : Ipfw
Characteristics : 17424
ComponentClassGuid : {4D36E974-E325-11CE-BFC1-08002BE10318}
ComponentClassName : Filter
ComponentID : unipi_ipfw
DisplayName : ipfw+dummynet
Enabled : True
PSComputerName :
ifAlias : public0
InterfaceAlias : public0
ifDesc : Citrix PV Network Adapter #0

Get-NetAdapterBinding -Name public -DisplayName ipfw+dummynet | GM

TypeName: Microsoft.Management.Infrastructure.CimInstance#ROOT/StandardCimv2
/MSFT_NetAdapterBindingSettingData

Name MemberType Definition
---- ---------- ----------
ifAlias AliasProperty ifAlias = Name
ifDesc AliasProperty ifDesc = InterfaceDescription
InterfaceAlias AliasProperty InterfaceAlias = Name
Clone Method System.Object ICloneable.Clone()
Dispose Method void Dispose(), void IDisposable.Dis...
Equals Method bool Equals(System.Object obj)
GetCimSessionComputerName Method string GetCimSessionComputerName()
GetCimSessionInstanceId Method guid GetCimSessionInstanceId()
GetHashCode Method int GetHashCode()
GetObjectData Method void GetObjectData(System.Runtime.Se...
GetType Method type GetType()
ToString Method string ToString()
BindName Property string BindName {get;}
Caption Property string Caption {get;set;}
Characteristics Property uint32 Characteristics {get;}
ComponentClassGuid Property string ComponentClassGuid {get;}
ComponentClassName Property string ComponentClassName {get;}
ComponentID Property string ComponentID {get;}
Description Property string Description {get;set;}
DisplayName Property string DisplayName {get;}
ElementName Property string ElementName {get;set;}
Enabled Property bool Enabled {get;set;}
InstanceID Property string InstanceID {get;set;}
InterfaceDescription Property string InterfaceDescription {get;}
Name Property string Name {get;}
PSComputerName Property string PSComputerName {get;}
Source Property uint32 Source {get;}
SystemName Property string SystemName {get;}

这是我尝试使用为该模块记录的参数设置 NetAdapterBinding:

Set-NetAdapterBinding -Name public0 -Component unipi_ipfw -Enabled $True

Set-NetAdapterBinding : No matching MSFT_NetAdapterBindingSettingData objects
found by CIM query for instances of the
ROOT/StandardCimv2/MSFT_NetAdapterBindingSettingData class on the CIM server:
SELECT * FROM MSFT_NetAdapterBindingSettingData WHERE ((Name LIKE 'public0'))
AND ((ComponentID LIKE 'unipi[_]ipfw')). Verify query parameters and retry.
At line:1 char:1
+ Set-NetAdapterBinding -Name public0 -Component unipi_ipfw -Enabled $True
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (MSFT_NetAdapterBindingSettingDa
ta:String) [Set-NetAdapterBinding], CimJobException
+ FullyQualifiedErrorId : CmdletizationQuery_NotFound,Set-NetAdapterBindin
g

在试图找出最好的方法时,我还遇到了 nvspbind 实用程序,并试图使用此工具添加驱动程序。不幸的是,我似乎也无法将其绑定(bind)到适配器。该实用程序只是不断吐出它的使用信息。

使用 PowerShell 解决此问题的最佳方法是什么?

最佳答案

我和一个同事一起工作,我们找到了一个解决方案:

bcdedit /set TESTSIGNING ON    
Import-Certificate -FilePath C:\webpagetest\WPOFoundation.cer -CertStoreLocation Cert:\LocalMachine\TrustedPublisher
cd C:\webpagetest
.\mindinst.exe c:\webpagetest\agent\dummynet\64bit\netipfw.inf -i -s
Enable-NetAdapterBinding -Name private0 -DisplayName ipfw+dummynet
  1. 使用 bcdedit 设置TESTSIGNING ON
  2. 然后,您必须将驱动程序提供的证书导入到证书存储中,使其成为受信任的驱动程序。
  3. 然后,使用mindinst.exe实用程序,您可以将驱动程序安装为网络服务绑定(bind)。
  4. 然后,标准的 Enable-NetAdapterBinding 模块将启用该服务。

关于windows - 使用 PowerShell 自动安装 DummyNET 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25329513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com