2012-12-28 35 views
4

在我的工作中,有一个公司内联网可以连接到以及一个Wifi网络。但是,公司的政策是我们无法在一台机器上同时连接两个网络。如何写一个批处理文件来切换我的网络适配器?

虽然我需要在不同的时间使用网络,但我一直能够这样做的唯一方法是在控制面板的网络部分的某处“更改适配器设置”,然后禁用任何适配器I使用(无论是局域网还是wifi)并启用另一个。

作为程序员,这个任务的重复性和单调乏味让我困扰,那么是否有我可以编写的脚本来切换这些脚本?

+0

powershell可以吗? http://technet.microsoft.com/en-us/library/jj130903.aspx – rene

回答

7

你应该看看的netsh:

例如:netsh interface set interface "Local Area Connection" DISABLED

(或ENABLED

创建2个脚本,做一个EN ABRED放在你想要的和DISABLED的另一个上,反之亦然(或者1个脚本首先看到哪一个已经关闭,哪个已关闭,并且反转)

该命令还可以列出接口的状态。

但它在几种风格的窗口之间行为不同(或使用不同的语法)......所以你也可以看看MicroSoft' devcon。或者另一种可能性:wmic

+0

是否有一种很好的方式来获取它是否已启用或禁用,只是为了制作一个脚本来切换它? –

+0

hmmm,netsh在不同版本的windows上表现不同。还可以看看[microsoft'devcon](http://wlanbook.com/enable-disable-wireless-card-command-line/)。或者另一种可能性:[wmic](http://answers.microsoft.com/en-us/windows/forum/windows_7-hardware/enabledisable-network-interface-via-command-line/17a21634-c5dd-4038-bc0a- d739209f5081) –

+0

我很确定你知道哪一个设置^^但是,是的,netsh也应该告诉你有关接口的信息。 –

2

你可以用powershell和网络适配器commandlet来做到这一点。

Disable-NetAdapter:PS C:>禁用-NetAdapter -Name “以太网2”

Enable-NetAdapter:PS C:>启用-NetAdapter -Name “以太网2”

+0

我很困惑,是我需要安装之前,我可以使用这些“命令”的powershell –

+0

哦,它是另一个预安装的shell。从来不知道这存在。为什么呢? –

+0

它可以更好地与.Net对象进行交互,并在脚本环境中运行完整的对象模型。 – sclarson

相关问题