windows – 在许多机器上将所有网卡更改为自动/自动
发布时间:2020-12-13 23:02:43 所属栏目:Windows 来源:网络整理
导读:由于网络设备的变化,我可能需要将一堆机器NIC设置回自动协商.什么是自动化的最佳方法?我在想通过组策略或SCCM推出一个Autoit编译的exe.如果您有示例,请发布您的脚本.我不确定我所打的所有系统都会有相同的NIC,所以将所有已知卡重置为auto的东西都会很棒. 谢
由于网络设备的变化,我可能需要将一堆机器NIC设置回自动协商.什么是自动化的最佳方法?我在想通过组策略或SCCM推出一个Autoit编译的exe.如果您有示例,请发布您的脚本.我不确定我所打的所有系统都会有相同的NIC,所以将所有已知卡重置为auto的东西都会很棒.
谢谢!
这是一个执行您正在寻找的脚本.不过,你需要做一些“功课”才能让它发挥作用:
Option Explicit Const HIVE_HKLM = &H80000002 Const REG_DEVICE_PATH = "SYSTEMCurrentControlSetControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}" Const DEBUGGING = 1 Dim objRegistry,arrSubkeys,strSubkey,strComputer,regexpSubkey,strValue,dictDriverChanges,strDriverName Set dictDriverChanges = CreateObject("Scripting.Dictionary") ' For each given NIC,add an item for the driver description string (case insensitive match) and the value name and value that ' should be set in the NIC's properties Set dictDriverChanges.Item("Broadcom NetXtreme 57xx Gigabit Controller") = CreateObject("Scripting.Dictionary") dictDriverChanges.Item("Broadcom NetXtreme 57xx Gigabit Controller").Add "ValueName","*SpeedDuplex" dictDriverChanges.Item("Broadcom NetXtreme 57xx Gigabit Controller").Add "Value","0" ' Pattern to match on subkeys - exactly 4 digits Set regexpSubkey = new Regexp regexpSubkey.Global = True regexpSubkey.Pattern = "d{4,4}" ' Comptuer to run against. Set to "." for the local computer,or specify the computer-name of a remote machine strComputer = "." Set objRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!" & strComputer & "rootdefault:StdRegProv") objRegistry.EnumKey HIVE_HKLM,REG_DEVICE_PATH,arrSubkeys ' Did we get back any strSubkeys? If IsArray(arrSubkeys) Then For Each strSubkey In arrSubkeys ' Is this a subkey we want to look at If regexpSubkey.Execute(strSubkey).Count = 1 Then objRegistry.GetStringValue HIVE_HKLM,REG_DEVICE_PATH & "" & strSubkey,"DriverDesc",strValue ' Loop through all the drivers we know about looking for this driver For Each strDriverName in dictDriverChanges If UCase(strDriverName) = UCase(strValue) Then If DEBUGGING = 1 Then WScript.Echo "Located driver " & strValue & ". Setting value " & dictDriverChanges.Item(strDriverName).Item("ValueName") & " to " & dictDriverChanges.Item(strDriverName).Item("Value") objRegistry.SetStringValue HIVE_HKLM,dictDriverChanges.Item(strDriverName).Item("ValueName"),dictDriverChanges.Item(strDriverName).Item("Value") End If Next ' strDriverName End If Next ' strSubkey End If 您需要找到您想要更改的每种NIC的“DriverDesc”值. (在每个子键的REG_DEVICE_PATH下的注册表中查找各种DriverDesc值).我在脚本中包含了Broadcom 57xx控制器的说明.您需要为每种NIC识别注册表值名称和值设置,然后为每种NIC添加类似于第11-15行的条目. 这对目前的本地计算机运行.让它在命令行上获取计算机名称并对远程计算机运行并不会太难.或者,您可以在每台计算机上本地运行它. 在脚本运行后,您需要重新启动计算机才能使更改生效.如果您在Windows Vista或Windows 7上运行此功能,请注意它必须在“高架”上下文中运行. (它是在Windows 7上开发的,在Windows XP上运行良好……) 这应该会解决你的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Windows Server 2003上使用组策略分发文件
- 为什么win32上没有c#native编译项目?
- Win32 CMD批处理命令
- windows-server-2008-r2 – Windows Server 2008 R2,没有互
- 适用于Windows 7 64位操作系统的MYSQL安装程序?
- 错误处理 – Windows Workflow Foundation 4(WF4)错误处理
- 远程访问 – 将Team Viewer(8)设置为在后台运行(不可见)(Wi
- maccms V10后门
- 为什么Windows为其系统地址空间预留1Gb(或2 Gb)?
- 你能在Powershell中编写Windows服务吗?
推荐文章
站长推荐
热点阅读