当前位置: 首页 > news >正文

Vbs 禁用启用网卡

 Vbs 禁用启用网卡

 

在实际工作中,经常碰到需要通过脚本启用禁用网卡的情况,在网上找了一个脚本,实际是通过模拟键盘操作来启用禁用,但对于多种系统和比较复杂的情况操作性不好。

还有一种思路,就是利用netsh命令实现,但是netsh命令必须得到网卡的名字,不同服务器,网卡的名字并不一样。

于是产生了一个思路,利用vbs得到网卡名字,然后调用netsh命令启用禁用网卡。

代码如下

 

call dis_en_nic()

 

Function dis_en_nic()

 

On Error Resume Next

 

dim objShell

Const wbemFlagReturnImmediately = &h10

Const wbemFlagForwardOnly = &h20

 

set fso=createobject("scripting.filesystemobject") 

Dim wshshell

Set wshshell=WScript.CreateObject("WScript.Shell")

 

arrComputers=Array(".")

For Each strComputer In arrComputers

 

   Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")

   'Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter where AdapterTypeId=0")

   '使用where AdapterTypeId=0 可以的得到所有的物理网卡,但是貌似禁用的卡不能得到,需要一步测试

   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapter ")

   For Each objItem In colItems

            'WScript.Echo "NetConnectionID: " & objItem.NetConnectionID

            a=objItem.NetConnectionID

            '启用网卡

            b="""c:\WINDOWS\system32\cmd.exe /c c:\WINDOWS\system32\netsh.exe interface set interface name="""+a+""" admin=ENABLED """

            '禁用网卡

            'b="""c:\WINDOWS\system32\cmd.exe /c c:\WINDOWS\system32\netsh.exe interface set interface name="""+a+""" admin=DISABLED """

            wshshell.run("%comspec% /c "+b)

    Next

Next

Set wshshell=nothing

End Function

 

 

说明:

1 环境变量 %comspec% 代表 Windows 命令外壳;这等效于调用 Cmd.exe(它当然会打开一个命令窗口)。那为什么不直接调用 Cmd.exe?是这样,假设您的计算机运行 Windows 98。在这些计算机上,通过运行 Command.com 来调用命令外壳,因为没有 Cmd.exe。使用 %comspec% 有助于确保无论该脚本是在什么版本的 Windows 上运行,都可以获得命令窗口。

2 此方法只适用server 2003 2008 xp不适用。

相关文章:

  • 谷歌:全球10大爬升最快搜索关键字排行榜 Google Zeitgeist 2011
  • Exchange系列—配置SMTP连接器的安全机制
  • 开始写博客吧
  • mnesia数据库学习笔记一
  • 某机字长为32位,存储容量为64MB,若按字节编址.它的寻址范围是多少?
  • 用深信服SG4300代替ISA
  • 开源扫盲:MySQL是否为完全免费软件?
  • execute、executeUpdate、executeQuery三者的区别及各自返回值
  • 更改ubuntu的系统语言
  • Basic INFO - InstallShield制作的安装包如何进行平台过滤
  • Lync常识之可直接注册在Lync Server上的IP PHONE
  • LoadRunner监控Linux服务器
  • 粒子滤波基本原理
  • 【转】[ ] 字符组(Character Classes)
  • .NET下的多线程编程—1-线程机制概述
  • [译]CSS 居中(Center)方法大合集
  • 《深入 React 技术栈》
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • const let
  • Cumulo 的 ClojureScript 模块已经成型
  • express.js的介绍及使用
  • jquery cookie
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • tweak 支持第三方库
  • Vue学习第二天
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 使用agvtool更改app version/build
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 微服务入门【系列视频课程】
  • 我是如何设计 Upload 上传组件的
  • scrapy中间件源码分析及常用中间件大全
  • 容器镜像
  • # 飞书APP集成平台-数字化落地
  • #pragma multi_compile #pragma shader_feature
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (1)STL算法之遍历容器
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (接口封装)
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (五)c52学习之旅-静态数码管
  • (一)基于IDEA的JAVA基础12
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转载)PyTorch代码规范最佳实践和样式指南
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET NPOI导出Excel详解