#region 强迫以管理员权限运行
$currentWi = [Security.Principal.WindowsIdentity]::GetCurrent() 
$currentWp = [Security.Principal.WindowsPrincipal]$currentWi
 
if( -not $currentWp.IsInRole([Security.Principal.WindowsBuiltInRole]::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)