Меню

Powershell настройка сетевой карты

Настройка сети с помощью PowerShell (IP адрес, DNS, шлюз, маршруты)

В этой статье мы рассмотрим особенности настройки параметров сетевых адаптеров в Windows из PowerShell. Посмотрим, как узнать и назначить статический IP адрес, DNS сервера, или настроить сетевой интерфейс на получение конфигурации IP от DHCP сервера. Вы можете использовать эти командлеты для настройки сети в Сore/Nano версиях Windows Server, в Hyper-V Server, изменения настроек IP на удаленных компьютерах или по сети серверах или в PS скриптах.

Ранее для настройки параметров сети в Windows из CLI использовалась команда netsh interface ipv4. В PowerShell 3.0 и выше для управления сетевыми настройками Windows можно использовать встроенный PowerShell модуль NetTCPIP.

Чтобы получить список командлетов в этом модуле, выполните:

Управление сетевыми адаптерами из PowerShell

Выведем список доступных сетевых интерфейсов компьютера:

Командлет возвращает имя интерфейса, состояние (Up/Down), MAC адрес, скорость на порту.

В этом примере у меня на компьютере несколько сетевых адаптеров (кроме физического подключения Ethernet0 есть несколько сетевых интерфейсов от Hyper-V и VMWare Player).

Вы можете обращаться к сетевым интерфейсам по их именам или индексам (столбец ifIndex). В нашем примере, чтобы выбрать физический LAN адаптер Intel 82574L нужно набрать команду:

Можно изменить имя адаптера:

Чтобы выключить сетевой интерфейс, используйте команды:

При включении интерфейса нельзя указать его индекс, т.к. он не присвоен. Можно указать имя адаптера или его описание.

Если для адаптера указан VLAN, можно вывести его так:

Get-NetAdapter | ft Name, Status, Linkspeed, VlanID

Информация об используемом драйвере сетевого адаптера:

Get-NetAdapter | ft Name, DriverName, DriverVersion, DriverInformation, DriverFileName

Информация о физических сетевых адаптерах (PCI слот, шина и т.д.).

Просмотр настроек TCP/IP сетевого интерфейса из PowerShell

Получить текущие настройки сетевого интерфейса (IP адрес, DNS, шлюз):

Чтобы вывести более подробную информацию о конфигурации сетевого интерфейса, используйте команду:

В этом случае выводится назначенный профиль сети интерфейса (NetProfile.NetworkCategory), настройки MTU (NetIPv4Interface.NlMTU), включено ли получение адреса от DHCP (NetIPv4Interface.DHCP) и ряд другой полезной информации.

Получить значение только IP адрес интерфейса:

Настроить статический IP адрес из PowerShell

Попробуем задать статический IP адрес для сетевого интерфейса. Чтобы изменить IP адрес, маску подсети и шлюз для сетевого интерфейса:

Можно задать IP адрес, представив его в виде более массива (более наглядно):

$ipParams = @<
InterfaceIndex = 8
IPAddress = «192.168.1.22»
PrefixLength = 24
AddressFamily = «IPv4»
>
New-NetIPAddress @ipParams

Если статический IP адрес уже настроен и нужно изменить его, используется командлет Set-NetIPAddress:

Чтобы на интерфейсе отключить получение IP адреса от DHCP, выполните:

Set-DnsClientServerAddress: настроить адреса DNS серверов

Чтобы задать адреса первичного и вторичного DNS серверов в Windows, используется командлет Set-DNSClientServerAddress. Например:

Set-DNSClientServerAddress –InterfaceIndex 8 –ServerAddresses 192.168.1.11,10.1.1.11

Можно также задать DNS сервера через массив:

$dnsParams = @<
InterfaceIndex = 8
ServerAddresses = («8.8.8.8″,»8.8.4.4»)
>
Set-DnsClientServerAddress @dnsParams

После изменения настроек DNS, можно очистить DNS кэш:

PowerShell: Настройка получения IP адреса от DHCP сервера

Чтобы сетевой интерфейс компьютера получал динамический IP адрес от DHCP сервера, выполните команду:

