且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

利用psexec.exe和netsh远程修改IP地址

更新时间:2022-05-17 10:41:21

我一直使用静态IP地址,近日为了规范管理,部分领导的IP地址需要修改。因为众所周知的一些因素,远程修改IP地址是比较可行的方案。
测试环境:
VMware 5.5
两台Windows XP Pro (计算机名分别为:xp1和xp2)
psexec.exe  (pstools中的一个工具,工具作者:Mark Russinovich)
netsh (XP自带的工具)

XP2是待修改IP的主机,原始配置如下,
C:/Documents and Settings/普通会员>ipconfig/all
Windows IP Configuration
        Host Name . . . . . . . . . . . . : XP2
        Primary Dns Suffix  . . . . . . . : ms.local
        Node Type . . . . . . . . . . . . : Unknown
        IP Routing Enabled. . . . . . . . : No
        WINS Proxy Enabled. . . . . . . . : No
        DNS Suffix Search List. . . . . . : ms.local
Ethernet adapter 本地连接:
        Connection-specific DNS Suffix  . :
        Description . . . . . . . . . . . : VMware Accelerated AMD PCNet Adapter
        Physical Address. . . . . . . . . : 00-0C-29-26-57-A4
        Dhcp Enabled. . . . . . . . . . . : No
        IP Address. . . . . . . . . . . . : 192.168.0.13
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.0.6
        DNS Servers . . . . . . . . . . . : 192.168.0.1
                                                89.0.0.240

步骤如下:

在XP1主机上创建1个文件夹,该文件夹包含4个文件,文件内容如图1
利用psexec.exe和netsh远程修改IP地址
图1

四个文件的说明:
psexec.exe :远程执行命令的工具。
pclist.txt :psexec调用的一个文本文件,里面可以输入计算机名。这是一个可选项,使用该选项是为了可以方便的在该文件内修改计算机名。并且可以同时处理多台计算机,只需每行输入一台计算机名即可。
IPset.bat :把psexec.exe的命令写入一个批处理文件内可以方便修改、运行。其中-c开关符表示将IPset2.bat复制到远程主机后运行。
IPset2.bat :该批处理文件内包含要在运程主机上执行的工具,netsh。由于仅仅修改IP地址,所以该命令从字面上就能理解。

完成以上四个文件后,双击IPset.bat,出现图2的界面,耐心等待一会儿后,XP2的IP地址就由原先的192.168.0.13变为了192.168.0.20了。
利用psexec.exe和netsh远程修改IP地址
图2

小结:
1、修改不同主机的不同IP时,只需要修改pclist.txt和IPset2.bat文件中的部分内容。
2、pctools工具对于中文识别有问题,address name一般都为“本地连接”。如果通过psexec执行远程的cmd命令,那将无法正确执行netsh的命令,除非address name的值是英文的。
3、XP1当前登录的帐号同时也是XP2的本地普通会员帐号,所以在psexec的命令中我省略了帐号选项。