原文地址:http://blog.sina.com.cn/s/blog_4b44e1c00100bdyb.html

Netsh是一种命令行实用程序,可用来显示与修改当前正在运行的计算机的网络配置(如:IP地址、网关、DNS和MAC地址等)。Netsh还提供脚本功能,可以对特定的计算机以批处理方式运行一组命令。Netsh使用帮助程序提供称为上下文(Context)的广泛功能集。上下文(Context)是特定于网络组件一组命令,它们通过为一个或多个服务、实用程序或协议提供配置和监视支持来扩展Netsh的功能。要运行Netsh命令,必须从命令提示符(cmd.exe)启动Netsh并更改到包含要使用的命令的上下文(Context)。可以使用的上下文(Context)取决于用户安装的网络组件。

比如,可以调用以下命令修改本地计算机的网络设置。

1、修改IP地址addr和子网掩码mask:

\>netsh interface ip set address name="本地连接" source=static addr=192.168.0.106 mask=255.255.255.0

2、修改默认网关gateway

\>netsh interface ip set address name="本地连接" gateway=192.168.0.1 gwmetric=0

3、修改首选(PRIMARY)的DNS

\>netsh interface ip set dns name="本地连接" source=static addr=202.96.128.66 register=PRIMARY

如果在VC++程序中,可以调用函数WinExec来执行netsh.exe命令,简单代码如下:

//cmd命令行

CString str_cmd("");

str_cmd = "netsh interface ip set address name=\"本地连接\" source=static addr=192.168.0.106 mask=255.255.255.0"

//修改IP地址和子网掩码

::WinExec(str_cmd,SW_HIDE);

下面从网络转载一篇文章介绍如何使用Netsh命令及Netsh提供的脚本功能:

文章来自:stone's blog

转载地址:http://www.cnitblog.com/crazystone/archive/2006/10/11/17878.aspx

有朋友问我,“能不能在命令行下直接修改Windows2000的IP地址?”。
呵呵,当然是可以的了。不仅可以修改IP地址,和相关的每个细节都可以用命令行方式进行配置。
只不过一般大家不太习惯罢了。
    方法就是使用系统中提供的一个很牛B的命令行工具“netsh”:
    首先,察看自己现在的ip地址:
    look:

呵呵,列出了两块网卡,其中接口名为“本地连接”的这块网卡配置情况:
使用了固定IP,其中ip地址为192.168.0.4,其他信息略(自己不会看啊)
好了,我们来修改这个IP
呵呵,改成什么呢,稍微改一点点吧:

呵呵,现在ip就是192.168.0.5了。
其实刚才改IP的时候并没有把命令写完整,完整的看这个:

呵呵,一堆命令吧,呵呵,现在的IP地址已经修改成10.0.0.13了。
呵呵
当然,命令行下修改IP也可以只用1条命令

到这里,netsh的最最最简单的功能,命令行下修改IP地址
已经说完了

看到一个朋友是做网管的,管理着公司几个不同的,每次都要抱着笔记本修改成不同的ip地址、不同的
子网掩码、、、其实,只要能够充分的发挥Netsh脚本的功能,就可以最快捷的修改自身的配置。
OK,开始
首先,显示一个配置脚本
look:

我们进入Netsh环境,切换到interface ip环境
通过dump命令将当前配置情况显示了出来。
第二步,导出一个配置脚本

look:

这样,我们就把刚才显示的配置脚本保存成了一个文件c:interface.txt
第三步,复制一个脚本拷贝interface2.txt并修改它
呵呵,原因?简单嘛,为了更方便的切换环境啊

注意哦,我们已经把所需要修改的ip地址、子网掩码、网关和dns做了修改。
最后,再把新的配置文件直接导入系统。

到这里,已经把配置部分修改了


总结:
通过Netsh里面的dump命令可以直接显示配置脚本。
而通过netsh -c interface ip dump >c:interface.txt的方式可以导出配置脚本(生成txt文件)。
然后再netsh -f c:interface.txt的方式又可以把导出的配置脚本再导回去(从txt文件读取内容)。
一来一去间,就可以轻松的实现方便的修改配置。
Netsh里面还有很多很多命令,诸如可以进入netsh环境后,在根级目录用exec命令
也可以加载一个配置脚本。
另外还有对wins、路由、ras等服务的配置也可以通过Netsh的内置命令直接操作。
Windows的帮助里面都有相关的介绍。

