Скрипт для настройки сети windows 10

Windows 10 Setup Script — скрипт для быстрой настройки Windows 10 после установки

Обновлено: 25.09.2020. Только для Windows 10, версия 2004 и 20H2

  • Скрипт переименован в Windows 10 Sophia Script.
  • Скрипт переписан в виде модуля (около 270 функций) с файлом пресетов!
    • Теперь его необходимо запуска через .\Preset.ps1
    • Каждый «твик» в файле пресетов имеет соответствующую функцию для восстановления значения по умолчанию;
    • Создайте свой собственный файл с пресетами!
  • Незначительные изменения. Новые возможности не добавлены.

Windows 10 Setup Script представляет собой скрипт PowerShell, который следует запускать сразу после установки свежей копии Windows 10. Основная цель скрипта — предоставить администраторам широкие возможности для настройки операционной системы. Например, скрипт позволяет переопределить параметры конфиденциальности, удалить встроенные приложения и изменить системные настройки.

Примечание

Windows 10 Setup Script предназначен для опытных пользователей и задуман для запуска сразу после установки Windows 10. Так как скрипт вносит изменения в настройки и компоненты системы, настоятельно рекомендуется создать резервную копию перед запуском скрипта.

Как использовать Windows 10 Setup Script

Перед запуском скрипта нужно подготовиться. Во-первых нужно скачать скрипт (файл с расширением .ps1) для целевой версии Windows 10. Разработчик предлагает скрипты для Windows 10 версий 1903, 1909, 2004, 20H2 и Windows 10 LTSC 1809. Тестовая версия для Windows 10, версия 21H1 находится в разработке.

Windows 10 Setup Script — это продвинутый инструмент для опытных пользователей и системных администраторов, которые хотят изменить настройки новой установки Windows 10. Перед запуском сценария требуется некоторая подготовка, чтобы убедиться, что все настроено в соответствии с потребностями.

После того, как вы скачали и распаковали нужную версию, для настройки перед запуском необходимо открыть скрипт в текстовом редакторе или Visual Studio Code с расширением PowerShell. Хотя теоретически вы можете сразу запустить скрипт и использовать все значения по умолчанию, лучше предварительно посмотреть, какие изменения он будет вносить в систему.

Если вам сложно читать сам код скрипта, то можете ознакомиться с подробными комментариями. Скрипт для Windows 10 версии 2004 содержит в общей сложности 3488 строк, и их изучение займет некоторое время, даже если вы являетесь опытным пользователем.

С полным списком модификаций вы можете ознакомиться на странице проекта в GitHub. Приведем некоторые из них:

Название Что делает
Set up Privacy & Telemetry Настройка параметров конфиденциальности и телеметрии
Turn off diagnostics tracking scheduled tasks Отключение запланированных заданий диагностического отслеживания
Set up UI & Personalization Настройка интерфейса и персонализация
Uninstall OneDrive «correctly» «Корректное» удаление OneDrive
Change %TEMP% environment variable path to %SystemDrive%\Temp Изменение пути переменной среды %TEMP% на %SystemDrive%\Temp
Change location of the user folders programmatically (without moving user files) within interactive menu using up/down arrows and Enter key to make a selection Изменение расположения пользовательских папок программно (без перемещения файлов пользователя) в интерактивном меню с помощью стрелок вверх/вниз и клавиши Enter
Uninstall UWP apps from all accounts with exception apps list with pop-up form written in WPF Удаление приложений UWP из всех учетных записей с учетом исключений с помощью всплывающей формы, написанной на WPF
Turn off Windows features Отключение функций Windows
Remove Windows capabilities with pop-up form written in WPF Удаление возможностей Windows с помощью всплывающей формы, написанной на WPF
Create a Windows cleaning up task in the Task Scheduler Создание задачи очистки Windows в Планировщике заданий
Unpin all Start menu tiles Открепление всех плиток меню Пуск
Pin shortcuts to Start menu using syspin.exe Закрепить ярлыки в меню «Пуск» с помощью syspin.exe
Three shortcuts are preconfigured to be pinned: Control Panel, «old style» Devices and Printers, and Command Prompt Предварительно настроены для закрепления три ярлыка: Панель управления, «Устройства и принтеры» и Командная строка
Turn on Controlled folder access and add protected folders using dialog menu Включение контролируемого доступа к папкам и добавление защищаемых папок с помощью диалогового меню
Add exclusion folder from Microsoft Defender Antivirus scanning using dialog menu Добавление папки исключения для сканера антивируса Microsoft Defender с помощью диалогового меню
Add exclusion file from Microsoft Defender Antivirus scanning using dialog menu Добавление файла исключения для сканера антивируса Microsoft Defender с помощью диалогового меню
Refresh desktop icons, environment variables and taskbar without restarting File Explorer Обновление значков рабочего стола, переменных сред и панели задач без перезапуска проводника

