# 获取所有网络适配器对象
$adapters = Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object{$_.IPEnabled -eq $true}
# 循环遍历每个适配器
foreach ($adapter in $adapters) {
# 检查是否以172开头
if ($adapter.IPAddress[0] -like "172.*") {
# 获取旧的IP地址信息
$oldIP = $adapter.IPAddress[0] $subnetMask = $adapter.IPSubnet[0] $gateway = $adapter.DefaultIPGateway[0] $dnsServer = $adapter.DNSServerSearchOrder[0]
# 移除旧的IP地址配置
$adapter.EnableStatic($null, $null, $null, $null)
# 设置新的IP地址配置
$newIP = "169." + (Get-Random -Minimum 1 -Maximum 254) + "." + (Get-Random -Minimum 1 -Maximum 254) + "." + (Get-Random -Minimum 1 -Maximum 254) $null = $adapter.EnableStatic($newIP, $subnetMask) $null = $adapter.SetGateways($gateway) $null = $adapter.SetDNSServerSearchOrder($dnsServer)
# 输出新的IP地址
"适配器名称: " + $adapter.Description
"旧的IP地址: " + $oldIP
"新的IP地址: " + $newIP "---"
}
}