PowerShell/WMI设置MSNdis\u currentpacketfilter

PowerShell/WMI设置MSNdis\u currentpacketfilter,powershell,wmi,Powershell,Wmi,我想知道是否有方法将PowerShell与WMI一起使用来设置MSNdis_currentPacketFilter PS > Get-WmiObject -class "MSNdis_CurrentPacketFilter" -NameSpace "root\WMI" -Filter "InstanceName='Intel(R) Ethernet Server Adapter I350-T2'" __GENUS : 2 __CLASS

我想知道是否有方法将PowerShell与WMI一起使用来设置MSNdis_currentPacketFilter

PS > Get-WmiObject -class "MSNdis_CurrentPacketFilter" -NameSpace "root\WMI" -Filter "InstanceName='Intel(R) Ethernet Server Adapter I350-T2'"

__GENUS                 : 2
__CLASS                 : MSNdis_CurrentPacketFilter
__SUPERCLASS            : MSNdis
__DYNASTY               : MSNdis
__RELPATH               : MSNdis_CurrentPacketFilter.InstanceName="Intel(R) Ethernet Server Adapter I350-T2"
__PROPERTY_COUNT        : 3
__DERIVATION            : {MSNdis}
__SERVER                : HYPERV88
__NAMESPACE             : root\WMI
__PATH                  : \\HYPERV88\root\WMI:MSNdis_CurrentPacketFilter.InstanceName="Intel(R) Ethernet Server Adapter
                          I350-T2"
Active                  : True
InstanceName            : Intel(R) Ethernet Server Adapter I350-T2
NdisCurrentPacketFilter : 15
PSComputerName          : HYPERV88
我想把NdisCurrentPacketFilter的值从15改为47

我试过了

Set-WMIInstance -Path ... -Arguments @{NdisCurrentPacketFilter=47}
但是,我犯了一个错误。提前谢谢

====2015年4月17日增补 以下是我尝试过的命令:

$p=$(Get-WmiObject -class "MSNdis_CurrentPacketFilter" -NameSpace "root\WMI" -Filter "InstanceName='Intel(R) Ethernet Server Adapter I350-T2'").__Path
Write-Host $p
\\HYPERV88\root\WMI:MSNdis_CurrentPacketFilter.InstanceName="Intel(R) Ethernet Server Adapter I350-T2"
Set-WmiInstance -Path $p -Arguments @{NdisCurrentPacketFilter=47}
和错误(不确定为什么它说找不到命令,但命令有效)

我试过这个:

$o = Get-WmiObject -class "MSNdis_CurrentPacketFilter" -NameSpace "root\WMI" -Filter "InstanceName='Intel(R) Ethernet Server Adapter I350-T2'"
Write-Host $o
\\HYPERV88\root\WMI:MSNdis_CurrentPacketFilter.InstanceName="Intel(R) Ethernet Server Adapter I350-T2"
Set-WMIInstance -class "MSNdis_CurrentPacketFilter" -InputObject $o -Arguments @{NdisCurrentPacketFilter=47}
Set-WmiInstance : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Set-WMIInstance -class "MSNdis_CurrentPacketFilter" -InputObject $o -Arguments @ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-WmiInstance], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands.SetWmiInstance

我认为你有这个问题,因为根据该值是只读的

NdisCurrentPacketFilter

  • 数据类型:整数/usint32
  • 访问类型:只读
我也发现了类似的信息。你也应该在这里写下你的错误。这可能为你的问题增加了背景,这是提问时的最佳做法


免责声明:我对这门课一无所知。我只是想看看是否有人发布了类参数的详细信息。

看起来像是只读的。我注意到,当我在接口上运行wireshark时,wireshark将相应地设置它,当wireshark退出时,该值将被重置。wireshark可能不会使用WMI来更改它
$o = Get-WmiObject -class "MSNdis_CurrentPacketFilter" -NameSpace "root\WMI" -Filter "InstanceName='Intel(R) Ethernet Server Adapter I350-T2'"
Write-Host $o
\\HYPERV88\root\WMI:MSNdis_CurrentPacketFilter.InstanceName="Intel(R) Ethernet Server Adapter I350-T2"
Set-WMIInstance -class "MSNdis_CurrentPacketFilter" -InputObject $o -Arguments @{NdisCurrentPacketFilter=47}
Set-WmiInstance : Parameter set cannot be resolved using the specified named parameters.
At line:1 char:1
+ Set-WMIInstance -class "MSNdis_CurrentPacketFilter" -InputObject $o -Arguments @ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-WmiInstance], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameterSet,Microsoft.PowerShell.Commands.SetWmiInstance