Используйте символ комментариев # для включения или отключения определенных настроек в скрипте. Просто поместите их перед командами, чтобы пропустить их при запуске скрипта. После внесения изменений сохраните скрипт.

Затем запустите скрипт в системе. Для этого необходимо настроить политику исключения, поскольку в противном случае Windows 10 откажется запускать скрипт.

  • Откройте командную строку PowerShell с повышенными привилегиями, например путем отображения меню администратора с помощью комбинации Windows + X и выбора опции Windows PowerShell (администратор).
  • Выполните команду:
  • После этого запустите сценарий PowerShell или Start.cmd от имени администратора.
  • Программа может предлагать некоторые варианты выбора, например список приложений, которые нужно удалить, в зависимости от вашей конфигурации скрипта.

А вы используете инструменты для управления параметрами конфиденциальности?

Настройка сети с помощью 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.

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

get-command -module NetTCPIP

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

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

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

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

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

Get-NetAdapter -Name «Ethernet0»

Get-NetAdapter -InterfaceIndex 8

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

Rename-NetAdapter -Name Ethernet0 -NewName LAN

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

Get-NetAdapter -InterfaceIndex 13| Disable-NetAdapter

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

Enable-NetAdapter -InterfaceDescription “Hyper-V Virtual Ethernet Adapter»

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

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

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

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

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

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

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

Get-NetIPConfiguration -InterfaceAlias Ethernet0

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

Get-NetIPConfiguration -InterfaceAlias Ethernet0 -Detailed

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

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

(Get-NetAdapter -Name ethernet0 | Get-NetIPAddress).IPv4Address

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

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

New-NetIPAddress –IPAddress 192.168.1.80 -DefaultGateway 192.168.1.1 -PrefixLength 24 -InterfaceIndex 8

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

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

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

Set-NetIPAddress -InterfaceIndex 8 -IPAddress 192.168.1.90

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

Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Disabled

Для просмотра таблицы маршрутизации используется командлет Get-NetRoute . Чтобы добавить новый маршрут, используется New-NetRoute:

New-NetRoute -DestinationPrefix «0.0.0.0/0» -NextHop «192.168.0.1» -InterfaceIndex 8

Отключим IPv6 протокол для сетевого интерфейса:

Get-NetAdapterBinding -InterfaceAlias Ethernet0 | Set-NetAdapterBinding -Enabled:$false -ComponentID ms_tcpip6

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 сервера, выполните команду:

Set-NetIPInterface -InterfaceAlias Ethernet0 -Dhcp Enabled

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

Set-DnsClientServerAddress –InterfaceIndex 8 -ResetServerAddresses

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

Restart-NetAdapter -InterfaceAlias Ethernet0

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

Set-NetIPInterface -InterfaceAlias Ethernet0| Remove-NetRoute -Confirm:$false

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

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

Как написать скрипт Windows для изменения настроек сети на лету

На этой неделе я наткнулся на интересную проблему. Во многих офисах или рабочих средах может потребоваться переопределить параметры сети для подключения к различным сетям. Например, некоторые люди берут свои ноутбуки с собой и имеют статический IP-адрес, настроенный специально для этого компьютера. Однако, поскольку рабочая сеть обычно является DHCP, для этого требуется, чтобы человек продолжал изменять сетевые настройки между статическим IP или автоматическим DHCP в зависимости от того, где они находятся.

Более распространенная проблема — для инженеров или ИТ-специалистов, которым часто необходимо подключаться к устройствам или компьютерам в небольшой сети внутри здания. Чтобы подключиться к этой изолированной сети, вам нужно изменить настройки сети на статический IP. Позже, когда вы снова подключитесь к корпоративной сети, он снова вернется к DHCP.

Я оказывался в этой ситуации достаточно часто и так устал от просмотра сетевой карты, открытия настроек IP и внесения этих изменений, что я решил, что пришло время собрать сценарий VB, который будет делать все это в одном или два клика. Если вы следовали моим статьям по программированию, то знаете, что я люблю сценарии VB. Я однажды использовал его, чтобы создать одержимый компьютер

