Файл быстрого переключения настроек сетевой карты
@echo off
chcp 65001 >nul
title Переключение сетевого интерфейса
:: === ИМЯ СЕТЕВОГО ИНТЕРФЕЙСА ===
set IFACE=Ethernet
:MENU
cls
echo ===============================
echo Переключение сетевых настроек
echo ===============================
echo.
echo 1 - Статический IP
echo 2 - DHCP
echo.
echo 0 - Выход
echo.
set /p CHOICE=Выберите режим:
if "%CHOICE%"=="1" goto STATIC
if "%CHOICE%"=="2" goto DHCP
if "%CHOICE%"=="0" exit
goto MENU
:STATIC
echo.
echo Установка статического IP...
netsh interface ip set address name="%IFACE%" static 10.44.100.200 255.255.255.0 10.44.100.1 1
netsh interface ip set dns name="%IFACE%" static 10.5.8.8
netsh interface ip add dns name="%IFACE%" 10.5.1.1 index=2
echo Готово.
pause
goto MENU
:DHCP
echo.
echo Включение DHCP...
netsh interface ip set address name="%IFACE%" dhcp
netsh interface ip set dns name="%IFACE%" static 77.88.8.8
netsh interface ip add dns name="%IFACE%" 8.8.8.8 index=2
echo Готово.
pause
goto MENU
Красивый вариант на PowerShell
Отлично 👍 Тогда сделаем PowerShell-скрипт с графическим окном (GUI) и две красивые кнопки:
«Статический IP» и «DHCP».
Будет выглядеть как маленькое приложение.
🔧 Что в итоге получится
-
Окно Windows
-
Кнопка 🟦 Статический IP
-
Кнопка 🟩 DHCP
-
Работает в 1 клик
-
Запуск с правами администратора
-
Можно вынести один ярлык на рабочий стол
1️⃣ PowerShell-скрипт (GUI)
Создай файл, например:
C:\Scripts\Network\network-switch.ps1
📄 network-switch.ps1
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
# ===== НАСТРОЙКИ =====
$InterfaceName = "Ethernet"
$StaticIP = "10.44.100.200"
$Mask = "255.255.255.0"
$Gateway = "10.44.100.1"
$DNS1 = "10.5.8.8"
$DNS2 = "10.5.1.1"
$DNS3 = "77.88.8.8"
# ===== ФОРМА =====
$form = New-Object System.Windows.Forms.Form
$form.Text = "Переключение сети"
$form.Size = New-Object System.Drawing.Size(320,200)
$form.StartPosition = "CenterScreen"
$form.FormBorderStyle = "FixedDialog"
$form.MaximizeBox = $false
# ===== КНОПКА: СТАТИЧЕСКИЙ IP =====
$btnStatic = New-Object System.Windows.Forms.Button
$btnStatic.Text = "🟦 Статический IP"
$btnStatic.Size = New-Object System.Drawing.Size(240,40)
$btnStatic.Location = New-Object System.Drawing.Point(30,30)
$btnStatic.Font = New-Object System.Drawing.Font("Segoe UI",10,[System.Drawing.FontStyle]::Bold)
$btnStatic.Add_Click({
netsh interface ip set address name="$InterfaceName" static $StaticIP $Mask $Gateway 1
netsh interface ip set dns name="$InterfaceName" static $DNS1
netsh interface ip add dns name="$InterfaceName" $DNS2 index=2
[System.Windows.Forms.MessageBox]::Show("Статический IP установлен","Готово")
})
# ===== КНОПКА: DHCP =====
$btnDhcp = New-Object System.Windows.Forms.Button
$btnDhcp.Text = "🟩 DHCP"
$btnDhcp.Size = New-Object System.Drawing.Size(240,40)
$btnDhcp.Location = New-Object System.Drawing.Point(30,90)
$btnDhcp.Font = New-Object System.Drawing.Font("Segoe UI",10,[System.Drawing.FontStyle]::Bold)
$btnDhcp.Add_Click({
netsh interface ip set address name="$InterfaceName" dhcp
netsh interface ip set dns name="$InterfaceName" static $DNS3
[System.Windows.Forms.MessageBox]::Show("DHCP включён","Готово")
})
$form.Controls.Add($btnStatic)
$form.Controls.Add($btnDhcp)
$form.ShowDialog()
📌 Если интерфейс Wi-Fi, поменяй:
$InterfaceName = "Wi-Fi"
2️⃣ Разрешаем запуск PowerShell-скриптов (1 раз)
Открой PowerShell от имени администратора и выполни:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
3️⃣ Создаём ярлык на рабочем столе
🔹 Команда запуска
В ярлыке укажи:
Объект:
powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\Network\network-switch.ps1"
Рабочая папка:
C:\Scripts\Network
🔹 Включаем запуск от администратора
-
ПКМ → Свойства
-
Дополнительно
-
✅ Запуск от имени администратора
4️⃣ Красивую иконку 🎨
-
ПКМ → Сменить значок
-
Возьми из:
Рекомендую:
-
🌐 сеть
-
🔁 переключение
-
🛠 настройки
Делаем приложение через Autohotkey
#NoEnv
#SingleInstance Force
#Persistent
SetWorkingDir %A_ScriptDir%
; ==== НАСТРОЙКИ ====
Interface := "Ethernet"
StaticIP := "10.44.100.109"
Mask := "255.255.255.0"
Gateway := "10.44.100.1"
DNS1 := "10.4.0.55"
DNS2 := "10.4.0.68"
DNS3 := "77.88.8.8"
; ==== ТРЕЙ ====
Menu, Tray, NoStandard
Menu, Tray, Add, STATIC IP, SetStatic
Menu, Tray, Add, DHCP, SetDHCP
Menu, Tray, Add
Menu, Tray, Add, EXIT, TrayExit
Menu, Tray, Click, 1
return
; ==========================
SetStatic:
RunWait, %ComSpec% /c netsh interface ip set address name="%Interface%" static %StaticIP% %Mask% %Gateway% 1,, Hide
RunWait, %ComSpec% /c netsh interface ip set dns name="%Interface%" static %DNS1% primary,, Hide
RunWait, %ComSpec% /c netsh interface ip add dns name="%Interface%" %DNS2% index=2,, Hide
TrayTip, IP change, Режим STATIC IP установлен, 1, 1
return
; ==========================
SetDHCP:
RunWait, %ComSpec% /c netsh interface ip set address name="%Interface%" dhcp,, Hide
RunWait, %ComSpec% /c netsh interface ip set dns name="%Interface%" static %DNS3%,, Hide
TrayTip, IP change, Режим DHCP установлен, 1, 1
return
TrayExit:
ExitApp