我们正在进行网络重新设计,我在远程位置有 35 台 Windows 2003/2008 服务器,我需要更改它们的 IP 地址、网关和 DNS 信息。
理想情况下,我希望能够从本地系统(Windows 7)上的命令行远程执行此操作,这样我就可以编写脚本来快速更新所有系统。
我研究过 netsh,但无法让它远程更改地址。为了测试,我尝试运行以下命令,该命令应返回远程计算机上的当前网络配置:
netsh -r \\server interface ip show config
但是,返回以下错误:
警告:无法从机器 [\server] 获取主机信息。某些命令可能不可用。
参数不正确。
未找到以下命令:interface ip show config。
如果我通过 RDP 登录到服务器,我就可以运行命令 netsh interface ip show config,并且我会收到预期的结果。
正如错误所说,这似乎表明并非所有命令和功能都可以从远程计算机获得,就像从本地会话获得一样。
有没有其他方法可以用来完成远程更改这些服务器的 IP 地址信息的任务?
答案1
PSTOOLS psexec 能满足这一要求吗?你可以使用以下命令从本地桌面打开远程计算机上的命令提示符:
psexec \\服务器名称 -u 用户名 -p 密码 cmd
答案2
使用xcmd 工具首先在远程计算机上登录,然后执行 netsh 命令,就像在本地执行一样。
xCmd.exe \\remoteserver /user:Administrator /pwd:* netsh interface ip set address "Local Area Connection" static ipaddr subnetmask gateway metric
答案3
如果你不介意改变方法并且可以使用 Python,我相信织物可能是满足您需求的一个很好的解决方案,尽管我从未在 Windows 机器上真正测试过它。
嗨嗨。
答案4
也许您可以编写一个批处理(.bat 文件),上传它,通过 RDP 登录并运行它?