Работа с сетевыми интерфейсами в PowerShell
Разберём основные команды, которые пригодятся нам при настройке сети в ОС Windows через PowerShell.
Сетевые адаптеры
Получить список сетевых адаптеров и их интерфейсов:
Получить список обычных и скрытых сетевых адаптеров:
Получить конфигурацию по интерфейсу 5
:
Получить детальную конфигурацию по интерфейсу 5
:
Отключить адаптер с интерфейсом 5
:
Сетевые профили
Вывести информацию по текущим сетевым профилям:
Получить информацию только по профилю сети интерфейса 5
:
Изменить профиль сети интерфейса 5
на публичный (Public
).
Изменить профиль сети интерфейса 5
на приватный (Private
).
Изменить профиль сети интерфейса 5
на доменный (DomainAuthenticated
).
Настройка IP-адреса
Отключить DHCP на интерфейсе 5
:
Установить новый IP-адрес и шлюз на интерфейсе 5
:
Изменить IP-адрес на интерфейсе 5
:
Удалить IP-адрес на интерфейсе 5
:
Удаление шлюза на интерфейсе 5
:
Настройка DNS
Установить IP-адреса серверов DNS на интерфейсе 5
:
Сбросить IP-адреса серверов DNS на параметры по умолчанию на интерфейсе 5
:
Очистить кэш DNS:
Настройка DHCP
Включить DHCP на интерфейсе 5
:
Перезапустить интерфейс с именем Ethernet
для получения параметров от DHCP:
Автоматизация
Скрипт не имеет вводных параметров. Все параметры настраиваются вручную через редактирование скрипта. Далее, скрипт запускается и применяет указанные параметры.
<#PSScriptInfo
.VERSION 0.1.0
.GUID b42524a4-c0d0-4402-951c-e97aa140698e
.AUTHOR Kitsune Solar
.AUTHOREMAIL mail@kitsune.solar
.COMPANYNAME Library Online
.COPYRIGHT 2023 Library Online. All rights reserved.
.LICENSEURI https://choosealicense.com/licenses/mit/
.PROJECTURI https://lib.onl/ru/articles/2023/10/430b916d-fd5c-5d44-8c24-8b98f41e0355/
#>
#Requires -Version 7.2
#Requires -RunAsAdministrator
# -------------------------------------------------------------------------------------------------------------------- #
# CONFIGURATION.
# -------------------------------------------------------------------------------------------------------------------- #
$Adapter = @{
# Interface index.
InterfaceIndex = 0
}
$IP = @{
# IP address.
IPAddress = '192.168.0.10'
# Subnet mask.
PrefixLength = '24'
# Gateway.
DefaultGateway = '192.168.0.1'
}
$DNS = @{
# DNS servers.
ServerAddresses = (
'192.168.0.2',
'192.168.1.2'
)
}
# -------------------------------------------------------------------------------------------------------------------- #
# -------------------------------------------------< RUNNING SCRIPT >------------------------------------------------- #
# -------------------------------------------------------------------------------------------------------------------- #
Get-NetAdapter @Adapter | Remove-NetIPAddress -Confirm:$false # Removing current IP address.
Get-NetAdapter @Adapter | Remove-NetRoute -Confirm:$false # Removing current gateway.
Get-NetAdapter @Adapter | New-NetIPAddress @IP # Setting new IP address.
Get-NetAdapter @Adapter | Set-DNSClientServerAddress @DNS # Setting new DNS servers.
Источники:
- learn.microsoft.com (netadapter/get-netadapter)
- learn.microsoft.com (netconnection/get-netconnectionprofile)
- learn.microsoft.com (nettcpip/new-netipaddress)
- learn.microsoft.com (nettcpip/set-netipinterface)
- learn.microsoft.com (nettcpip/remove-netipaddress)
- learn.microsoft.com (nettcpip/remove-netroute)
- learn.microsoft.com (dnsclient/set-dnsclientserveraddress)
Категории
Смотрите также
- Работа с переменной среды окружения PATH
- Автоматическая настройка Windows Server 2022 под рабочую станцию
- Восстановление доверительных отношений между PC и Active Directory
- Изменение порта RDP
- PowerShell: Полезные функции
- PowerShell: Стирание диска
- PowerShell: Сжатие видео при помощи FFmpeg
- PowerShell: Определение разрядности ОС Windows
- PowerShell Vault
- Дефрагментация в ОС Windows