切换网络连接的脚本

原创 2004年02月15日 23:35:00

<?xml version="1.0" encoding="gb2312" ?>
<?job error="true" debug="false"?>

<package id="SetNICStatus">

  <job id="Main">
    <runtime>
        <description>
 FileName: SetNICStatus.wsf
 This Script switch Network Adapter's status. For Advanced users only.

 Version: 1.0
 Created:
icuc88@hotmail.com
 Last Modify: Feb 14th, 2004
 All right reserved.

 **Note: Default settings for Windows XP. And I Just only tested on it.
 **You must change the variable strFolderName before running on other OS.
        </description>
        <named
 name="CN"
 helpstring="Connection Name"
 type="string"
 required="true"
        />
        <named
             name="Status"
             helpstring="0:Disable Network Adapter; 1:Enable Network Adapter"
 type="string"
             required="true"
        />
        <example>
        Example:
          To disable "Local Area Connection"
          SetNICStatus.wsf /CN:"Local Area Connection" /Status:0

          To enable "Local Area Connection"
          SetNICStatus.wsf /CN:"Local Area Connection" /Status:1
        </example>
    </runtime>

    <script language="VBScript">
    <![CDATA[
   
      Option Explicit
      On Error Resume Next

      If WScript.Arguments.Count < 2 Then
         WScript.Arguments.ShowUsage
         WScript.Quit
      Else
         ' Get system language
         Dim strComputer
         strComputer = "." ' Local Computer

         Dim objWMIService
         Dim colOperatingSystem

         Set objWMIService = GetObject("winmgmts:"  & "{impersonationLevel=impersonate}!//"_
  & strComputer & "/root/cimv2")
         Set colOperatingSystem = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

         Dim objOperatingSystem
         Dim OSLanguage
         ' Dim OSType
         For Each objOperatingSystem in colOperatingSystem
            OSLanguage = objOperatingSystem.OSLanguage
            ' OSType = objOperatingSystem.OSType
         Next

         Dim strEnableVerb
         Dim strDisableVerb

         ' The folder's name of the networks settings in Control Panel
         ' You should change it for difference operating system
         Dim strFolderName

         Select Case OSLanguage
 Case 2052 ' Chinese(PRC)
   strEnableVerb = "启用"
   strDisableVerb = "停用"
   ' strFolderName = "网络和拨号连接"  ' Windows 2000
               strFolderName = "网络连接" ' Windows XP
             Case 1033 ' English (United States)
   strEnableVerb = "En&able"
   strDisableVerb = "Disa&ble"
               ' strFolderName = "Network and Dial-up Connections"  ' Windows 2000
   strFolderName = "Network Connections" ' Windows XP
         End Select

         'Virtual folder containing icons for the Control Panel applications. (value = 3)
         Const ssfCONTROLS = 3 

         Dim shellApp
         Dim oControlPanel
         Set shellApp = CreateObject("Shell.Application")
         Set oControlPanel = shellApp.Namespace(ssfCONTROLS)

         Dim oNetConnections
         Dim FolderItem
         Set oNetConnections = nothing
         For Each FolderItem in oControlPanel.Items
           If FolderItem.Name  = strFolderName then
             Set oNetConnections = FolderItem.GetFolder: Exit For
           End If
         Next
      
         If oNetConnections Is nothing Then
 MsgBox "Could't find " & strFolderName & " folder"
 WScript.Quit
         End If
        
         Dim oLanConnection
         Set oLanConnection = nothing
         For Each FolderItem In oNetConnections.Items
 If LCase(FolderItem.Name) = LCase(WScript.Arguments.Named.Item("CN")) Then
   Set oLanConnection = FolderItem: Exit For
 End If
         Next

         If oLanConnection Is nothing Then
 MsgBox "Couldn't find " & WScript.Arguments.Named.Item("CN") & " Item"
 WScript.Quit
         End If

         Dim bEnabled
         Select Case WScript.Arguments.Named.Item("Status")
            Case "0" bEnabled = false
            Case "1" bEnabled = true
         End Select
  
         Dim oEnableVerb
         Dim oDisableVerb
         Dim Verb
         For Each Verb In oLanConnection.Verbs
 If Verb.Name = strEnableVerb Then
   Set oEnableVerb = Verb
 End If
 If Verb.Name = strDisableVerb Then
   Set oDisableVerb = Verb
 End If
         Next

         If bEnabled Then
 oEnableVerb.DoIt
         Else
 oDisableVerb.DoIt
         End If

         WScript.Sleep 1000
      End If

    ]]>
    </script>
  </job>
</package>

把上面的之间的内容粘贴复制到记事本,然后另存为SetNICStatus.wsf,双击后可以看见帮助。

脚本是在Windows XP上面测试的,如果在Windows 2000上面,需要做一定的修改,
修改里面的strFolderName这个变量的名字,如果要用到NT或者Windows 9x上面去,要求更高,需要安装WMI。

python切换网络连接

#coding=GB2312 import os import sys import subprocess import _winreg LOCAL_CONNECT_NAME = '本地连接' ...
  • davidsu33
  • davidsu33
  • 2015年06月16日 17:42
  • 1126

Shell脚本自动修改Linux网卡地址、IP地址配置、主机名修改

#!/bin/bash #Program: # 修改网卡、修改IP地址 #History: # ZhangXingbin First release 2015/07/14 #定...
  • GnahzNib
  • GnahzNib
  • 2015年10月10日 16:13
  • 2791

Shell系列 - Mac OS X自动下载切换桌面壁纸

背景   本人一直非常喜欢Bing(必应)的壁纸,之前写过Java程序在Windows系统中自动下载并切换桌面壁纸。现在尝试在Mac OS X下实现,心想既然有shell这么好用的脚本语音,何乐不为...
  • rywaqpf
  • rywaqpf
  • 2015年12月25日 17:47
  • 1299

定时重启机器和自动测试网络连接shell脚本

  • 2012年04月12日 10:52
  • 2KB
  • 下载

Android 判断网络连接状态--实现微信在线/离线状态切换

先看效果图,有图有效果了才有动力(右边是关闭wifi/3g之后的Title样子) 首先了解一下网络状态的判断方法,网络状态是一个SystemService,可以通过context.getSy...
  • yuan15800904094
  • yuan15800904094
  • 2016年05月10日 20:49
  • 387

网络连接评分机制之再谈WIFI与数据切换过程(原)

前面几节介绍了网络评分机制的运行流程,下面我们再次通过案例来梳理一下评分机制在使用过程中的体现。         用户原本在用数据上网,但是如果到了一个有WIFI的环境,并连接上了WIFI,此时用户的...
  • u010961631
  • u010961631
  • 2015年10月08日 14:26
  • 4442

Android 实时监测网络连接状态变化

  • 2018年01月12日 09:54
  • 18.63MB
  • 下载

网络连接工具

  • 2013年06月19日 16:37
  • 231KB
  • 下载

C#网络连接检测程序

  • 2017年10月28日 13:10
  • 7.28MB
  • 下载

vSphere 网络连接指南

  • 2013年02月27日 16:12
  • 2.58MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:切换网络连接的脚本
举报原因:
原因补充:

(最多只允许输入30个字)