, а также используется для автоматизации Microsoft SyncToy

для резервного копирования данных.

Эту задачу также можно выполнить с помощью сценария VB, и даже можно сделать его достаточно гибким, чтобы он мог принимать пользовательский ввод для статического IP-адреса. В этой статье я покажу вам, как это сделать, в трех разделах.

Создание сценария изменения настроек сети

Есть три основных задачи, которые вам нужно выполнить с помощью скрипта, чтобы создать это маленькое приложение для переключения настроек сети. Первый — использовать скрипт для создания статических настроек IP. Следующее — придумать скрипт для включения DHCP. Наконец, последнее — спросить пользователя, какую задачу он хочет выполнить, а затем использовать эту обратную связь для ее выполнения.

VB Script для установки статических настроек IP

Помните, что следующие скрипты должны быть сохранены в виде текстового файла с расширением .wsf для работы на ПК с Windows. Следующий скрипт изменит ваши сетевые настройки на статический IP с определенной маской подсети и шлюзом по умолчанию со всеми тремя жестко запрограммированными в скрипте.

Для всех примеров кода, перечисленных в этой статье, обязательно добавьте «» в начале и «в конце», иначе код не запустится.
Вот скрипт статического изменения IP:

Этот сценарий использует службу Windows WMI в Windows для достижения цели изменения настроек. Вы можете видеть три фиксированные переменные массива, загруженные с IP-адресами, и затем, где скрипт проверяет активную «активированную» сетевую карту. Затем он использует методы «EnableStatic» и «SetGateways» для внесения необходимых изменений. Когда я запускаю сценарий в моей домашней сети (где мне требуется DHCP), вы можете видеть, где сценарий успешно изменил настройки моего адаптера, и я потерял подключение к Интернету.

Доказав, что часть сценария со статическим IP-адресом работает, пришло время написать сценарий, который установит для адаптера DHCP, чтобы он автоматически определял сетевой IP-адрес. Вот сценарий, который вы можете использовать для этого.

Как видите, этот скрипт намного проще. Он также использует WMI, но единственной требуемой функцией является «EnableDHCP». Это выполняется на текущем включенном сетевом адаптере. После сохранения и запуска этого сценария настройки моей карты адаптера изменились на DHCP, и мое интернет-соединение снова заработало.

Итак, теперь, когда у вас есть код для выполнения обоих важных действий, следующей частью этого трюка будет получение информации от пользователя, чтобы точно определить, какой статический IP-адрес ему нужен. Чтобы снова включить DHCP, вы можете потребовать от пользователя ввести слово «АВТО» для автоматического определения IP.
Вот как выглядит этот новый, полный скрипт, включающий два скрипта выше.

Этот скрипт использует функцию InputBox для получения статического IP-адреса или команды «AUTO» от пользователя.

Если в поле введено что-либо кроме «AUTO», это будет использоваться в качестве статической строки IP в разделе кода, который использует WMI для установки статических настроек IP для сетевого адаптера. Также есть проверка на «0», подтверждающая, что все прошло хорошо.

Проверив настройки моей сетевой карты после запуска скрипта, я подтвердил, что скрипт действительно изменил настройки статического IP-адреса.

Теперь протестировать скрипт AUTO. Ввод AUTO удовлетворяет первому условию в проверке оператора «IF» для AUTO. Это запускает альтернативный скрипт, который включает DHCP.

После этого я вошел в настройки адаптера и, конечно же, вернул ему значение «Получить IP-адрес автоматически».

Хотя это может быть достаточно простой задачей, чтобы зайти в настройки вашей сетевой карты и перейти на статический или DHCP, если вам придется делать это очень часто, это может стать настоящей болью. Вы можете сделать это из командной строки, используя «netsh», но опять же, вам нужно запомнить синтаксис команды.

Использование приведенного выше сценария позволяет вам создать быструю и простую утилиту, которую вы можете использовать в любое время для переключения сетевых настроек на лету.

Думаешь, ты мог бы попробовать этот скрипт Windows? Любые другие идеи, чтобы настроить его и сделать его еще лучше? Поделитесь своими мыслями и предложениями в разделе комментариев ниже.

Изображение предоставлено: двоичные коды через Shutterstock

Читайте также:  Система постоянно перезагружается при загрузке windows
Оцените статью