Очистите настройки DNS серверов:

И перезапустите интерфейс для получения IP адреса:

Если ранее у вас был настроен шлюз, удалите его:

Удаленное изменение IP/DNS настроек в Windows

Вы можете использовать PowerShell чтобы удаленно изменить настройки IP адресов или DNS серверов на нескольких удаленных компьютерах. Допустим, ваша задача – изменить настройки DNS для всех серверов в указанном контейнере AD. Для получения списка компьютеров в скрипте ниже примере используется командлет Get-ADComputer, а удаленное подключение к компьютерам выполняется через WinRM (командлет Invoke-Command):

Источник

Выполнение задач по работе с сетями Performing Networking Tasks

Большая часть задач администрирования низкоуровневых сетевых протоколов связана с протоколом TCP/IP, так как это наиболее распространенный сетевой протокол. Because TCP/IP is the most commonly used network protocol, most low-level network protocol administration tasks involve TCP/IP. В этом разделе описано использование инструментария WMI и PowerShell для выполнения этих задач. In this section, we use PowerShell and WMI to do these tasks.

Получение списка IP-адресов компьютера Listing IP Addresses for a Computer

Список всех IP-адресов, используемых локальным компьютером, возвращает следующая команда: To get all IP addresses in use on the local computer, use the following command:

Выходные данные этой команды отличаются от большинства списков свойств заключением значений в фигурные скобки: The output of this command differs from most property lists, because values are enclosed in braces:

Читайте также:  Гбо stag 300 программа для настройки

Чтобы понять причину появления скобок, используйте командлет Get-Member для изучения свойства IPAddress : To understand why the braces appear, use the Get-Member cmdlet to examine the IPAddress property:

Вывод данных IP-конфигурации Listing IP Configuration Data

Для отображения подробных данных IP-конфигурации каждого сетевого адаптера воспользуйтесь следующей командой: To display detailed IP configuration data for each network adapter, use the following command:

Эта команда выводит подробные сведения о DHCP, DNS, маршрутизации и других менее значительных свойствах IP-конфигурации. This command returns detailed information about DHCP, DNS, routing, and other minor IP configuration properties.

Проверка связи с компьютерами Pinging Computers

Удобнее отображать сводные данные, содержащие свойства Address, ResponseTime и StatusCode, как это делает приведенная ниже команда. A more useful form for summary information a display of the Address, ResponseTime, and StatusCode properties, as generated by the following command. Параметр Autosize командлета Format-Table изменяет размер столбцов таблицы для их правильного отображения в PowerShell. The Autosize parameter of Format-Table resizes the table columns so that they display properly in PowerShell.

Значение 0 свойства StatusCode указывает на успешно выполненную проверку связи. A StatusCode of 0 indicates a successful ping.

Для проверки связи с несколькими компьютерами с помощью одной команды можно использовать массив. You can use an array to ping multiple computers with a single command. Так как адресов несколько, для проверки связи с каждым адресом по отдельности можно использовать ForEach-Object : Because there is more than one address, use the ForEach-Object to ping each address separately:

Один и тот же формат команды можно использовать для проверки связи со всеми компьютерами подсети. Например, при проверке частной сети, использующей номер сети 192.168.1.0 и стандартную маску подсети класса C (255.255.255.0), допустимы только локальные адреса в диапазоне от 192.168.1.1 до 192.168.1.254 (0 всегда зарезервирован в качестве номера сети, а 255 используется в качестве широковещательного адреса подсети). You can use the same command format to ping all of the computers on a subnet, such as a private network that uses network number 192.168.1.0 and a standard Class C subnet mask (255.255.255.0)., Only addresses in the range of 192.168.1.1 through 192.168.1.254 are legitimate local addresses (0 is always reserved for the network number and 255 is a subnet broadcast address).

Такой метод формирования диапазона адресов может быть использован в любых подобных случаях. Note that this technique for generating a range of addresses can be used elsewhere as well. Полный набор адресов можно сформировать следующим образом: You can generate a complete set of addresses in this way:

