Powershell-从注册表刷新SNMP或执行SNMPServiceResetEvent

Powershell-从注册表刷新SNMP或执行SNMPServiceResetEvent,powershell,registry,snmp,Powershell,Registry,Snmp,我编写了一个powershell脚本,它为网络驱动程序写入注册表项以更改DCB设置。比如打开和关闭DCB,定义流量类别和带宽组。将值写入注册表后,有时无法远程查看SNMP的更改。虽然这是不一致的 我在网上搜索了一下,看看是否有办法迫使SNMP再次从注册表获取其值。我们有一个脚本,可以在SNMP中设置值,从而自动更改注册表。我正试图以相反的方式在注册表中设置值并更新MIB。我尝试在脚本中重置SNMP服务和网络设备,但没有成功 修改注册表后,对名为 “SNMPServiceResetEvent”。(

我编写了一个powershell脚本,它为网络驱动程序写入注册表项以更改DCB设置。比如打开和关闭DCB,定义流量类别和带宽组。将值写入注册表后,有时无法远程查看SNMP的更改。虽然这是不一致的

我在网上搜索了一下,看看是否有办法迫使SNMP再次从注册表获取其值。我们有一个脚本,可以在SNMP中设置值,从而自动更改注册表。我正试图以相反的方式在注册表中设置值并更新MIB。我尝试在脚本中重置SNMP服务和网络设备,但没有成功

修改注册表后,对名为 “SNMPServiceResetEvent”。(即,对该命名事件执行CreateEvent,然后 然后执行SetEvent)。这将导致代理使用 当前注册表值。 杰夫·凯利 Microsoft/Windows CE网络

我发现我所听到的只是我的上述内容,尽管进一步的研究表明他在谈论C++或C语言。有没有办法按照他在powershell中的建议去做?我发现了一个新的事件命令,尽管我不确定它是否适合当前任务。我尝试过的代码:

$snmpService = New-Event -sourceidentifier dcbScriptSnmpReset -sender     SNMPServiceResetEvent -messagedata "Reset SNMP to refresh Registry"
虽然没有设置事件commandlet,我也不知道如何继续

任何帮助或线索都将不胜感激

谢谢,
Marcus

显然我误解了SNMP的工作原理,现在我可以通过启用和禁用网络适配器以及停止和启动SNMP服务,让它更新输入注册表的值:

Stop-Service $snmpService.Name
$adaptor = Get-WmiObject -Class Win32_NetworkAdapter | Where-Object {$_.DeviceID -eq     $deviceID }
$adaptor.Disable()
$adaptor.Enable()

Start-Service $snmpService.Name