0%

使用 powershell 修改 IP 地址

前言

这一篇介绍了一个绝对的冷知识,用 PowerShell 修改IP地址,2022年了,居然不能用DHCP,属实难受了。

情况是今天给一台电脑重做了系统但是忘记记录了之前手动配置的 IP,但是使用新的空闲的 IP 会直接被网关 ban 掉,可以ping 通同一个局域网的其他主机,但是 ping 不同局域网的网关。而其他主机也 ping 不通这一台主机。怀疑是网关侧做了 MAC 和 IP 地址的绑定,所以如果不能等到网关自动更新 IP 地址就只能自己一个一个测试之前的 IP 地址了。手动测试时不可能的,一辈子都不可能手动测试的。

正文

参考 https://www.cnblogs.com/urwlcm/p/4333119.html,首先需要解除电脑对脚本的默认限制。

1
2
Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy Unrestricted

参考 http://www.srcmini.com/30141.html 构建 for 循环。参考 https://blog.csdn.net/zhaoyishi/article/details/85795884 修改 IP 地址。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
for($x=1; $x -lt 254; $x=$x+1) 
{
# echo $x
# $ret = ping -w 20 -n 1 10.201.149.$x
# echo 10.201.149.$x>>pingLANresult.txt
echo $x
# if (Test-Connection 10.201.149.$x -Count 1)
# {
# echo "Yes!"
# }
netsh interface ip set address name="以太网" static 10.201.149.$x 255.255.255.0 10.201.149.254 1
Start-Sleep -s 5
$ret = ping -w 20 -n 1 10.201.149.254
echo $ret
}
Write-Host 'Press Any Key!' -NoNewline
$null = [Console]::ReadKey('?')

后记

另外关于如何给没有 Internet 连接的主机传输信息(复制粘贴),可以在有条件的同局域网主机搭建 python web 服务器,命令如下。80 是端口号可自行修改。

1
python3 -m http.server 80  

https://www.cnblogs.com/zhangdongyu/p/15253312.html 这里有一个 cmd 查询局域网内在线主机的代码,但是由于 powershell 和 cmd 语法已经不兼容所以测试跑通后就没深挖。