Netsh命令详解与使用方法相关推荐

  1. linux中date使用方法,linux命令详解date使用方法(计算母亲节和父亲节日期脚本示例)...

    linux命令详解date使用方法(计算母亲节和父亲节日期脚本示例) 发布于 2016-02-07 15:58:40 | 108 次阅读 | 评论: 0 | 来源: 网友投递 LinuxLinux是一 ...

  2. 计算机网络Netsh,netsh命令详解(netsh命令详解).doc

    netsh命令详解(netsh命令详解) netsh命令详解(netsh命令详解) 1.netsh add helper ipmontr.dll 在 netsh 中安装指定的帮助者 dll delet ...

  3. 计算机网络ping所有用法,ping命令详解和使用方法【详解】

    随着科技的发展,计算机的发展也非常快,如今已经进入大部分的家庭之中,成为人们日常生活中必不可少的一个部分.当计算机出现一些小问题,我们就可以通过ping命令来查看电脑出现问题的原因,从而找到解决问题的 ...

  4. SCANDISK命令详解与使用方法

    SCANDISK命令: 1.具体功能 该命令是一个外部命令,用于检查和修复各种驱动器. 2.语法 详解 scandisk scandisk [drive: | /all] [/checkonly | ...

  5. linux date使用方法,linux命令详解date使用方法(计算母亲节和父亲节日期脚本示例)...

    常用参数 格式:date 显示当前日期时间. 格式:date mmddhhmm           # 简而言之,就是"月日时分" 格式:date mmddhhmmyyyy 格式: ...

  6. linux的ping命令含义,Linux ping命令详解

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性 基于IMCP协议 常见命令参数 -q 不显示任何传送封包的信息,只显示最后的结果 -n 只输出数值 -R 记录路由过程 ...

  7. linux who命令功能,Linux who命令详解

    who 命令显示关于当前在本地系统上的所有用户的信息.显示以下内容:登录名.tty.登录日期和时间.输入whoami 显示您的登录名.tty.您登录的日期和时间.如果用户是从一个远程机器登录的,那么该 ...

  8. linux中jstack命令详解,Linux jstack命令详解

    jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息. 如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack ...

  9. linux rm -rf删除文件,Linux rm命令详解

    Linux rm命令 Linux rm命令用于删除一个文件或者目录 语法: rm [options] name... 参数解释: -f, --force 强制删除.忽略不存在的文件,不提示确认 -i ...

最新文章

  1. Centos6.8 搭建Tomcat服务器
  2. 智能合约类代币EOS、BCH、Tezos很有可能会超越BTC
  3. 从简历筛选看怎么写一篇有亮点的简历
  4. 信息抽取(一)机器阅读理解——样本数据处理与Baseline模型搭建训练(2020语言与智能技术竞赛)
  5. mysql 浮点数定义2_MySQL学习笔记(二):数据类型
  6. Android开发之EditText自动获取焦点自动弹出软键盘的解决办法
  7. stm32 图像处理_假如STM32也有朋友圈
  8. 用最简单的方法判断一个LONG整形的数A是2^n(2的n次方)
  9. 对数位dp的一些拙见
  10. python中span函数,如何用python中BeautifulSoup提取无类名的span内文本
  11. 【C++11】新特性——auto的使用
  12. 基于接口式的开发模式
  13. 真心推荐8个高质量Java学习网站,一起从入门到精通java语言,大厂java面试真题分享,建议码住!
  14. win10计算器_好用的Win10系统计算器,终于可以在移动端设备上面来用了
  15. WEB中前台JS控制打印PDF文件
  16. sap 双计量单位_采购订单单位与基本计量单位不一致问题案例
  17. C++ 判断矩形是否相交
  18. java打印26个大写字母
  19. Android远程桌面助手(B1309)
  20. Java中抽象类的概述及其详解(什么是抽象类?为什么要使用抽象类?抽象类的特点?)

热门文章

  1. 鬼武者2完整流程功略
  2. 华为荣耀5cvs华为v9play_华为荣耀v9play和荣耀9哪个好 华为荣耀v9play和荣耀9对比评测...
  3. 前端从web服务器或者CDN下载资源总结
  4. 单元测试实践思考(junit5+jmockit+testcontainer)
  5. thinkphp删除文章里的所有图片
  6. 一些中文邮件客户端的比较
  7. 写在感恩节的离职感言!
  8. 一个简单的用表单标签做的html学生入校注册页面
  9. 学计算机的考研254分,华丽的转身——历史学专业课254分经验谈
  10. error LNK1104: 无法打开文件“kernel32.lib”错误 Visual Studio 2017解决办法