Извлечение свойств сетевого адаптера Retrieving Network Adapter Properties

Назначение домена DNS сетевому адаптеру Assigning the DNS Domain for a Network Adapter

Выполнение задач настройки DHCP Performing DHCP Configuration Tasks

Изменение сведений DHCP, так же как и настройка DNS, включает работу с набором сетевых адаптеров. Modifying DHCP details involves working with a set of network adapters, just as the DNS configuration does. Существует несколько отдельных действий, выполняемых с помощью инструментария WMI. Мы рассмотрим несколько наиболее типичных. There are several distinct actions you can perform by using WMI, and we will step through a few of the common ones.

Определение адаптеров, поддерживающих DHCP Determining DHCP-Enabled Adapters

Найти на компьютере адаптеры, поддерживающие DHCP, можно с помощью следующей команды: To find the DHCP-enabled adapters on a computer, use the following command:

Чтобы исключить из поиска адаптеры, имеющие проблемы в IP-конфигурации, можно добавить требование поддержки протокола IP: To exclude adapters with IP configuration problems, you can retrieve only IP-enabled adapters:

Извлечение свойств DHCP Retrieving DHCP Properties

Включение поддержки DHCP на каждом адаптере Enabling DHCP on Each Adapter

Чтобы включить поддержку DHCP на всех адаптерах, используйте команду: To enable DHCP on all adapters, use the following command:

Вы можете воспользоваться оператором Filter IPEnabled=$true and DHCPEnabled=$false во избежание включения поддержки DHCP для адаптеров, у которых она уже включена, но пропуск этого шага не приведет к появлению ошибок. You can use the Filter statement IPEnabled=$true and DHCPEnabled=$false to avoid enabling DHCP where it is already enabled, but omitting this step will not cause errors.

Читайте также:  Пример фильтр содержания mdaemon настройка

Отмена и обновление аренды адреса DHCP для отдельных адаптеров Releasing and Renewing DHCP Leases on Specific Adapters

Единственное отличие при обновлении аренды адреса DHCP состоит в вызове метода RenewDHCPLease вместо метода ReleaseDHCPLease : The only change for renewing a DHCP lease is to use the RenewDHCPLease method instead of the ReleaseDHCPLease method:

Если эти методы применяются на удаленном компьютере, возможна потеря доступа к удаленной системе, которая подключена через адаптер с отмененной или обновленной арендой. When using these methods on a remote computer, be aware that you can lose access to the remote system if you are connected to it through the adapter with the released or renewed lease.

Отмена и обновление аренды адресов DHCP для всех адаптеров Releasing and Renewing DHCP Leases on All Adapters

Ссылку на класс WMI вместо ссылки на экземпляры класса можно получить путем перечисления всех классов WMI и выбора нужного класса по имени. You can get a reference to a WMI class, instead of class instances, by listing all WMI classes and then selecting only the desired class by name. Например, следующая команда возвращает класс Win32_NetworkAdapterConfiguration : For example, the following command returns the Win32_NetworkAdapterConfiguration class:

Такой же формат команды используется при вызове метода RenewDHCPLeaseAll : You can use the same command format to invoke the RenewDHCPLeaseAll method:

Создание сетевой папки Creating a Network Share

Создать сетевую папку можно с помощью метода Create класса Win32_Share : To create a network share, use the Create method of Win32_Share :

Для этой же цели в Windows PowerShell можно использовать команду net share : You can also create the share by using net share in PowerShell on Windows:

Удаление сетевой папки Removing a Network Share

Для Windows в этом случае подойдет и net share : In Windows, net share works as well:

Подключение сетевого диска, доступного в Windows Connecting a Windows Accessible Network Drive

В Windows также работает и команда net use : On Windows, the net use command works as well:

Источник

Сетевые интерфейсы в Windows [GUI/CMD/PowerShell]

Моя локальная сеть:

В моей сети работает DHCP-сервер, с представленной ниже конфигурацией:

Для разнообразия взял разные DNS-сервера.

Первым делом нам нужно попасть в «Центр управления сетями и общим доступом«.

