根据这篇知识库文章,当您运行“netsh int ip reset”命令时,所做的只是重置两个registry项的内容:
SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\ SYSTEM\CurrentControlSet\Services\DHCP\Parameters\
但在我的testing系统上,似乎做的不止这些。
在Windows Server 2012 R2 x64机器上,在我的应用程序出现问题后,如果尝试将静态IP设置为networking接口,我会得到即时蓝屏。
要解决这个问题,我必须运行“netsh int ip reset”,然后我可以设置一个静态IP。 现在,我想弄清楚“netsh int ip reset”如何解决这个问题。
我知道是不是这两个registry项的内容,因为我在我的虚拟机上做了以下:
当我的应用程序尝试使用过去已被另一个networking接口使用的IP地址来configurationnetworking接口时,首先必须删除非现有设备的IPconfiguration,然后才能使用该IP。
为此,它在SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ Interfaces中的每个registry中进行search,并通过将“IPAddress”属性中的值与我想要的值进行比较来查看是否有任何接口使用了我想要使用的IP地址使用。 如果find匹配,首先检查该接口是否存在,如果不存在,则删除“IPAddress”属性中的值并将属性“EnableDHCP”设置为1,然后我可以在我的接口上使用该IP。 这是我的应用程序做错了。 当这个界面恢复正常时,它会通过DHCP设置一个IPconfiguration,但是如果你尝试设置一个静态IP,它将会发生蓝屏。 正确的方法是将“IPAddress”属性设置为“0.0.0.0”和“EnableDHCP”为1.如果将“IPAddress”留空并将“EnableDHCP”设置为1,TCPIPconfiguration中出现错误, netsh整型IP重置“将修复..但究竟是什么修复,我不知道。 我所知道的是,它不在KB文章中提到的两个registry键中。
那么除了重新设置这两个registry的内容之外,“netsh int ip reset”还有什么function可以修复我的testing系统上的问题?
同一知识库文章提到,运行该命令将保存一个resetlog.txt日志文件。 那个日志是什么意思?
您也可以从SysInternals运行进程监视器并让它监视您的netsh命令。
我在Windows 8.1工作站上做了这个,通过“进程名称>包含> netsh”过滤ProcMon的输出,并且获得了超过5000个结果。 看起来你运行这个命令的时候很有可能。 我很抱歉,但我不会parsing所有的输出为你:)