命令行实现ics切换.zip

上传者: u012927606 | 上传时间: 2022-04-26 17:40:38 | 文件大小: 3KB | 文件类型: ZIP
' VBScript source code OPTION EXPLICIT DIM ICSSC_DEFAULT, CONNECTION_PUBLIC, CONNECTION_PRIVATE, CONNECTION_ALL DIM NetSharingManager DIM PublicConnection, PrivateConnection DIM EveryConnectionCollection DIM objArgs DIM priv_con, publ_con dim switch ICSSC_DEFAULT = 0 CONNECTION_PUBLIC = 0 CONNECTION_PRIVATE = 1 CONNECTION_ALL = 2 Main() sub Main( ) Set objArgs = WScript.Arguments if objArgs.Count = 3 then priv_con = objArgs(0)'内网连接名 publ_con = objArgs(1)'外网连接名 switch = objArgs(2)'状态切换开关 on 为 打开ics off 相反 if Initialize() = TRUE then GetConnectionObjects() FirewallTestByName priv_con,publ_con end if else DIM szMsg if Initialize() = TRUE then GetConnectionObjects() FirewallTestByName "list","list" end if szMsg = "To share your internet connection, please provide the name of the private and public connections as the argument." & vbCRLF & vbCRLF & _ "Usage:" & vbCRLF & _ " " & WScript.scriptname & " " & chr(34) & "Private Connection Name" & chr(34) & " " & chr(34) & "Public Connection Name" & chr(34) WScript.Echo( szMsg & vbCRLF & vbCRLF) end if end sub sub FirewallTestByName(con1,con2) DIM Item DIM EveryConnection DIM objNCProps DIM szMsg DIM bFound1,bFound2 WScript.echo(vbCRLF & vbCRLF) bFound1 = false bFound2 = false for each Item in EveryConnectionCollection set EveryConnection = NetSharingManager.INetSharingConfigurationForINetConnection(Item) set objNCProps = NetSharingManager.NetConnectionProps(Item) szMsg = "Name: " & objNCProps.Name & vbCRLF & _ "Guid: " & objNCProps.Guid & vbCRLF & _ "DeviceName: " & objNCProps.DeviceName & vbCRLF & _ "Status: " & objNCProps.Status & vbCRLF & _ "MediaType: " & objNCProps.MediaType if EveryConnection.SharingEnabled then szMsg = szMsg & vbCRLF & _ "SharingEnabled" & vbCRLF & _ "SharingType: " & ConvertConnectionTypeToString(EveryConnection.SharingConnectionType) end if if objNCProps.Name = con1 then bFound1 = true if EveryConnection.SharingEnabled = False and switch="on" then szMsg = szMsg & vbCRLF & "Not Shared... Enabling private connection share..." WScript.Echo(szMsg) EveryConnection.EnableSharing CONNECTION_PRIVATE szMsg = " Shared!" else szMsg = szMsg & vbCRLF & "Shared... DisEnabling private connection share..." WScript.Echo(szMsg) EveryConnection.EnableSharing CONNECTION_ALL end if end if if objNCProps.Name = con2 then bFound2 = true if EveryConnection.SharingEnabled = False and switch="on" then szMsg = szMsg & vbCRLF & "Not Shared... Enabling public connection share..." WScript.Echo(szMsg) EveryConnection.EnableSharing CONNECTION_PUBLIC szMsg = " Shared!" else szMsg = szMsg & vbCRLF & "Shared... DisEnabling public connection share..." WScript.Echo(szMsg) EveryConnection.EnableSharing CONNECTION_ALL end if end if WScript.Echo(szMsg & vbCRLF & vbCRLF) if( con1 <> "list" ) then if( bFound1 = false ) then WScript.Echo( "Connection " & chr(34) & con1 & chr(34) & " was not found" ) end if if( bFound2 = false ) then WScript.Echo( "Connection " & chr(34) & con2 & chr(34) & " was not found" ) end if end if End Sub function Initialize() DIM bReturn bReturn = FALSE set NetSharingManager = Wscript.CreateObject("HNetCfg.HNetShare.1") if (IsObject(NetSharingManager)) = FALSE then Wscript.Echo("Unable to get the HNetCfg.HnetShare.1 object") else if (IsNull(NetSharingManager.SharingInstalled) = TRUE) then Wscript.Echo("Sharing isn't available on this platform.") else bReturn = TRUE end if end if Initialize = bReturn end function function GetConnectionObjects() DIM bReturn DIM Item bReturn = TRUE if GetConnection(CONNECTION_PUBLIC) = FALSE then bReturn = FALSE end if if GetConnection(CONNECTION_PRIVATE) = FALSE then bReturn = FALSE end if if GetConnection(CONNECTION_ALL) = FALSE then bReturn = FALSE end if GetConnectionObjects = bReturn end function function GetConnection(CONNECTION_TYPE) DIM bReturn DIM Connection DIM Item bReturn = TRUE if (CONNECTION_PUBLIC = CONNECTION_TYPE) then set Connection = NetSharingManager.EnumPublicConnections(ICSSC_DEFAULT) if (Connection.Count > 0) and (Connection.Count < 2) then for each Item in Connection set PublicConnection = NetSharingManager.INetSharingConfigurationForINetConnection(Item) else bReturn = FALSE end if elseif (CONNECTION_PRIVATE = CONNECTION_TYPE) then set Connection = NetSharingManager.EnumPrivateConnections(ICSSC_DEFAULT) if (Connection.Count > 0) and (Connection.Count < 2) then for each Item in Connection set PrivateConnection = NetSharingManager.INetSharingConfigurationForINetConnection(Item) else bReturn = FALSE end if elseif (CONNECTION_ALL = CONNECTION_TYPE) then set Connection = NetSharingManager.EnumEveryConnection if (Connection.Count > 0) then set EveryConnectionCollection = Connection else bReturn = FALSE end if else bReturn = FALSE end if if (TRUE = bReturn) then if (Connection.Count = 0) then Wscript.Echo("No " + CStr(ConvertConnectionTypeToString(CONNECTION_TYPE)) + " connections exist (Connection.Count gave us 0)") bReturn = FALSE 'valid to have more than 1 connection returned from EnumEveryConnection elseif (Connection.Count > 1) and (CONNECTION_ALL <> CONNECTION_TYPE) then Wscript.Echo("ERROR: There was more than one " + ConvertConnectionTypeToString(CONNECTION_TYPE) + " connection (" + CStr(Connection.Count) + ")") bReturn = FALSE end if end if Wscript.Echo(CStr(Connection.Count) + " objects for connection type " + ConvertConnectionTypeToString(CONNECTION_TYPE)) GetConnection = bReturn end function function ConvertConnectionTypeToString(ConnectionID) DIM ConnectionString if (ConnectionID = CONNECTION_PUBLIC) then ConnectionString = "public" elseif (ConnectionID = CONNECTION_PRIVATE) then ConnectionString = "private" elseif (ConnectionID = CONNECTION_ALL) then ConnectionString = "all" else ConnectionString = "Unknown: " + CStr(ConnectionID) end if ConvertConnectionTypeToString = ConnectionString end function

文件下载

资源详情

[{"title":"( 4 个子文件 3KB ) 命令行实现ics切换.zip","children":[{"title":"ics切换.bat <span style='color:#111;'> 222B </span>","children":null,"spread":false},{"title":"ics.vbs <span style='color:#111;'> 7.33KB </span>","children":null,"spread":false},{"title":"haozi.bat <span style='color:#111;'> 97B </span>","children":null,"spread":false},{"title":"readme.txt <span style='color:#111;'> 746B </span>","children":null,"spread":false}],"spread":true}]

评论信息

  • kwy999 :
    win10可以用吗
    2018-09-14
  • cheyeyouxia :
    不是我想要的。
    2018-02-22
  • jerry08 :
    windows10怎么用?
    2017-10-02
  • yukichi126 :
    比较混乱,不知所云。
    2014-06-15

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明