zoukankan      html  css  js  c++  java
  • 如何检测网络中断, 并自动重启网卡

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

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

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

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

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

    代码
    #重置网络:当检查到网络问题以后
    #
    以管理员运行 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 2 second.";
    while(1)
     

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

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

  • 相关阅读:
    css 九宫格
    Scratch 3.0 版本比较
    快速上手IOT视觉化开发工具Node-RED
    使用MUART0-P-1-2设置无线PM2.5感测环境
    12只超酷机器人,在家用3D打印搞定!
    玩机器人可以学到什么?
    人工智能AI芯片与Maker创意接轨(下)
    人工智能AI芯片与Maker创意接轨 (中)
    人工智能AI芯片与Maker创意接轨 (上)
    用Micro:bit控制遥控车
  • 原文地址:https://www.cnblogs.com/niniwzw/p/1805872.html
Copyright © 2011-2022 走看看