如何检测网络中断, 并自动重启网卡

    本人比较穷,住的是平民窟。所以,要和别人共享网络。很多不厚道的人喜欢用arp 病毒攻击。害的我的网络不是很稳定,经常会断网。断网后,必须,重启网卡网络才能恢复。

    一来重启网卡麻烦,每次断网了都要手动重启一下,二来,晚上挂机下载电影,经常下个半个小时,网络就断了,害我白开一晚上电脑。

    对window操作系统,我的确是不是很精通,所以,我就换成linux, 这样,写个shell脚本自动检查网络,然后恢复网络。可是linux 也是令人伤心那,好点的下载软件都没有,那个快车,1.0版本的,下载像个鸵鸟一样,太慢了。迅雷,根本就没有。

    于是,我听说window 也有一个 shell 而且,还叫做powershell。vista 和 window 7 好像是自带这个shell的。xp估计要安装一下,去google一下就可以了。

    观察了一下,这个shell,是基于.NET的。功能特别的强大,有兴趣的可以去研究一下它的语言参考。哥学了1个小时,终于,基本的东西学会了,也就很容易写我的重置网卡的脚本了。

 

 

如何检测网络中断, <wbr>并自动重启网卡 代码  # 重置网络:当检查到网络问题以后
#
以管理员运行 powershell ,然后 Set-ExecutionPolicy unrestricted 
#

do
{
    
$getway    =  Get - WmiObject  - Class Win32_PingStatus  - Filter   " Address='192.168.1.1' "   - ComputerName  |  Where - Object { $_ .StatusCode  -eq   0 };
    
if  ( $getway   -eq   $null )
    {
        sleep 
1 ;
        
# 重试,防止ping本身发生错误。
         $getway    =  Get - WmiObject  - Class Win32_PingStatus  - Filter   " Address='192.168.1.1' "   - ComputerName  |  Where - Object { $_ .StatusCode  -eq   0 };
    }
    
if  ( $getway   -eq   $null )
    {
        
$adaptor   =  Get - WmiObject  - Class Win32_NetworkAdapter  |  Where - Object { $_ .Name  -like   " *82567LM* " };
        
$adaptor .Disable();
        sleep 
5 ;
        
$adaptor .Enable();
        echo 
" waiting net work ok ... " ;
        sleep 
10 # 等待网络修复好,一般10s修复不好,就要重置一下了。
        echo  " reset adaptor " ;
    }
    sleep 
2 ;
    echo 
" net work is ok sleep second. " ;
while ( 1 ) 

然后,以管理员身份打开powershell ,运行 Set-ExecutionPolicy unrestricted 命令

再运行上面的脚本,就可以了。你就可以放心的挂机。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值