zlzyp 发表于 2018-9-2 07:39:52

PowerShell修改IP地址

#region 强迫以管理员权限运行  
$currentWi = ::GetCurrent()
  
$currentWp = $currentWi
  

  
if( -not $currentWp.IsInRole(::Administrator))
  
{
  
$boundPara = ($MyInvocation.BoundParameters.Keys | foreach{
  
   '-{0} {1}' -f$_ ,$MyInvocation.BoundParameters[$_]} ) -join ' '
  
$currentFile = (Resolve-Path$MyInvocation.InvocationName).Path
  

  
$fullPara = $boundPara + ' ' + $args -join ' '
  
Start-Process "$psHome\powershell.exe"   -ArgumentList "$currentFile $fullPara"   -verb runas
  
return
  
}
  
#endregion
  
$numA = 1
  
do{
  
    Echo "##################"
  
    Echo "#    1.IP1    #"
  
    Echo "#    2.IP2    #"
  
    Echo "#    3.IP3   #"
  
    Echo "#    4.退出#"
  
    Echo "##################"
  
    Echo "`n"
  
    $SelectString = Read-Host "请选择地点"
  
    Echo "`n"
  
    $wmi = Get-WmiObject win32_networkadapterconfiguration -filter "ipenabled = 'true'"
  
    switch($SelectString){
  
      1 {
  
            $wmi.EnableStatic("192.168.27.16", "255.255.255.0") >$null
  
            $wmi.SetGateways("192.168.27.2",1) >$null
  
             $wmi.SetDNSServerSearchOrder("192.168.0.254") >$null
  
            }
  
      2 {
  
            $wmi.EnableStatic("10.0.0.16", "255.0.0.0") >$null
  
            $wmi.SetGateways("10.0.0.2",1) >$null
  
            $wmi.SetDNSServerSearchOrder("10.0.0.254") >$null
  
         }
  
      3 {
  
            $wmi.EnableStatic("192.168.254.108", "255.255.255.0") >$null
  
            $wmi.SetGateways("192.168.254.254",1) >$null
  
            $wmi.SetDNSServerSearchOrder("192.168.254.254") >$null
  
            }
  
      4 {
  
            Exit
  
            }
  
      Default {"输入错误!请重新启动选择~"}
  
    }
  
    Echo "请核对修改后的IP地址是否正确~"
  
    $IPAddress = $wmi.IPAddress
  
    $Subnet = $wmi.IPSubnet
  
    $DefaultIPGateway = $wmi.DefaultIPGateway
  
    $DNS = $wmi.DNSServerSearchOrder
  
    Echo "IP地址:$IPAddress"
  
    Echo "子网地址:$Subnet"
  
    Echo "默认网关:$DefaultIPGateway"
  
    Echo "   DNS:$DNS"
  
    Echo "`n"
  
} While($numA -eq 1)


页: [1]
查看完整版本: PowerShell修改IP地址