#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)