jonvi 发表于 2018-9-2 11:27:39

使用PowerShell初始化网络配置

#首先查看当前计算机上的网络适配器信息  
$i = 0
  
${ip rules} = "\b{1,3}\.{1,3}\.{1,3}\.{1,3}\b"
  
Get-NetAdapter | ft -AutoSize name, InterfaceDescription, MacAddress, InterfaceIndex, Status
  
$netid = Read-Host "请输入要设置的网络适配器序号"
  
foreach ($id in (Get-NetAdapter).ifIndex)
  
{
  if ($id -eq $netid)
  {
  $i++
  }
  
}
  
if ($i -eq 0)
  
{
  Write-Warning "输入的网络适配器序号不存在";
  break
  
}
  
if ((Get-NetAdapter -InterfaceIndex $netid).Status -eq "Disconnected")
  
{
  "当前适配器未连接";
  break
  
}
  
$ip = Read-Host "请输入要设置的IP地址"
  
if ($ip -notmatch ${ip rules})
  
{
  Write-Warning "请输入正确的IP地址";
  break
  
}
  
$dnsip = Read-Host "请输入DNS服务器的IP地址"
  
if ($dnsip -notmatch ${ip rules})
  
{
  Write-Warning "请输入正确的IP地址";
  break
  
}
  
$mask = Read-Host "请输入子网掩码的长度"
  
if ((Get-NetAdapter -InterfaceIndex $netid).Status -eq "Disconnected")
  
{
  Write-Warning "当前适配器未连接";
  break
  
}
  
elseif ((Get-NetAdapter -InterfaceIndex $netid).Status -eq "up")
  
{
  set-DnsClientServerAddress -InterfaceIndex $netid -ServerAddresses $dnsip
  if ((Get-NetIPAddress -InterfaceIndex $netid -AddressFamily IPv4).IPv4Address.StartsWith("169"))
  {
  New-NetIPAddress -InterfaceIndex $netid -IPAddress $ip -PrefixLength $mask
  }
  elseif ((Get-NetIPAddress -InterfaceIndex $netid -AddressFamily IPv4).IPv4Address.StartsWith("192"))
  {
  Remove-NetIPAddress -InterfaceIndex $netid -AddressFamily IPv4
  New-NetIPAddress -InterfaceIndex $netid -IPAddress $ip -PrefixLength $mask
  }
  
}


页: [1]
查看完整版本: 使用PowerShell初始化网络配置