Я привожу два универсальных способа, как в него попасть, используя операционные системы: Windows 7, 8, 8.1, 10, Server 2008, 2012, 2016.

Первый способ: Заходим в «Панель управления» -> «Центр управления сетями и общим доступом«.(Рис.1.1)

Второй способ: через «Выполнить«:

И так, перед нами «Центр управления сетями и общим доступом«. В разделе «Просмотр активных сетей» мы видим сети, к которым подключен наш ПК.

В окне «Свойства: IP версии 4 (TCP/IPv4)» нажимаем «ОК«.

В окне «Ethernet: свойства» тоже нажимаем «ОК«.(Рис.1.6)

Настройки по DHCP получены, всё правильно, на этом с получением динамических сетевых настроек заканчиваем.

Статические настройки сети задаются вручную пользователем. Они прописываются в настройках сетевого подключения и жестко закрепляется за данным устройством.

Для того чтобы задать/изменить статические настройки сети [Указать IP-адрес и DNS-серверы вручную], нужно переключить радиокнопки в положения:

Для сохранения нажимаем «ОК«.

В окне «Ethernet: свойства» тоже нажимаем «ОК«.(Рис.1.9)

Нужные нам сетевые настройки применились. Всё отлично.

На этом с настройкой сети через графический интерфейс[GUI] заканчиваем.

И так на данный момент настройки сети на моём ПК прописаны вручную[Статические].

Убедимся в этом набрав в командной строке [CMD] команду — ipconfig /all (Рис.2.1):

Если у вас сетевой интерфейс отключен и вы хотите его включить, то воспользуйтесь командой:

В моём случае команда выглядела бы так:

Ну а если на этом этапе, вы захотите выключить какой-нибудь сетевой интерфейс, то воспользуйтесь командой:

В моём случае так(Рис.2.3):

Теперь наша задача по DHCP, получить адрес(а) DNS-сервера(ов).

Для этого воспользуемся командой:

В моём случае так (Рис.2.5):

Всё отлично! По DHCP получены адреса DNS-серверов: 8.8.8.8 и 8.8.4.4 (Рис.2.6)

В моём случае это выглядит так(Рис.2.7):

После ввода команды, сеть будет работать некорректно, так как полученные ранее, по DHCP, адреса DNS-серверов пропадут из конфигурации сети, и нам нужно их прописать вручную.

Читайте также:  Настройка oziexplorer для привязки карты

Указание/Смена Предпочитаемого DNS-сервера[При смене предпочитаемого сервера, пропадут альтернативные]:

В моём случае так(Рис.2.8):

Для корректной работы сети обычно требуется указать адрес одного DNS-сервера, в некоторых случаях требуется указать два, но я, в целях тестирования, укажу 3.

Указание Альтернативного DNS-сервера:

В моём случае так(Рис.2.9):

Указание Третьего DNS-сервера:

Добавляем точно так же, как и второй. В моём случае так(Рис.2.10):

Если кто-то ошибся с вводом адреса DNS-сервера, то удалить его можно командой:

Нужные нам сетевые настройки применились. Всё отлично.

На этом с настройкой сети через командную строку[CMD] заканчиваем.

[ВНИМАНИЕ. ]

Лично у меня этот способ не сработал на Windows 10 и Windows Server 2016, но я много где видел, что этот способ советовали людям и он их устраивал.

И я не рекомендую повторять этот пункт пользователям, которые не помнят свои сетевые настройки. [Если есть сеть, то она пропадёт]

В общем проблема в том, что восстанавливается IP-адрес и Маска подсети, остальные настройки не восстанавливаются. Я не знаю как решить эту проблему, не покидая CMD. Если у вас есть какие-либо решения этой проблемы, не ленитесь и напишите в комментариях.

[/ВНИМАНИЕ. ]

Команда для сохранения сетевых настроек в файл C:\netconfig.txt (Рис.2.12):

Команда для восстановления сетевых настроек из файла C:\netconfig.txt (Рис.2.14):

И вот такой меня ожидал результат восстановления сетевых настроек.(Рис.2.15)

Как видим не восстановились адреса Основного шлюза и DNS-серверов.

