批处理文件是一步发布和更新 IP 的唯一方法吗?
ipconfig /release
ipconfig /renew
不幸的是,我必须使用远程桌面来管理一些 Windows 服务器。显然,如果我输入ipconfig /release
,那么我将失去连接,并且无法ipconfig /renew
。显然,这可以通过 .bat 文件来完成,但我想请教专业人士,看看在 Windows 服务器世界中是否还有其他技巧可以做到这一点。
答案1
我认为大多数人要么使用服务器的静态 IP 地址,要么使用固定的 DHCP 分配,并且不会在计划的重启之外更改 IP 地址(更改正在运行的服务器上的端点 = 不好)。bat 文件似乎是最简单的解决方案,但老实说,即使是直接发布也应该在远程桌面会话超时之前自动更新 IP 地址。
答案2
将两个命令合并为一个
ipconfig /release && ipconfig /renew
Microsoft > 文档 > PowerShell > 脚本 > 新功能 > Powershell 7.x 中的新功能 > Powershell 7.0 中的新功能 > 管道链运算符
如果左侧管道成功,则 && 运算符执行右侧管道。
答案3
使用 AT 命令。例如 AT 12:58 ipconfig /release
AT 12:59 ipconfig /renew(这在使用 psexec 连接时很有用,因为它不处理 && 命令)
答案4
由于该at
命令现已弃用且在 Windows 10 中不起作用(它出现错误The AT command has been deprecated. Please use schtasks.exe instead. The request is not supported.
),这里有一个用于schtasks
安排命令稍后更新的示例。
schtasks /create /tr "ipconfig /renew" /st 02:00 /sc once /tn iprenew
请注意,这会创建一次性的计划任务,从而使计划任务列表变得混乱,因此当您通过 GUI 或命令行完成后只需将其删除即可。