由于网络设备的变化,我可能需要将一堆机器NIC设置回自动协商.什么是自动化的最佳方法?我在想通过组策略或SCCM推出一个Autoit编译的exe.如果您有示例,请发布您的脚本.我不确定我所打的所有系统都会有相同的NIC,所以将所有已知卡重置为auto的东西都会很棒.

谢谢!
-Mathew

这是一个执行您正在寻找的脚本.不过,你需要做一些“功课”才能让它发挥作用:
Option Explicit

Const HIVE_HKLM = &H80000002
Const REG_DEVICE_PATH = "SYstem\CurrentControlSet\Control\Class\{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 & "\root\default: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 – 在许多机器上将所有网卡更改为自动/自动的更多相关文章

  1. CentOs7.4 网卡启动:Job for network.service failed

    终于找到了彻底解决网卡报错的方法。请关闭虚拟机的selinux和NetworkManager功能。重新添加一个新的。如果不一致在新网卡配置文件中改成ifconfig的mac地址。由于系统字符识别原因新生成的网卡配置文件可能是ifcfg***1结尾的文件。然后删除ifcfg###13.配置新网卡的内容servicenetworkrestart查看是否还有错误。正常情况下错误消失。

  2. windows – 在许多机器上将所有网卡更改为自动/自动

    由于网络设备的变化,我可能需要将一堆机器NIC设置回自动协商.什么是自动化的最佳方法?我在想通过组策略或SCCM推出一个Autoit编译的exe.如果您有示例,请发布您的脚本.我不确定我所打的所有系统都会有相同的NIC,所以将所有已知卡重置为auto的东西都会很棒.谢谢!

  3. windows-server-2008-r2 – 查找哪个网络连接属于哪个物理网卡端口?

    在Windows/WindowsServer中,如果我有一个物理网卡上有两个或四个端口,是否有可编写脚本/编程方式来确定哪个“网络连接”(例如“本地连接3”)是与哪个物理网卡端口相关联?我快速浏览了win32_networkadapter和win32_networkadapterconfiguration类,但没有看到任何立即有用的东西.最大的问题是Windows不会按任何特定顺序枚举已安装的NI

  4. Ubuntu中的两套网络连接管理方式

    第二套方案使用于有桌面的环境,特别是笔记本,搬来搬去,网络连接情况随时会变的。当managed设置成true时,/etc/network/interfaces,则不生效。这是因为ifdown会分析目前网络接口参数是否与文件ifcfg-ethX的配置参数是否一致,不一致的话,就会放弃操作。因此用ifconfig修改完后,需要用ifconfigethXdown才能关闭该接口。但是使用ifup/ifdown脚本或特定的网络接口比直接使用ifconfig命令要好一些,这是因为脚本可以认真查看并处理与某一个特定接口

  5. windows-server-2008-r2 – 如何在没有Jumbo数据包的情况下提高Intel X520-DA2 10Gb网卡吞吐量

    这是我到目前为止所做的:使用更多Rx/Tx缓冲区可以提升默认性能.我在每个适配器上将RSS队列设置为4,并将第二个端口上的RSScpu指定为0以外的值.从观看ProcessExplorer,我受到cpu处理大量传入中断的能力的限制,即使启用了RSS也是如此.我在2.x模式下使用PCIex8(电气)插槽.两个适配器中的每一个都连接5GT/秒x8总线.操作系统响应无关紧要,I/O吞吐量确实如此.我受限于客户无法处理Jumbo数据包.我接下来应该尝试哪些设置?

  6. windows – 为什么某些以太网卡上的TCP Chimney Offload功能无法将某些网络数据包传递给操作系统?

    什么阻止某些网络数据包到达最终应用程序?TCPChimney是许多功能中的一项,它可以帮助将大部分网络处理从cpu卸载到网卡中.它的问题是某些网卡无法正确执行.当发生这种情况时,校验和会混乱或数据包以神秘的方式被破坏.Mangled数据包与丢弃的数据包一样好,因此不会到达目的地.顺便说一句,broadcom卡因这个bug而臭名昭着.

  7. Centos Linux Iptables PPTP Configure

    比如是192.168.0.1当你能拨入系统后,你就可以通过下面的一些命令来操作:第一步,由于你的PPTP地址池中设置和内网eth1不同的网段,当拨入后会出现ppp1的接口通过ifconfig查看,所以首先看下路由:route第二步,就是添加对应的IPtables:

  8. CentOS 6.8 网络配置

    由于CentOS7安装软件没有运行成功,现在安装6.8试试。但是发现网络配置相当麻烦!要是网卡真实的物理地址用HWADDRTYPE=EthernetUUID=7aa4c1b1-c7f2-4335-bbea-2233a66e5feeONBOOT=yes开机启动NM_CONTROLLED=yesBOOTPROTO=static静态ip地址IPADDR=1.1.1.1NETMASK=255.255.255.0GATEWAY=1.1.1.1DNS1=1.1.1.1IPV6INIT=no禁用ipv6这样两个文件匹配

  9. CentOS6 网络管理之网卡配置及简单路由设置

    CentOS6中关于网络配置的命令有很多,本文将介绍几个平时最长用的几个命令,以及网卡IP地址的配置和简单路由配置。ifconfig-a命令可以查看所有网卡信息,包括禁用的。禁用方式如下:serviceNetworkManagerstop#关闭NetworkManager服务chkconfigNetworkManageroff#禁止NetworkManager服务开机自启3、配置网卡IP地址使用ifconfig配置,该方法配置的IP地址立即生效,但是只是临时生效,当主机重启后失效。

  10. CentOS: Device eth0 does not seem to be present

    最近在搞自动化部署,包括hadoop、hbase、spark、kafka、zk、MysqL、分布式数据库中间件、等等。为了方便的搞很多虚拟机,我用了vmware的克隆功能,发现克隆过来的虚拟机无法启动网卡,具体汇报下面的错误。解决方法:查看/etc/udev/rules.d/70-persistent-net.rules中的内容。记录下上面eth1的ATTR{address}后的值。

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部