Информация и состояние:

Просмотр конфигурации сетевых интерфейсов:

Просмотр названия и состояния сетевых интерфейсов:

Просмотр адресов DNS-серверов:

Вкл/Выкл:

Включение сетевого интерфейса:

Выключение сетевого интерфейса:

По DHCP[Динамически]:

Получение IP-адреса, Маски подсети и Основного шлюза по DHCP:

Получить адрес DNS-сервера по DHCP:

Вручную[Статически]:

Вручную назначить/изменить IP-адрес, Маску подсети и Основной шлюз:

Вручную назначить/изменить адрес Предпочитаемого DNS-сервера:

Вручную добавить адрес Альтернативного DNS-сервера:

Посмотреть список сетевых командлетов можно с помощью команды:

Для того чтобы почитать помощь по командлетам воспользуйтесь командой:

Так же можно посмотреть примеры использования команд:

И так, на данный момент настройки сети на моём ПК прописаны вручную[Статические].

Если у вас сетевой интерфейс отключен и вы хотите его включить, то воспользуйтесь командой:

В моём случае команда выглядела бы так:

Ну а если на этом этапе вы захотите выключить какой-нибудь сетевой интерфейс, то воспользуйтесь командой:

Если у вас имя интерфейса неудобное, то интерфейс можно переименовать [к примеру в LAN или WAN], командой:

Для того чтобы получить IP-адрес, Маску подсети и Основной шлюз от DHCP-сервера[Здесь отсутствует DNS-сервер], воспользуемся командой:

Лично у меня, интерфейс увидел DHCP-сервер только после рестарта интерфейса:

Проверим, какие сетевые настройки, наш ПК получил по DHCP.(Рис.3.3)

Теперь наша задача по DHCP, получить адрес(а) DNS-сервера(ов).

Для этого воспользуемся командой:

В моём случае так (Рис.3.4):

Проверяем, полученные по DHCP, адрес(а) DNS-сервера(ов):

Всё отлично! По DHCP получены адреса DNS-серверов: 8.8.8.8 и 8.8.4.4

Если у вас прописан статический IP-адрес, то во избежание ошибок для начала нужно удалить его, а так же удалить адрес Основного шлюза [Адрес(а) DNS-сервер(ов) можно не удалять].

Если на данный момент настройки сети получены по DHCP, то пропускайте удаление.

Если адреса не знаете, то смотрим, запоминаем, вставляем в команды:

Данная команда удалит IP-адрес и Маску подсети:

Следующая команда удалит адрес Основного шлюза:

Удалить все адреса DNS-серверов:

А теперь приступаем.

В моём случае так(Рис.3.5):

После ввода команды, сеть будет работать некорректно, так как полученные ранее, по DHCP, адреса DNS-серверов пропадут из настроек сети, и нам нужно их прописать вручную.

Указание адрес(а) DNS-сервера(ов):

В моём случае так(Рис.3.6):

Проверяем, прописанные адрес(а) DNS-сервера(ов):

Всё отлично! Адреса DNS-серверов: 10.0.0.1 и 8.8.8.8

Удалить один из адресов DNS-серверов нельзя[Но это неточно 🙂 ], для начала нужно сбросить все адреса DNS-серверов, а потом уже прописать новые.

Удалить[Сбросить] все адреса DNS-серверов:

Информация и состояние:

Просмотр конфигурации сетевых интерфейсов:

Вкл/Выкл/Рестарт:

Включение сетевого интерфейса:

Выключение сетевого интерфейса:

Рестарт сетевого интерфейса:

По DHCP[Динамически]:

Получение IP-адреса, Маски подсети и Основного шлюза по DHCP:

Сбросить и Получить адреса DNS-серверов по DHCP:

Вручную[Статически]:

Удалить IP-адрес и Маску подсети:

Удалить адрес Основного шлюза:

Вручную назначить IP-адрес, Маску подсети и Основной шлюз:

Вручную назначить/изменить адреса DNS-серверов:

Удалить[Сбросить] все адреса DNS-серверов:

Источник