如何从命令行检索当前的Windows NLAnetworking位置?

我们有一个Windows Server 2008 R2域控制器, 总是在重新启动后将其NLA位置设置为“networking3”。 没有失败,这默认为公共,这与我的域configuration文件防火墙设置螺钉。 我必须手动禁用并重新启用networking适配器,才能将其自身恢复到域configuration文件。

我已经尝试了KB2524478和其他一些东西。 现在我已经厌倦了试图解决这个问题(而且很快就没有时间了),所以只是想解决这个问题。 我正在考虑使用netsh编写禁用/启用脚本,并使用它来完成,但我想更进一步,并确保NLA位置实际上是“networking3”而不是“the-domain.example.org “(更具体地说,只是检查它不是域)在我做之前。 这样,我可以更频繁地安排它,而不仅仅是在启动时。

我只是错过了一个这个难题 – 如何检索位置使用我可以pipe道findFIND /i "the-domain.example.org" ,所以我可以运行它为:

 <something> | ... FIND /i "the-domain.example.org" || ... NETSH interface set interface name="Local Area Connection" admin=DISABLED & ... NETSH interface set interface name="Local Area Connection" admin=ENABLED 

那么什么是<something>

您可以查询相应的registry项以查看networkingconfiguration文件设置为。 您需要在\HKLM\Software\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures中查找相应接口的子项。 这将需要一些小小的侦探工作,但最简单的方法是查找当前默认网关的MAC地址。 find接口的子密钥后,请注意ProfileGUID。 然后,您可以使用ProfileGUID来查找该接口的configuration文件设置..\NetworkList\Profiles 。 从那里设置REG_DWORD:类别回到2应该设置接口的configuration文件到域。

在对Category属性进行更改之前,需要closuresNLA服务。 一个简单的net stop nlasvc将停止NLA和netprofm。 一旦你使registry更改重新启动它: net start netprofm