找回密码
 加入
搜索
查看: 1929|回复: 8

求救写入IP的命令详解!!!

[复制链接]
发表于 2009-4-4 17:13:23 | 显示全部楼层 |阅读模式
在论坛上我看到两种写入IP的方式。
第一种是:
$colItems = ""
        $objWMIService = ObjGet("winmgmts:\\.\root\CIMV2")
        Dim $SetIPAddress[1]
        $SetIPAddress[0] = IniRead($dir, $SectionNames, "IP地址", "")
        Dim $SetSubnetmask[1]
        $SetSubnetmask[0] = IniRead($dir, $SectionNames, "子网掩码", "")
        Dim $SetGateway[1]
        $SetGateway[0] = IniRead($dir, $SectionNames, "网关地址", "")
        Dim $SetDns[2]
        $SetDns[0] = IniRead($dir, $SectionNames, "首选DNS", "")
        $SetDns[1] = IniRead($dir, $SectionNames, "备用DNS", "")
        TrayTip("", "正在设置IP,请稍等...", 1)
        $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE", "WQL", 0x10 + 0x20)
        $colComputers = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
        If IsObj($colItems) Then
                For $objNetAdapter In $colItems
                        $objNetAdapter.EnableStatic($SetIPAddress, $SetSubnetmask)
                        $objNetAdapter.SetGateways($SetGateway)
                        $objNetAdapter.SetDNSServerSearchOrder($SetDns)
                Next
        EndIf
        $ComputerName = IniRead($dir, $SectionNames, "计算机名称", "")
        $SetIPX = IniRead($dir, $SectionNames, "内部网络号IPX", "")
        $SetIPX = Dec($SetIPX)
        $ServIP = IniRead($dir, $SectionNames, "网维服务器IP", "")
        RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName", "ComputerName", "REG_SZ", $ComputerName)
        RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName", "ComputerName", "REG_SZ", $ComputerName)
        RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "NV Hostname", "REG_SZ", $ComputerName)
        RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "Hostname", "REG_SZ", $ComputerName)
        RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters", "VirtualNetworkNumber", "REG_DWORD", $SetIPX)
        RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Nwlnkipx\Parameters", "VirtualNetworkNumber", "REG_DWORD", $SetIPX)
        RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\iCafe8", "ServIP", "REG_SZ", $ServIP)
        Exit

第二种是:(写入IP、掩码、网关部分)
RunWait(@ComSpec & ' /c netsh -c interface ip set address "本地连接" static ' & $xrip & ' 255.255.255.0 ' & $xrwg & ' 1', "", @SW_HIDE)

两种方法都试用过了,第一种感觉太复杂,很多命令都不懂原理,有时候会生效;第二种看起来简单,好像是(呵呵,好像是)使用的命令行吧,但是其中的“掩码”部分:一是不是能用变量,用变量代入同样的值都出错,二是其值只是能"255.255.255.0",若改为"255.255.255.69"也出错。
不知道哪位大侠能腾出宝贵的时间对这两种写入IP的方法的原理予以详解,不胜感激!

[ 本帖最后由 ahphsautoit 于 2009-4-7 14:45 编辑 ]
发表于 2009-4-4 17:44:59 | 显示全部楼层
1.WMI的加注册表的还是第一次见到,你参考下 ACN_NET.AU3里面的设置
2.学习下子网掩码,可以带入变量。
3.BS ICAFE
 楼主| 发表于 2009-4-4 17:53:49 | 显示全部楼层

回复 2# thesnow 的帖子

感谢二楼的管理员朋友的回答!
但是我想说明的是:
1、你的回答就像是一个70岁的老中共党员对一个7岁的少年儿童道:“要深入学习实践科学发展观,要有创新精神,。。。。。。”,呵呵!
2、听说过很多次“WMI”了,不明究里。从您的回答中似乎领悟到:我所列的第一种方法就是使用的“WMI”。只能领悟到这了。
3、最后感言:加强学习最重要了!论坛就是我们的数码乐园,学习、学习再学习,总有一天,菜鸟也会飞得高的!
发表于 2009-4-4 18:12:12 | 显示全部楼层
1.让您参考下\UserInclude\ACN_NET.au3 中的 _WMI_SetNetworkAdapterInfo 函数
2.如果使用命令行方式,里面也有函数。如果子网掩码能对应到您的IP中,也是可以带入子网掩码的。
3.两个函数都有了,我还能怎么说呀。看不懂就只能去一句一句理解了。
4.命令行方式的你可以在运行下面输入netsh并回车,了解下。这个命令还是很强大的。
5.叫学习叫的最凶的,一般都是三分钟。如果要学习。基本都是默默的。
6.可以使用汉化版本中带的WMI浏览器熟悉下WMI,这个也是一个非常强大的东西。
7.很少讲实例,大多讲原理和道理。有现成例子会直接给例子。不好意思。
 楼主| 发表于 2009-4-4 18:30:04 | 显示全部楼层

回复 4# thesnow 的帖子

感谢指引!话不多说了,“默默”地学习去了!
发表于 2009-4-4 19:27:56 | 显示全部楼层
注意,wmi的依赖多个服务.
包括
dns;netman;wmi
还是直接写注册表吧
发表于 2009-8-16 16:32:10 | 显示全部楼层
1、你的回答就像是一个70岁的老中共党员对一个7岁的少年儿童道:“要深入学习实践科学发展观,要有创新精神,。。。。。。”,呵呵!
2、听说过很多次“WMI”了,不明究里。从您的回答中似乎领悟到:我所列的第一种方法就是使用的“WMI”。只能领悟到这了。
3、最后感言:加强学习最重要了!论坛就是我们的数码乐园,学习、学习再学习,总有一天,菜鸟也会飞得高的!


1.看楼主一楼的提问:复杂的你看不懂,简单的你又觉得不够好,代码是用来学习用来解决问题的
引用犹太人常说的一句话:大孩子大问题,小孩子小问题。
既然自己觉得自己是7岁小孩子,那就乖乖学习ABC先学会爬再学飞吧
2.脑袋是长在你自己的脖子上的,没人可以帮你领悟
3.不懂得方法的学习也会可能成为长翅膀但飞不高的母鸡
发表于 2010-1-12 01:17:19 | 显示全部楼层
找不到ACN_NET.au3
发表于 2010-1-12 10:39:19 | 显示全部楼层
启用DOS命令也可以 做到吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-4 14:34 , Processed in 0.077053 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表