Скрипт настройка windows 10 после установки

Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 19041), да все руки не доходили. Возможно, он бу...

Время прочтения
2 мин

Просмотры 157K

image
Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 19041), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части. Конечно, будет проблематично описать все пункты настройки, но постараюсь выделить самое важное.

Если кому-то интересно, то добро пожаловать под кат.

Поддерживаемые версии

Основные функции

  • Настройка уровеня телеметрии и конфиденциальности;
  • Отключить задачи диагностического отслеживания;
  • Настроить интерфейс;
  • Удалить «правильно» OneDrive;
  • Интерактивные меню;
  • Изменить путь переменной среды для %TEMP% на %SystemDrive%Temp
  • Изменить программно расположение пользовательских папок с помощью интерактивного меню с использованием стрелок вверх/вниз и клавиши Enter для подтверждения выбора: «Рабочий стол», «Документы», «Загрузки», «Музыка», «Изображения, „Видео“
  • Удалить UWP-приложения (со списком исключений), используя всплывающую форму, написанную на WPF;
  • Удалить компоненты Windows;
  • Удалить дополнительные комопонеты Windows, используя всплывающую форму, написанную на WPF;
  • Создать задачу по очистке Windows в Планировщике задач;
  • Создать задачи по очистке в Планировщике задач: %SystemRoot%SoftwareDistributionDownload и %TEMP%
  • Открепить все ярлыки от начального экрана;
  • Закрепить ярлыки на начальном экране, используя syspin.exe
  • Включить контролируемый доступ к папкам и добавить защищенные папки, используя диалоговое меню;
  • Добавить папку в список исключений сканирования Microsoft Defender, используя диалоговое меню;
  • Добавить файлы в список исключений сканирования Microsoft Defender, используя диалоговое меню;
  • Обновить иконки рабочего стола, переменные среды, панель задач и симулировать нажатие F5 для обновления рабочего стола;
  • Множество твиков проводника, контекстного и прочего.

NB

  • PowerShell должен запускаться с повышенными правами (PowerShell ISE не поддерживается)
  • Установить соответствующую политику запуска скриптов PowerShell

Set-ExecutionPolicy -ExecutionPolicy Bypass -Force

Использование

  • Скачайте актуальную версию;
  • Распакуйте архив;
  • Убедитесь, что кодировка файла .ps1 „UTF-8 с BOM“;
  • Запустите Start.cmd от имени Администратора;
  • Незамедлительно начнется выполнение без запрос

FAQ

Читайте внимательно код. Некоторые функции представлены только как примеры. Мы должны понимать, что означает написанный код. Если вы не уверены, что делает скрипт, не запускате его.
Некоторые функции могут быть запущены на версиях LTSB/LTSC, а также на старых версиях Windows и PowerShell (Windows 7 или 8.1 то есть). Не рекомендуется использовать на x86-системах.

Скрипт

Github

Продолжение: https://habr.com/ru/post/521202/

Всего голосов 88: ↑77 и ↓11

+66

Комментарии
297

Altruist & PowerShell enthusiast

Windows 10 Sophia Script — это набор функций в виде PowerShell-модуля, созданный тонкой настройки Windows 10 и автоматизиции рутинных задач. 🏆

Давеча переписал скрипт в виде примитивного PowerShell-модуля на 6 000 строк для одноразового использования.

Основные претензии сообщества к предыдущей версии были две:

  • Никто не хотел лезть в 3 500 строк кода и комментировать тот или иной раздел, чтобы он в дальнейшем не выполнялся;
  • Если необходимо было откатиться на значение по умолчанию, никто не мог разобраться, что именно надо делать.

Теперь скрипт состоит из 2 файлов: непосредственно файл скрипта и файл пресета к нему. Файл скрипта разбит примерно на 270 функций: как для внесения изменений, так и его «отката». Теперь можно открыть файл пресета, где будет список из всех имеющихся функций (с подробным описанием каждой), и закомментировать строку с функций с помощью знака #, чтобы эта функция не выполнялась, или, наоборот, убрать знак # перед ней, чтобы функция выполнялась. Повторюсь: практически на каждую функцию есть функция на возврат в состояние по умолчанию, как «из коробки».

Язык интерфейса консоли определяется автоматически по локализации вашей ОС.

Поддерживаемые версии

Windows 10 Sophia Script поддерживает только актуальные версии Windows 10: 2004 (20H1) и 2009 (20H2), x64, так как это по сути одна и та же версия. Возможно, чуть позже можно то же самое провернуть и со скриптом, написанным для LTSC (1809), так как эта версия Windows 10 достаточно популярна. Пока что для прочих версий можно использовать предыдущую версию скрипта 4.x.

Напомню основные функции.

Основные функции

  • Настройка уровня телеметрии и конфиденциальности;
  • Отключить задачи диагностического отслеживания;
  • Настроить интерфейс;
  • Удалить «правильно» OneDrive;
  • Изменить путь переменной среды для% TEMP% на% SystemDriv% Temp
  • Изменить программно расположение пользовательских папо; Рабочий сто; Документ; Загрузк; Музык; Изображени; Виде; с помощью интерактивного меню с использованием стрелок вверх/вниз и клавиши Enter для подтверждения выбора;
  • Удалить UWP-приложения (со списком исключений), используя всплывающую форму, написанную на WPF;
  • Удалить компоненты Windows;
  • Установить и настроить WSL;
  • Отключить дополнительные компоненты Windows, используя всплывающую форму, написанную на WPF;
  • Создать задачу в Планировщике задач по очистке неиспользуемых файлов и обновлений Window; За минуту до выполнения задачи всплывает тостовое уведомление;
  • Создать задачи в Планировщике задач по очистке папок %SystemRoo% SoftwareDistributionDownload и %TEMP%
  • Открепить все ярлыки от начального экрана;
  • Закрепить ярлыки на начальном экране, используя syspin.exe
  • Включить контролируемый доступ к папкам и добавить защищенные папки, используя диалоговое меню;
  • Добавить папку в список исключений сканирования Microsoft Defender, используя диалоговое меню;
  • Добавить файлы в список исключений сканирования Microsoft Defender, используя диалоговое меню;
  • Обновить иконки рабочего стола, переменные среды, панель задач и симулировать нажатие F5 для обновления рабочего стола;
  • Множество твиков проводника, контекстного и прочего.

С полным списком функций можно ознакомиться в файле пресета.

Скриншоты

Работа скрипта в действии

Знаю: почему-то записалось немного дерганным…

Nota bene

  • Перед выполнением стоит еще раз прочитать раздел на GitHub «Before running».

Использование

  • Скачайте актуальную версию;
  • Настройте файл пресета под себя, закомментировав или раскомментировав функции;
  • Установите политику выполнения скриптов в PowerShell Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
  • Запустите скрипт с помощью .Preset.ps1

Сторонние обзоры скрипта

Немного устаревшее видео (с привязкой ко времени) от Chris Titus Tech: )

  • comss.ru
  • habr.com
  • neowin.net
  • ghacks.net
  • deskmodder.de

Скачать с GitHub

Помогите добить до 2 000 звезд на GitHub. :D

P. S. Пожалуйста, воздержитесь от сравнивания с Win 10 Tweaker. Трояны я обсуждать и сравнивать с этим проектом не желаю.

P. P. S.

Для тех, кто хочет пойти дальше: мы ищем человека, знающего C#, чтобы помочь дописать графическую оболочку к модулю. Ранний образец, основанный на скетчах.

Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 18362), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части.

Конечно, будет проблематично описать все пункты настройки, но постараюсь выделить самое важное.

Если кому-то интересно, то добро пожаловать по кат.

Вступление

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

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

Основные функции

  • Отключить службы диагностического отслеживания
  • Множество твиков Проводника
  • Выбрать режим Windows по умолчанию
  • Выбрать режим приложения по умолчанию
  • Изменить путь переменной среды для временных файлов на $env:SystemDriveTemp
  • Включить дополнительную информацию при выводе BSoD
  • Отключить Windows Defender SmartScreen в Microsoft Edge
  • Запретить отключение Ethernet-адаптера для экономии энергии для стационарного ПК
  • Удалить все UWP-приложения из всех учетных записей, кроме
  • Удалить все UWP-приложения из системной учетной записи, кроме
  • Отключить компоненты
  • Удалить OneDrive
  • Создать в Планировщике задач задачу по запуску очистки диска
  • Создать в Планировщике задач задачу по очистке папки «$env:SystemRootSoftwareDistributionDownload»
  • Создать в Планировщике задач очистки папки $env:TEMP
  • Запретить стандартным приложениям работать в фоновом режиме, кроме
  • Включить контролируемый доступ к папкам и добавить защищенные папки
  • Отключить пользовательские службы
  • Создать ярлык старого формата для «Устройства и принтеры»
  • Переопределить расположение папок «Рабочий стол», «Документы», «Загрузки», «Музыка», «Изображения», «Видео»
  • Обновить иконки рабочего стола, переменные среды и панель задач без перезапуска «Проводника»

Скрипт

Github

Использование

  • Если будете сохранять в файл .ps1, То следует изменить кодировку на «UTF-8 с BOM»

или

  • Скопировать код целиком и вставить в PowerShell ISE

NB

  • PowerShell и PowerShell ISE должны запускаться с повышенными правами
  • Установить соответствующую политику запуска скриптов PowerShell
Set-ExecutionPolicy Unrestricted -Force

Источник: habr.com

# Remove all text from the current display
# Очистить экран
Clear-Host
# Сlear $Error variable
# Очистка переменной $Error
$Error.Clear()
# Get information about the current culture settings
# Получить сведения о параметрах текущей культуры
IF ((Get-Culture).Name -eq "ru-RU")
{
	$RU = $true
}
# Turn off diagnostics tracking services
# Отключить службы диагностического отслеживания
$services = @(
	# Connected Devices Platform service
	# Служба платформы подключенных устройств
	"CDPSvc",
	# Connected User Experiences and Telemetry
	# Функциональные возможности для подключенных пользователей и телеметрия
	"DiagTrack",
	# Data Usage
	# Использование данных
	"DusmSvc",
	# SSDP Discovery
	# Обнаружение SSDP
	"SSDPSRV"
)
Get-Service -Name $services | Stop-Service -Force
Get-Service -Name $services | Set-Service -StartupType Disabled
# Turn off the Autologger session at the next computer restart
# Отключить сборщик AutoLogger при следующем запуске ПК
Update-AutologgerConfig -Name AutoLogger-Diagtrack-Listener -Start 0
# Turn off the SQMLogger session at the next computer restart
# Отключить сборщик SQMLogger при следующем запуске ПК
Update-AutologgerConfig -Name SQMLogger -Start 0
# Set the operating system diagnostic data level to "Basic"
# Установить уровень отправляемых диагностических сведений на "Базовый"
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesDataCollection -Name AllowTelemetry -Value 1 -Force
# Turn off Windows Error Reporting
# Отключить отчеты об ошибках Windows для всех пользователей
New-ItemProperty -Path "HKLM:SoftwareMicrosoftWindowsWindows Error Reporting" -Name Disabled -Value 1 -Force
# Change Windows Feedback frequency to "Never"
# Изменить частоту формирования отзывов на "Никогда"
IF (-not (Test-Path -Path HKCU:SoftwareMicrosoftSiufRules))
{
	New-Item -Path HKCU:SoftwareMicrosoftSiufRules -Force
}
New-ItemProperty -Path HKCU:SoftwareMicrosoftSiufRules -Name NumberOfSIUFInPeriod -Value 0 -Force
# Turn off diagnostics tracking scheduled tasks
# Отключить задачи диагностического отслеживания
$tasks = @(
	"ProgramDataUpdater",
	"Microsoft Compatibility Appraiser",
	"Microsoft-Windows-DiskDiagnosticDataCollector",
	"TempSignedLicenseExchange",
	"MapsToastTask",
	"DmClient",
	"FODCleanupTask",
	"DmClientOnScenarioDownload",
	"BgTaskRegistrationMaintenanceTask",
	"File History (maintenance mode)",
	"WinSAT",
	"UsbCeip",
	"Consolidator",
	"Proxy",
	"MNO Metadata Parser",
	"NetworkStateChangeTask",
	"GatherNetworkInfo",
	"XblGameSaveTask",
	"EnableLicenseAcquisition",
	"QueueReporting",
	"FamilySafetyMonitor",
	"FamilySafetyRefreshTask"
)
Get-ScheduledTask -TaskName $tasks | Disable-ScheduledTask
# Turn off "The Windows Filtering Platform has blocked a connection" message
# Отключить в "Журналах Windows/Безопасность" сообщение "Платформа фильтрации IP-пакетов Windows разрешила подключение"
auditpol /set /subcategory:"{0CCE9226-69AE-11D9-BED3-505054503030}" /success:disable /failure:disable
# Set File Explorer to open to This PC by default
# Открывать "Этот компьютер" в Проводнике
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name LaunchTo -Value 1 -Force
# Show Hidden Files, Folders, and Drives
# Показывать скрытые файлы, папки и диски
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name Hidden -Value 1 -Force
# Show File Name Extensions
# Показывать расширения для зарегистрированных типов файлов
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name HideFileExt -Value 0 -Force
# Hide Task View button on taskbar
# Не показывать кнопку Просмотра задач
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name ShowTaskViewButton -Value 0 -Force
# Show folder merge conflicts
# Не скрывать конфликт слияния папок
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name HideMergeConflicts -Value 0 -Force
# Turn off Snap Assist
# Не показывать при прикреплении окна, что можно прикрепить рядом с ним
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name SnapAssist -Value 0 -Force
# Turn off check boxes to select items
# Отключить флажки для выбора элементов
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name AutoCheckSelect -Value 0 -Force
# Show seconds on taskbar clock
# Включить отображение секунд в системных часах на панели задач
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name ShowSecondsInSystemClock -Value 1 -Force
# Hide People button on the taskbar
# Не показывать панель "Люди" на панели задач
IF (-not (Test-Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedPeople))
{
	New-Item -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedPeople -Force
}
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvancedPeople -Name PeopleBand -Value 0 -Force
# Hide all folders in the navigation pane
# Не отображать все папки в области навигации
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name NavPaneShowAllFolders -Value 0 -Force
# Turn on acrylic taskbar transparency
# Включить прозрачную панель задач
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvanced -Name UseOLEDTaskbarTransparency -Value 1 -Force
# Turn off app launch tracking to improve Start menu and search results
# Не разрешать Windows отслеживать запуски приложений для улучшения меню "Пуск" и результатов поиска и не показывать недавно добавленные приложения
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name Start_TrackProgs -Value 0 -Force
# Отобразить "Этот компьютер" на рабочем столе
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerHideDesktopIconsNewStartPanel -Name "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" -Value 0 -Force
# Show more details in file transfer dialog
# Развернуть диалог переноса файлов
IF (-not (Test-Path -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerOperationStatusManager))
{
	New-Item -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerOperationStatusManager -Force
}
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerOperationStatusManager -Name EnthusiastMode -Value 1 -Force
# Turn off AutoPlay for all media and devices
# Отключить автозапуск с внешних носителей
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAutoplayHandlers -Name DisableAutoplay -Value 1 -Force
# Turn off the "- Shortcut" name extension for new shortcuts
# He дoбaвлять "- яpлык" для coздaвaeмыx яpлыкoв
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorer -Name link -PropertyType Binary -Value ([byte[]](00, 00, 00, 00)) -Force
# Turn off SmartScreen for apps and files
# Отключить SmartScreen для приложений и файлов
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionExplorer -Name SmartScreenEnabled -PropertyType String -Value Off -Force
# Remove the "Previous Versions" tab from properties context menu
# Отключить отображение вкладки "Предыдущие версии" в свойствах файлов и папок
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionExplorer -Name NoPreviousVersionsPage -Value 1 -Force
# Always show all icons in the notification area
# Всегда отображать все значки в области уведомлений
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorer -Name EnableAutoTray -Value 0 -Force
# Set the Control Panel view by large icons
# Установить крупные значки в панели управления
IF (-not (Test-Path -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerControlPanel))
{
	New-Item -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerControlPanel -Force
}
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerControlPanel -Name AllItemsIconView -Value 0 -Force
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerControlPanel -Name StartupPage -Value 1 -Force
# Remove 3D Objects folder in "This PC" and in the navigation pane
# Скрыть папку "Объемные объекты" из "Этот компьютер" и на панели быстрого доступа
IF (-not (Test-Path -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{31C0DD25-9439-4F12-BF41-7FF4EDA38722}PropertyBag"))
{
	New-Item -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{31C0DD25-9439-4F12-BF41-7FF4EDA38722}PropertyBag" -Force
}
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{31C0DD25-9439-4F12-BF41-7FF4EDA38722}PropertyBag" -Name ThisPCPolicy -PropertyType String -Value Hide -Force
# Make the "Open", "Print", "Edit" context menu items available, when more than 15 selected
# Сделать доступными элементы контекстного меню "Открыть", "Изменить" и "Печать" при выделении более 15 элементов
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorer -Name MultipleInvokePromptMinimum -Value 300 -Force
# Hide "Frequent folders" in Quick access
# Не показывать недавно используемые папки на панели быстрого доступа
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorer -Name ShowFrequent -Value 0 -Force
# Hide "Recent files" in Quick access
# Не показывать недавно использовавшиеся файлы на панели быстрого доступа
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorer -Name ShowRecent -Value 0 -Force
# Turn off creation of an Edge shortcut on the desktop for each user profile
# Отключить создание ярлыка Edge на рабочем столе для каждого профиля пользователя пользователя
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionExplorer -Name DisableEdgeDesktopShortcutCreation -Value 1 -Force
# Turn on tip, trick, and suggestions as you use Windows
# Показывать советы, подсказки и рекомендации при использованию Windows
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionContentDeliveryManager -Name SubscribedContent-338389Enabled -Value 1 -Force
# Turn on Storage Sense to automatically free up space
# Включить Память устройства для автоматического освобождения места
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionStorageSenseParametersStoragePolicy -Name 01 -Value 1 -Force
# Run Storage Sense every month
# Запускать контроль памяти каждый месяц
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionStorageSenseParametersStoragePolicy -Name 2048 -Value 30 -Force
# Delete temporary files that apps aren't using
# Удалять временные файлы, не используемые в приложениях
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionStorageSenseParametersStoragePolicy -Name 04 -Value 1 -Force
# Delete files in recycle bin if they have been there for over 30 days
# Удалять файлы, которые находятся в корзине более 30 дней
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionStorageSenseParametersStoragePolicy -Name 256 -Value 30 -Force
# Never delete files in "Downloads" folder
# Никогда не удалять файлы из папки "Загрузки"
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionStorageSenseParametersStoragePolicy -Name 512 -Value 0 -Force
# Turn off app suggestions on Start menu
# Не показывать рекомендации в меню "Пуск"
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionContentDeliveryManager -Name SubscribedContent-338388Enabled -Value 0 -Force
# Turn off suggested content in the Settings
# Не показывать рекомендуемое содержание в приложении "Параметры"
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionContentDeliveryManager -Name SubscribedContent-338393Enabled -Value 0 -Force
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionContentDeliveryManager -Name SubscribedContent-353694Enabled -Value 0 -Force
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionContentDeliveryManager -Name SubscribedContent-353696Enabled -Value 0 -Force
# Turn off automatic installing suggested apps
# Отключить автоматическую установку рекомендованных приложений
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionContentDeliveryManager -Name SilentInstalledAppsEnabled -Value 0 -Force
# Hide "Windows Ink Workspace" button in taskbar
# Скрыть кнопку Windows Ink Workspace на панели задач
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionPenWorkspace -Name PenWorkspaceButtonDesiredVisibility -Value 0 -Force
# Do not offer tailored experiences based on the diagnostic data setting
# Не предлагать персонализированныее возможности, основанные на выбранном параметре диагностических данных
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionPrivacy -Name TailoredExperiencesWithDiagnosticDataEnabled -Value 0 -Force
# Do not let apps on other devices open and message apps on this device, and vice versa
# Не разрешать приложениям на других устройствах запускать приложения и отправлять сообщения на этом устройстве и наоборот
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionCDP -Name RomeSdkChannelUserAuthzPolicy -Value 0 -Force
# Choose theme color for default Windows mode
# Выбрать режим Windows по умолчанию
IF ($RU)
{
	Write-Host "`nВыберите режим Windows по умолчанию, введя букву: "
	Write-Host "[L]ight " -ForegroundColor Yellow -NoNewline
	Write-Host "для светлого режима или " -NoNewline
	Write-Host "[D]ark " -ForegroundColor Yellow -NoNewline
	Write-Host "для тёмного."
	Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
}
else
{
	Write-Host "`nChoose theme color for default Windows mode by typing"
	Write-Host "[L]ight " -ForegroundColor Yellow -NoNewline
	Write-Host "for the light mode or " -NoNewline
	Write-Host "[D]ark " -ForegroundColor Yellow -NoNewline
	Write-Host "for the dark"
	Write-Host "`nPress Enter to skip" -NoNewline
}
Do
{
	$theme = Read-Host -Prompt " "
	IF ($theme -eq "L")
	{
		# Show color only on taskbar
		# Отображать цвет элементов только на панели задач
		New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionThemesPersonalize -Name ColorPrevalence -Value 0 -Force
		# Light Theme Color for Default Windows Mode
		# Режим Windows по умолчанию светлый
		New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionThemesPersonalize -Name SystemUsesLightTheme -Value 1 -Force
	}
	elseif ($theme -eq "D")
	{
		# Turn on the display of color on Start menu, taskbar, and action center
		# Отображать цвет элементов в меню "Пуск", на панели задач и в центре уведомлений
		New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionThemesPersonalize -Name ColorPrevalence -Value 1 -Force
		# Dark Theme Color for Default Windows Mode
		# Режим Windows по умолчанию темный
		New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionThemesPersonalize -Name SystemUsesLightTheme -Value 0 -Force
	}
	elseif ([string]::IsNullOrEmpty($theme))
	{
		break
	}
	else
	{
		IF ($RU)
		{
			Write-Host "`nНеправильная буква." -ForegroundColor Yellow
			Write-Host "Введите правильную букву: " -NoNewline
			Write-Host "[L]ight " -ForegroundColor Yellow -NoNewline
			Write-Host "для светлого режима или " -NoNewline
			Write-Host "[D]ark " -ForegroundColor Yellow -NoNewline
			Write-Host "для тёмного."
			Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
		}
		else
		{
			Write-Host "`nInvalid letter." -ForegroundColor Yellow
			Write-Host "Type the correct letter: " -NoNewline
			Write-Host "[L]ight " -ForegroundColor Yellow -NoNewline
			Write-Host "for the light mode or " -NoNewline
			Write-Host "[D]ark " -ForegroundColor Yellow -NoNewline
			Write-Host "for the dark."
			Write-Host "`nPress Enter to skip" -NoNewline
		}
	}
}
Until ($theme -eq "L" -or $theme -eq "D")
# Choose theme color for default app mode
# Выбрать режим приложения по умолчанию
IF ($RU)
{
	Write-Host "`nВыберите режим приложения по умолчанию, введя букву: "
	Write-Host "[L]ight " -ForegroundColor Yellow -NoNewline
	Write-Host "для светлого режима или " -NoNewline
	Write-Host "[D]ark " -ForegroundColor Yellow -NoNewline
	Write-Host "для тёмного."
	Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
}
else
{
	Write-Host "`nChoose theme color for default app mode by typing"
	Write-Host "[L]ight " -ForegroundColor Yellow -NoNewline
	Write-Host "for the light mode or " -NoNewline
	Write-Host "[D]ark " -ForegroundColor Yellow -NoNewline
	Write-Host "for the dark"
	Write-Host "`nPress Enter to skip" -NoNewline
}
Do
{
	$theme = Read-Host -Prompt " "
	IF ($theme -eq "L")
	{
		# Light theme color for default app mode
		# Режим приложений по умолчанию светлый
		New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionThemesPersonalize -Name AppsUseLightTheme -Value 1 -Force
	}
	IF ($theme -eq "D")
	{
		# Dark theme color for default app mode
		# Режим приложений по умолчанию темный
		New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionThemesPersonalize -Name AppsUseLightTheme -Value 0 -Force
	}
	elseif ([string]::IsNullOrEmpty($theme))
	{
		break
	}
	else
	{
		IF ($RU)
		{
			Write-Host "`nНеправильная буква." -ForegroundColor Yellow
			Write-Host "Введите правильную букву: " -NoNewline
			Write-Host "[L]ight " -ForegroundColor Yellow -NoNewline
			Write-Host "для светлого режима или " -NoNewline
			Write-Host "[D]ark " -ForegroundColor Yellow -NoNewline
			Write-Host "для тёмного."
			Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
		}
		else
		{
			Write-Host "`nInvalid letter." -ForegroundColor Yellow
			Write-Host "Type the correct letter: " -NoNewline
			Write-Host "[L]ight " -ForegroundColor Yellow -NoNewline
			Write-Host "for the light mode or " -NoNewline
			Write-Host "[D]ark " -ForegroundColor Yellow -NoNewline
			Write-Host "for the dark."
			Write-Host "`nPress Enter to skip" -NoNewline
		}
	}
}
Until ($theme -eq "L" -or $theme -eq "D")
# Turn off location for this device
# Отключить местоположение для этого устройства
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionCapabilityAccessManagerConsentStorelocation -Name Value -PropertyType String -Value Deny -Force
# Turn off thumbnail cache removal
# Отключить удаление кэша миниатюр
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionExplorerVolumeCachesThumbnail Cache" -Name Autorun -Value 0 -Force
New-ItemProperty -Path "HKLM:SOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionExplorerVolumeCachesThumbnail Cache" -Name Autorun -Value 0 -Force
# Turn off hibernate
# Отключить гибридный спящий режим
New-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlPower -Name HibernateEnabled -Value 0 -Force
# Change environment variable for $env:TEMP to $env:SystemDriveTemp
# Изменить путь переменной среды для временных файлов на $env:SystemDriveTemp
IF (-not (Test-Path -Path $env:SystemDriveTemp))
{
	New-Item -Path $env:SystemDriveTemp -ItemType Directory -Force
}
[Environment]::SetEnvironmentVariable("TMP", "$env:SystemDriveTemp", "User")
New-ItemProperty -Path HKCU:Environment -Name TMP -PropertyType ExpandString -Value %SystemDrive%Temp -Force
[Environment]::SetEnvironmentVariable("TEMP", "$env:SystemDriveTemp", "User")
New-ItemProperty -Path HKCU:Environment -Name TEMP -PropertyType ExpandString -Value %SystemDrive%Temp -Force
[Environment]::SetEnvironmentVariable("TMP", "$env:SystemDriveTemp", "Machine")
New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlSession ManagerEnvironment" -Name TMP -PropertyType ExpandString -Value %SystemDrive%Temp -Force
[Environment]::SetEnvironmentVariable("TEMP", "$env:SystemDriveTemp", "Machine")
New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlSession ManagerEnvironment" -Name TEMP -PropertyType ExpandString -Value %SystemDrive%Temp -Force
[Environment]::SetEnvironmentVariable("TMP", "$env:SystemDriveTemp", "Process")
[Environment]::SetEnvironmentVariable("TEMP", "$env:SystemDriveTemp", "Process")
# Turn on Win32 long paths
# Включить длинные пути Win32
New-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControlFileSystem -Name LongPathsEnabled -Value 1 -Force
# Group svchost.exe processes
# Группировать одинаковые службы в один процесс svhost.exe
$ram = (Get-CimInstance -ClassName Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum).Sum / 1kb
New-ItemProperty -Path HKLM:SYSTEMCurrentControlSetControl -Name SvcHostSplitThresholdInKB -Value $ram -Force
# Turn on Retpoline patch against Spectre v2
# Включить патч Retpoline против Spectre v2
New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlSession ManagerMemory Management" -Name FeatureSettingsOverride -Value 1024 -Force
New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlSession ManagerMemory Management" -Name FeatureSettingsOverrideMask -Value 1024 -Force
# Turn on the display of stop error information on the BSoD
# Включить дополнительную информацию при выводе BSoD
New-ItemProperty -Path HKLM:SystemCurrentControlSetControlCrashControl -Name DisplayParameters -Value 1 -Force
# Hide search box or search icon on taskbar
# Не показывать кнопку поиска
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionSearch -Name SearchboxTaskbarMode -Value 0 -Force
# Turn on recycle bin files delete confirmation
# Запрашивать подтверждение на удалении файлов из корзины
IF (-not (Test-Path -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer))
{
	New-Item -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer -Force
}
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer -Name ConfirmFileDelete -Value 1 -Force
# Do not preserve zone information
# Не хранить сведения о зоне происхождения вложенных файлов
IF (-not (Test-Path -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionPoliciesAttachments))
{
	New-Item -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionPoliciesAttachments -Force
}
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionPoliciesAttachments -Name SaveZoneInformation -Value 1 -Force
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesAttachments -Name SaveZoneInformation -Value 1 -Force
# Turn off Admin Approval Mode for administrators
# Отключить использование режима одобрения администратором для встроенной учетной записи администратора
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem -Name ConsentPromptBehaviorAdmin -Value 0 -Force
# Turn off user first sign-in animation
# Не показывать анимацию при первом входе в систему
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem -Name EnableFirstLogonAnimation -Value 0 -Force
# Turn on access to mapped drives from app running with elevated permissions with Admin Approval Mode enabled
# Включить доступ к сетевым дискам при включенном режиме одобрения администратором при доступе из программ, запущенных с повышенными правами
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem -Name EnableLinkedConnections -Value 1 -Force
# Turn off "Look for an app in the Microsoft Store" in "Open with" dialog
# Отключить поиск программ в Microsoft Store при открытии диалога "Открыть с помощью"
IF (-not (Test-Path -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsExplorer))
{
	New-Item -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsExplorer -Force
}
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsExplorer -Name NoUseStoreOpenWith -Value 1 -Force
# Turn on ribbon in File Explorer
# Включить отображение ленты проводника в развернутом виде
IF (-not (Test-Path -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerRibbon))
{
	New-Item -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerRibbon -Force
}
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerRibbon -Name MinimizedStateTabletModeOff -Value 0 -Force
# Turn off "New App Installed" notification
# Не показывать уведомление "Установлено новое приложение"
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsExplorer -Name NoNewAppAlert -Value 1 -Force
# Turn off recently added apps on Start Menu
# Не показывать недавно добавленные приложения в меню "Пуск"
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsExplorer -Name HideRecentlyAddedApps -Value 1 -Force
# Turn off Windows Game Recording and Broadcasting
# Отключить Запись и трансляции игр Windows
IF (-not (Test-Path -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsGameDVR))
{
	New-Item -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsGameDVR -Force
}
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsGameDVR -Name AllowgameDVR -Value 0 -Force
# Set download mode for delivery optization on "HTTP only"
# Отключить оптимизацию доставки для обновлений с других ПК
Get-Service -Name DoSvc | Stop-Service -Force
IF (-not (Test-Path -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsDeliveryOptimization))
{
	New-Item -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsDeliveryOptimization -Force
}
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsDeliveryOptimization -Name DODownloadMode -Value 0 -Force
# Always wait for the network at computer startup and logon
# Всегда ждать сеть при запуске и входе в систему
IF (-not (Test-Path -Path "HKLM:SOFTWAREPoliciesMicrosoftWindows NTCurrentVersionWinlogon"))
{
	New-Item -Path "HKLM:SOFTWAREPoliciesMicrosoftWindows NTCurrentVersionWinlogon" -Force
}
New-ItemProperty -Path "HKLM:SOFTWAREPoliciesMicrosoftWindows NTCurrentVersionWinlogon" -Name SyncForegroundPolicy -Value 1 -Force
# Do not allow apps to use advertising ID
# Не разрешать приложениям использовать идентификатор рекламы
New-ItemProperty -Path HKLM:SoftwareMicrosoftWindowsCurrentVersionAdvertisingInfo -Name Enabled -Value 0 -Force
# Turn off Cortana
# Отключить Cortana
IF (-not $RU)
{
	IF (-not (Test-Path -Path "HKLM:SOFTWAREPoliciesMicrosoftWindowsWindows Search"))
	{
		New-Item -Path "HKLM:SOFTWAREPoliciesMicrosoftWindowsWindows Search" -Force
	}
	New-ItemProperty -Path "HKLM:SOFTWAREPoliciesMicrosoftWindowsWindows Search" -Name AllowCortana -Value 0 -Force
}
# Turn off Windows Defender SmartScreen for Microsoft Edge
# Отключить Windows Defender SmartScreen в Microsoft Edge
$edge = (Get-AppxPackage "Microsoft.MicrosoftEdge").PackageFamilyName
IF (-not (Test-Path -Path "HKCU:SoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerStorage$edgeMicrosoftEdgePhishingFilter"))
{
	New-Item -Path "HKCU:SoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerStorage$edgeMicrosoftEdgePhishingFilter" -Force
}
New-ItemProperty -Path "HKCU:SoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerStorage$edgeMicrosoftEdgePhishingFilter" -Name EnabledV9 -Value 0 -Force
New-ItemProperty -Path "HKCU:SoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerStorage$edgeMicrosoftEdgePhishingFilter" -Name PreventOverride -Value 0 -Force
# Do not allow Microsoft Edge to start and load the Start and New Tab page at Windows startup and each time Microsoft Edge is closed
# Не разрешать Edge запускать и загружать страницу при загрузке Windows и каждый раз при закрытии Edge
IF (-not (Test-Path -Path HKLM:SOFTWAREPoliciesMicrosoftMicrosoftEdgeTabPreloader))
{
	New-Item -Path HKLM:SOFTWAREPoliciesMicrosoftMicrosoftEdgeTabPreloader -Force
}
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftMicrosoftEdgeTabPreloader -Name AllowTabPreloading -Value 0 -Force
# Do not allow Microsoft Edge to pre-launch at Windows startup, when the system is idle, and each time Microsoft Edge is closed
# Не разрешать предварительный запуск Edge при загрузке Windows, когда система простаивает, и каждый раз при закрытии Edge
IF (-not (Test-Path -Path HKLM:SOFTWAREPoliciesMicrosoftMicrosoftEdgeMain))
{
	New-Item -Path HKLM:SOFTWAREPoliciesMicrosoftMicrosoftEdgeMain -Force
}
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftMicrosoftEdgeMain -Name AllowPrelaunch -Value 0 -Force
# Do not allow Windows 10 to manage default printer
# Отключить управление принтером, используемым по умолчанию, со стороны Windows 10
New-ItemProperty -Path "HKCU:SoftwareMicrosoftWindows NTCurrentVersionWindows" -Name LegacyDefaultPrinterMode -Value 1 -Force
# Turn off JPEG desktop wallpaper import quality reduction
# Установка качества фона рабочего стола на 100 %
New-ItemProperty -Path "HKCU:Control PanelDesktop" -Name JPEGImportQuality -Value 100 -Force
# Turn off sticky Shift key after pressing 5 times
# Отключить залипание клавиши Shift после 5 нажатий
New-ItemProperty -Path "HKCU:Control PanelAccessibilityStickyKeys" -Name Flags -PropertyType String -Value 506 -Force
# Uninstall all UWP apps from all accounts except
# Удалить все UWP-приложения из всех учетных записей, кроме
$ExcludedApps = @(
	# iTunes
	"AppleInc.iTunes"
	# Intel UWP-panel
	# UWP-панель Intel
	"AppUp.IntelGraphicsControlPanel"
	"AppUp.IntelGraphicsExperience"
	# Microsoft Desktop App Installer
	"Microsoft.DesktopAppInstaller"
	# Extensions
	# Расширения
	"Microsoft.*Extension*"
	# Language pack
	# Языковой пакет
	"Microsoft.LanguageExperiencePack*"
	# Screen Sketch
	# Набросок на фрагменте экрана
	"Microsoft.ScreenSketch"
	# Photos
	# Фотографии
	"Microsoft.Windows.Photos"
	# Start
	# Меню "Пуск"
	"Microsoft.Windows.StartMenuExperienceHost"
	# NVIDIA Control Panel
	# Панель управления NVidia
	"NVIDIACorp.NVIDIAControlPanel"
	# Microsoft Store
	".*Store.*"
)
$OFS = "|"
Get-AppxPackage -PackageTypeFilter Bundle -AllUsers | Where-Object {$_.Name -cnotmatch $ExcludedApps} | Remove-AppxPackage -AllUsers
$OFS = " "
# Uninstall all UWP apps from all accounts except
# Удалить все UWP-приложения из системной учетной записи, кроме
$ExcludedApps = @(
	# Intel UWP-panel
	# UWP-панель Intel
	"AppUp.IntelGraphicsControlPanel"
	"AppUp.IntelGraphicsExperience"
	# Microsoft Desktop App Installer
	"Microsoft.DesktopAppInstaller"
	# Extensions
	# Расширения
	"Microsoft.*Extension*"
	# NVIDIA Control Panel
	# Панель управления NVidia
	"NVIDIACorp.NVIDIAControlPanel"
	# Microsoft Store
	".*Store.*"
)
$OFS = "|"
Get-AppxProvisionedPackage -Online | Where-Object -FilterScript {$_.DisplayName -cnotmatch $ExcludedApps} | Remove-AppxProvisionedPackage -Online
$OFS = " "
# Turn off Windows features
# Отключить компоненты
$features = @(
	# Windows Fax and Scan
	# Факсы и сканирование
	"FaxServicesClientPackage",
	# Legacy Components
	# Компоненты прежних версий
	"LegacyComponents",
	# Media Features
	# Компоненты работы с мультимедиа
	"MediaPlayback",
	# PowerShell 2.0
	"MicrosoftWindowsPowerShellV2",
	"MicrosoftWindowsPowershellV2Root",
	# Microsoft XPS Document Writer
	# Средство записи XPS-документов (Microsoft)
	"Printing-XPSServices-Features",
	# Microsoft Print to PDF
	# Печать в PDF (Майкрософт)
	"Printing-PrintToPDFServices-Features",
	# Work Folders Client
	# Клиент рабочих папок
	"WorkFolders-Client"
)
foreach ($feature in $features)
{
	Disable-WindowsOptionalFeature -Online -FeatureName $feature -NoRestart
}
# Uninstall Onedrive
# Удалить OneDrive
Stop-Process -Name OneDrive -Force -ErrorAction SilentlyContinue
Start-Process -FilePath "$env:SystemRootSysWOW64OneDriveSetup.exe" -ArgumentList "/uninstall" -Wait
Stop-Process -Name explorer
IF (-not (Test-Path -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsOneDrive))
{
	New-Item -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsOneDrive -Force
}
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsOneDrive -Name DisableFileSyncNGSC -Value 1 -Force
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsOneDrive -Name DisableFileSync -Value 1 -Force
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsOneDrive -Name DisableMeteredNetworkFileSync -Value 0 -Force
New-ItemProperty -Path HKLM:SOFTWAREPoliciesMicrosoftWindowsOneDrive -Name DisableLibrariesDefaultSaveToOneDrive -Value 1 -Force
New-ItemProperty -Path HKCU:SoftwareMicrosoftOneDrive -Name DisablePersonalSync -Value 1 -Force
Remove-ItemProperty -Path HKCU:Environment -Name OneDrive -Force -ErrorAction SilentlyContinue
Remove-Item -Path $env:USERPROFILEOneDrive -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path $env:LOCALAPPDATAMicrosoftOneDrive -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "$env:ProgramDataMicrosoft OneDrive" -Recurse -Force -ErrorAction SilentlyContinue
Unregister-ScheduledTask -TaskName *OneDrive* -Confirm:$false
# Turn on updates for other Microsoft products
# Включить автоматическое обновление для других продуктов Microsoft
(New-Object -ComObject Microsoft.Update.ServiceManager).AddService2("7971f918-a847-4430-9279-4a52d1efe18d", 7, "")
# Turn off Game Bar
# Отключить игровую панель
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionGameDVR -Name AppCaptureEnabled -Value 0 -Force
New-ItemProperty -Path HKCU:SystemGameConfigStore -Name GameDVR_Enabled -Value 0 -Force
# Turn off Game Mode
# Отключить игровой режим
New-ItemProperty -Path HKCU:SoftwareMicrosoftGameBar -Name AllowAutoGameMode -Value 0 -Force
# Turn off Game Bar tips
# Отключить подсказки игровой панели
New-ItemProperty -Path HKCU:SoftwareMicrosoftGameBar -Name ShowStartupPanel -Value 0 -Force
# Enable System Restore
# Включить восстановление системы
Enable-ComputerRestore -Drive $env:SystemDrive
Get-ScheduledTask -TaskName SR | Enable-ScheduledTask
Get-Service -Name swprv, vss | Set-Service -StartupType Manual
Get-Service -Name swprv, vss | Start-Service
Get-CimInstance -ClassName Win32_ShadowCopy | Remove-CimInstance
# Turn off Windows Script Host
# Отключить Windows Script Host
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows Script HostSettings" -Name Enabled -Value 0 -Force
# Create scheduled task with the disk cleanup tool in Task Scheduler. The task runs every 90 days
# Создать в Планировщике задач задачу по запуску очистки диска. Задача выполняется каждые 90 дней
$keys = @(
	# Delivery Optimization Files
	# Файлы оптимизации доставки
	"Delivery Optimization Files",
	# Device driver packages
	# Пакеты драйверов устройств
	"Device Driver Packages",
	# Previous Windows Installation(s)
	# Предыдущие установки Windows
	"Previous Installations",
	# Файлы журнала установки
	"Setup Log Files",
	# Temporary Setup Files
	"Temporary Setup Files",
	# Windows Update Cleanup
	# Очистка обновлений Windows
	"Update Cleanup",
	# Windows Defender Antivirus
	"Windows Defender",
	# Windows upgrade log files
	# Файлы журнала обновления Windows
	"Windows Upgrade Log Files")
foreach ($key in $keys)
{
	New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionExplorerVolumeCaches$key" -Name StateFlags1337 -Value 2 -Force
}
$action = New-ScheduledTaskAction -Execute "cleanmgr.exe" -Argument "/sagerun:1337"
$trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 90 -At 9am
$settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable
$principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -RunLevel Highest
$params = @{
	"TaskName"	=	"Update Cleanup"
	"Action"	=	$action
	"Trigger"	=	$trigger
	"Settings"	=	$settings
	"Principal"	=	$principal
}
Register-ScheduledTask @params -Force
# Create task to clean out the "$env:SystemRootSoftwareDistributionDownload" folder in Task Scheduler
# The task runs on Thursdays every 4 weeks
# Создать в Планировщике задач задачу по очистке папки "$env:SystemRootSoftwareDistributionDownload"
# Задача выполняется по четвергам каждую 4 неделю
$action = New-ScheduledTaskAction -Execute powershell.exe -Argument @"
	`$getservice = Get-Service -Name wuauserv
	`$getservice.WaitForStatus("Stopped", "01:00:00")
	Get-ChildItem -Path `$env:SystemRootSoftwareDistributionDownload -Recurse -Force | Remove-Item -Recurse -Force
"@
$trigger = New-JobTrigger -Weekly -WeeksInterval 4 -DaysOfWeek Thursday -At 9am
$settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable
$principal = New-ScheduledTaskPrincipal -UserId "NT AUTHORITYSYSTEM" -RunLevel Highest
$params = @{
	"TaskName"	=	"SoftwareDistribution"
	"Action"	=	$action
	"Trigger"	=	$trigger
	"Settings"	=	$settings
	"Principal"	=	$principal
}
Register-ScheduledTask @params -Force
# Create scheduled task with the $env:TEMP folder cleanup in Task Scheduler. The task runs every 62 days
# Создать в Планировщике задач очистки папки $env:TEMP. Задача выполняется каждые 62 дня
$action = New-ScheduledTaskAction -Execute powershell.exe -Argument @"
	Get-ChildItem -Path `$env:TEMP -Force -Recurse | Remove-Item -Force -Recurse
"@
$trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 62 -At 9am
$settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable
$principal = New-ScheduledTaskPrincipal -UserId "NT AUTHORITYSYSTEM" -RunLevel Highest
$params = @{
	"TaskName"	=	"Temp"
	"Action"	=	$action
	"Trigger"	=	$trigger
	"Settings"	=	$settings
	"Principal"	=	$principal
}
Register-ScheduledTask @params -Force
# Turn off default background apps except
# Запретить стандартным приложениям работать в фоновом режиме, кроме
$apps = @(
	# Content Delivery Manager
	"Microsoft.Windows.ContentDeliveryManager*"
	# Cortana
	"Microsoft.Windows.Cortana*"
	# Windows Security
	# Безопасность Windows
	"Microsoft.Windows.SecHealthUI*"
	# ShellExperienceHost
	"Microsoft.Windows.ShellExperienceHost*"
	# StartMenuExperienceHost
	"Microsoft.Windows.StartMenuExperienceHost*")
foreach ($app in $apps)
{
	Get-ChildItem -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionBackgroundAccessApplications -Exclude $apps |
	ForEach-Object -Process {
		New-ItemProperty -Path $_.PsPath -Name Disabled -Value 1 -Force
		New-ItemProperty -Path $_.PsPath -Name DisabledByUser -Value 1 -Force
	}
}
# Set power management scheme for desktop and laptop
# Установить схему управления питания для стационарного ПК и ноутбука
IF ((Get-CimInstance -ClassName Win32_ComputerSystem).PCSystemType -eq 1)
{
	# High performance for desktop
	# Высокая производительность для стационарного ПК
	powercfg /setactive SCHEME_MIN
}
IF ((Get-CimInstance -ClassName Win32_ComputerSystem).PCSystemType -eq 2)
{
	# Balanced for laptop
	# Сбалансированная для ноутбука
	powercfg /setactive SCHEME_BALANCED
}
# Turn on .NET 4 runtime for all apps
# Использовать последнюю установленную версию .NET Framework для всех приложений
New-ItemProperty -Path HKLM:SOFTWAREMicrosoft.NETFramework -Name OnlyUseLatestCLR -Value 1 -Force
New-ItemProperty -Path HKLM:SOFTWAREWow6432NodeMicrosoft.NETFramework -Name OnlyUseLatestCLR -Value 1 -Force
# Turn on Num Lock at startup
# Включить Num Lock при загрузке
New-ItemProperty -Path "Registry::HKEY_USERS.DEFAULTControl PanelKeyboard" -Name InitialKeyboardIndicators -PropertyType String -Value 2147483650 -Force
# Add folder to exclude from Windows Defender Antivirus scan
# Добавить папку в список исключений сканирования Защитника Windows
IF ($RU)
{
	Write-Host "`nВведите полные пути до файлов или папок, которые следует "
	Write-Host "исключить из списка сканирования Windows Defender."
	Write-Host "Пути должны быть разделены запятыми и взяты в кавычки." -ForegroundColor Yellow
	Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
}
else
{
	Write-Host "`nType the full paths to files or folders, which to exclude "
	Write-Host "from Windows Defender Antivirus Scan."
	Write-Host "The paths must be separated by commas and taken in quotes." -ForegroundColor Yellow
	Write-Host "`nPress Enter to skip" -NoNewline
}
function ExclusionPath
{
	[CmdletBinding()]
	Param
	(
		[Parameter(Mandatory = $True)]
		[string[]]$paths
	)
	$paths = $paths.Replace("`"", "").Split(",").Trim()
	Add-MpPreference -ExclusionPath $paths -Force
}
Do
{
	$paths = Read-Host -Prompt " "
	IF ($paths -match "`"")
	{
		ExclusionPath $paths
	}
	elseif ([string]::IsNullOrEmpty($paths))
	{
		break
	}
	else
	{
		IF ($RU)
		{
			Write-Host "`nПути не взяты в кавычки." -ForegroundColor Yellow
			Write-Host "Введите пути, взяв в кавычки и разделив запятыми."
			Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
		}
		else
		{
			Write-Host "`nThe paths hasn't been taken in quotes." -ForegroundColor Yellow
			Write-Host "Type the paths by quoting and separating by commas."
			Write-Host "`nPress Enter to skip" -NoNewline
		}
	}
}
Until ($paths -match "`"")
function Get-ResolvedPath
{
	param (
		[Parameter(ValueFromPipeline = 1)]
		$Path
	)
	(Get-Disk | Where-Object -FilterScript {$_.IsBoot -eq $false} | Get-Partition | Get-Volume | Where-Object -FilterScript {$null -ne $_.DriveLetter}).DriveLetter | ForEach-Object -Process {Join-Path ($_ + ":") $Path -Resolve -ErrorAction SilentlyContinue}
}
$folder = "ПрограммыПрочее" | Get-ResolvedPath
IF ($folder)
{
	Add-MpPreference -ExclusionPath $folder -Force
}
# Turn on Windows Defender Exploit Guard Network Protection
# Включить Защиту сети в Защитнике Windows
Set-MpPreference -EnableNetworkProtection Enabled
# Turn on Controlled folder access and add protected folders
# Включить контролируемый доступ к папкам и добавить защищенные папки
IF ($RU)
{
	Write-Host "`nВведите путь до папки, чтобы добавить в список защищенных папок."
	Write-Host "Пути должны быть разделены запятыми и взяты в кавычки." -ForegroundColor Yellow
	Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
}
else
{
	Write-Host "`nType folder path to add to protected folders list."
	Write-Host "The paths must be separated by commas and taken in quotes." -ForegroundColor Yellow
	Write-Host "`nPress Enter to skip" -NoNewline
}
function ControlledFolder
{
	[CmdletBinding()]
	Param
	(
		[Parameter(Mandatory = $True)]
		[string[]]$paths
	)
	Set-MpPreference -EnableControlledFolderAccess Enabled
	$paths = $paths.Replace("`"", "").Split(",").Trim()
	Add-MpPreference -ControlledFolderAccessProtectedFolders $paths
}
Do
{
	$paths = Read-Host -Prompt " "
	IF ($paths -match "`"")
	{
		ControlledFolder $paths
	}
	elseif ([string]::IsNullOrEmpty($paths))
	{
		break
	}
	else
	{
		IF ($RU)
		{
			Write-Host "`nПути не взяты в кавычки." -ForegroundColor Yellow
			Write-Host "Введите пути, взяв в кавычки и разделив запятыми."
			Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
		}
		else
		{
			Write-Host "`nThe paths hasn't been taken in quotes." -ForegroundColor Yellow
			Write-Host "Type the paths by quoting and separating by commas."
			Write-Host "`nPress Enter to skip" -NoNewline
		}
	}
}
Until ($paths -match "`"")
# Turn on Windows Defender PUA Protection
# Включить блокировки потенциально нежелательных приложений
Set-MpPreference -PUAProtection Enabled
# Turn on firewall & network protection
# Включить брандмауэр
Set-NetFirewallProfile -Enabled True
# Turn off F1 Help key
# Отключить справку по нажатию F1
IF (-not (Test-Path -Path "HKCU:SoftwareClassesTypelib{8cec5860-07a1-11d9-b15e-000d56bfe6ee}1.0win64"))
{
	New-Item -Path "HKCU:SoftwareClassesTypelib{8cec5860-07a1-11d9-b15e-000d56bfe6ee}1.0win64" -Force
}
New-ItemProperty -Path "HKCU:SoftwareClassesTypelib{8cec5860-07a1-11d9-b15e-000d56bfe6ee}1.0win64" -Name "(default)" -PropertyType String -Value "" -Force
# Show Task Manager details
# Раскрыть окно Диспетчера задач
$taskmgr = Get-Process -Name Taskmgr -ErrorAction SilentlyContinue
IF ($taskmgr)
{
	$taskmgr.CloseMainWindow()
}
$taskmgr = Start-Process -FilePath taskmgr.exe -WindowStyle Hidden -PassThru
Do
{
	Start-Sleep -Milliseconds 100
	$preferences = Get-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionTaskManager -Name Preferences -ErrorAction SilentlyContinue
}
Until ($preferences)
Stop-Process -Name $taskmgr -ErrorAction SilentlyContinue
$preferences.Preferences[28] = 0
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionTaskManager -Name Preferences -PropertyType Binary -Value $preferences.Preferences -Force
# Do not allow the computer to turn off the device to save power for desktop
# Запретить отключение Ethernet-адаптера для экономии энергии для стационарного ПК
IF ((Get-CimInstance -ClassName Win32_ComputerSystem).PCSystemType -eq 1)
{
	$adapter = Get-NetAdapter -Physical | Get-NetAdapterPowerManagement
	$adapter.AllowComputerToTurnOffDevice = "Disabled"
	$adapter | Set-NetAdapterPowerManagement
}
# Add "Extract" to MSI file type context menu
# Добавить пункт "Extract" для MSI в контекстное меню
IF (-not (Test-Path -Path Registry::HKEY_CLASSES_ROOTMsi.PackageshellExtractCommand))
{
	New-Item -Path Registry::HKEY_CLASSES_ROOTMsi.PackageshellExtractCommand -Force
}
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTMsi.PackageshellExtractCommand -Name "(default)" -PropertyType String -Value "msiexec.exe /a `"%1`" /qb TARGETDIR=`"%1 extracted`"" -Force
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTMsi.PackageshellExtract -Name MUIVerb -PropertyType String -Value "@shell32.dll,-31382" -Force
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTMsi.PackageshellExtract -Name Icon -PropertyType String -Value "shell32.dll,-16817" -Force
# Add "Run as different user" from context menu for .exe file type
# Добавить "Запуск от имени друго пользователя" в контекстное меню для .exe файлов
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTexefileshellrunasuser -Name "(default)" -PropertyType String -Value "@shell32.dll,-50944" -Force
Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOTexefileshellrunasuser -Name Extended -Force -ErrorAction SilentlyContinue
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTexefileshellrunasuser -Name SuppressionPolicyEx -PropertyType String -Value "{F211AA05-D4DF-4370-A2A0-9F19C09756A7}" -Force
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTexefileshellrunasusercommand -Name DelegateExecute -PropertyType String -Value "{ea72d00e-4960-42fa-ba92-7792a7944c1d}" -Force
# Add "Install" to CAB file type context menu
# Добавить пункт "Установить" для CAB-файлов в контекстном меню
IF (-not (Test-Path -Path Registry::HKEY_CLASSES_ROOTCABFolderShellRunAsCommand))
{
	New-Item -Path Registry::HKEY_CLASSES_ROOTCABFolderShellRunAsCommand -Force
}
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTCABFolderShellRunAsCommand -Name "(default)" -PropertyType String -Value "cmd /c DISM /Online /Add-Package /PackagePath:`"%1`" /NoRestart & pause" -Force
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTCABFolderShellRunAs -Name MUIVerb -PropertyType String -Value "@shell32.dll,-10210" -Force
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTCABFolderShellRunAs -Name HasLUAShield -PropertyType String -Value "" -Force
# Remove "Cast to Device" from context menu
# Удалить пункт "Передать на устройство" из контекстного меню
IF (-not (Test-Path -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionShell ExtensionsBlocked"))
{
	New-Item -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionShell ExtensionsBlocked" -Force
}
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionShell ExtensionsBlocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "Play to menu" -Force
# Remove "Share" from context menu
# Удалить пункт "Отправить" (поделиться) из контекстного меню
IF (-not (Test-Path -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionShell ExtensionsBlocked"))
{
	New-Item -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionShell ExtensionsBlocked" -Force
}
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionShell ExtensionsBlocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -PropertyType String -Value "" -Force
# Remove "Previous Versions" from file context menu
# Удалить пункт "Восстановить прежнюю версию" из контекстного меню
IF (-not (Test-Path -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionShell ExtensionsBlocked"))
{
	New-Item -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionShell ExtensionsBlocked" -Force
}
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionShell ExtensionsBlocked" -Name "{596AB062-B4D2-4215-9F74-E9109B0A8153}" -PropertyType String -Value "" -Force
# Remove "Edit with Paint 3D" from context menu
# Удалить пункт "Изменить с помощью Paint 3D" из контекстного меню
$exts = @(".bmp", ".gif", ".jpe", ".jpeg", ".jpg", ".png", ".tif", ".tiff")
foreach ($ext in $exts)
{
	New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOTSystemFileAssociations$extShell3D Edit" -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
}
# Remove "Include in Library" from context menu
# Удалить пункт "Добавить в библиотеку" из контекстного меню
New-ItemProperty -Path "Registry::HKEY_CLASSES_ROOTFoldershellexContextMenuHandlersLibrary Location" -Name "(default)" -PropertyType String -Value "-{3dad6c5d-2167-4cae-9914-f99e41c12cfa}" -Force
# Remove "Turn on BitLocker" from context menu
# Удалить пункт "Включить Bitlocker" из контекстного меню
IF (Get-WindowsEdition -Online | Where-Object -FilterScript {$_.Edition -eq "Professional" -or $_.Edition -eq "Enterprise"})
{
	New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTDriveshellencrypt-bde -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
	New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTDriveshellencrypt-bde-elev -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
	New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTDriveshellmanage-bde -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
	New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTDriveshellresume-bde -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
	New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTDriveshellresume-bde-elev -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
	New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTDriveshellunlock-bde -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
}
# Remove "Edit with Photos" from context menu
# Удалить пункт "Изменить с помощью приложения "Фотографии"" из контекстного меню
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTAppX43hnxtbyyps62jhe9sqpdzxn1790zetcShellShellEdit -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
# Remove "Create a new video" from Context Menu
# Удалить пункт "Создать новое видео" из контекстного меню
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTAppX43hnxtbyyps62jhe9sqpdzxn1790zetcShellShellCreateVideo -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
# Remove "Edit" from Context Menu
# Удалить пункт "Изменить" из контекстного меню
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTSystemFileAssociationsimageshelledit -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
# Remove "Print" from batch and cmd files context menu
# Удалить пункт "Печать" из контекстного меню для bat- и cmd-файлов
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTbatfileshellprint -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTcmdfileshellprint -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force
# Remove "Compressed (zipped) Folder" from context menu
# Удалить пункт "Сжатая ZIP-папка" из контекстного меню
Remove-Item -Path Registry::HKEY_CLASSES_ROOT.zipCompressedFolderShellNew -Force -ErrorAction SilentlyContinue
# Remove "Rich Text Document" from context menu
# Удалить пункт "Создать Документ в формате RTF" из контекстного меню
Remove-Item -Path Registry::HKEY_CLASSES_ROOT.rtfShellNew -Force -ErrorAction SilentlyContinue
# Remove "Bitmap image" from context menu
# Удалить пункт "Создать Точечный рисунок" из контекстного меню
Remove-Item -Path Registry::HKEY_CLASSES_ROOT.bmpShellNew -Force -ErrorAction SilentlyContinue
# Remove "Send to" from folder context menu
# Удалить пункт "Отправить" из контекстного меню папки
New-ItemProperty -Path Registry::HKEY_CLASSES_ROOTAllFilesystemObjectsshellexContextMenuHandlersSendTo -Name "(default)" -PropertyType String -Value "" -Force
# Set the default input method to the English language
# Установить метод ввода по умолчанию на английский язык
Set-WinDefaultInputMethodOverride "0409:00000409"
# Unpin Microsoft Edge and Microsoft Store from taskbar
# Открепить Microsoft Edge и Microsoft Store от панели задач
$Signature = @{
	Namespace = "WinAPI"
	Name = "GetStr"
	Language = "CSharp"
	MemberDefinition = @"
		[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
		public static extern IntPtr GetModuleHandle(string lpModuleName);
		[DllImport("user32.dll", CharSet = CharSet.Auto)]
		internal static extern int LoadString(IntPtr hInstance, uint uID, StringBuilder lpBuffer, int nBufferMax);
		public static string GetString(uint strId)
		{
			IntPtr intPtr = GetModuleHandle("shell32.dll");
			StringBuilder sb = new StringBuilder(255);
			LoadString(intPtr, strId, sb, sb.Capacity);
			return sb.ToString();
		}
"@
}
IF (-not ("WinAPI.GetStr" -as [type]))
{
	Add-Type @Signature -Using System.Text
}
$unpin = [WinAPI.GetStr]::GetString(5387)
$apps = (New-Object -ComObject Shell.Application).NameSpace("shell:::{4234d49b-0245-4df3-b780-3893943456e1}").Items()
$apps | Where-Object -FilterScript {$_.Path -like "Microsoft.MicrosoftEdge*"} | ForEach-Object -Process {$_.Verbs() | Where-Object -FilterScript {$_.Name -eq $unpin} | ForEach-Object -Process {$_.DoIt()}}
$apps | Where-Object -FilterScript {$_.Path -like "Microsoft.WindowsStore*"} | ForEach-Object -Process {$_.Verbs() | Where-Object -FilterScript {$_.Name -eq $unpin} | ForEach-Object -Process {$_.DoIt()}}
# Do not use sign-in info to automatically finish setting up device after an update or restart
# Не использовать данные для входа для автоматического завершения настройки устройства после перезапуска или обновления
$sid = (Get-CimInstance -ClassName Win32_UserAccount | Where-Object -FilterScript {$_.Name -eq "$env:USERNAME"}).SID
IF (-not (Test-Path -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserARSO$sid"))
{
	New-Item -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserARSO$sid" -Force
}
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserARSO$sid" -Name OptOut -Value 1 -Force
# Remove Microsoft Edge shortcut from the Desktop
# Удалить ярлык Microsoft Edge с рабочего стола
$value = Get-ItemPropertyValue -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name Desktop
Remove-Item -Path "$valueMicrosoft Edge.lnk" -Force -ErrorAction SilentlyContinue
# Turn off per-user services
# Отключить пользовательские службы
$services = @(
	# Contact Data
	# Служба контактных данных
	"PimIndexMaintenanceSvc_*",
	# User Data Storage
	# Служба хранения данных пользователя
	"UnistoreSvc_*",
	# User Data Access
	# Служба доступа к данным пользователя
	"UserDataSvc_*"
)
Get-Service -Name $services | Stop-Service -Force
New-ItemProperty -Path HKLM:SystemCurrentControlSetServicesPimIndexMaintenanceSvc -Name Start -Value 4 -Force
New-ItemProperty -Path HKLM:SystemCurrentControlSetServicesPimIndexMaintenanceSvc -Name UserServiceFlags -Value 0 -Force
New-ItemProperty -Path HKLM:SystemCurrentControlSetServicesUnistoreSvc -Name Start -Value 4 -Force
New-ItemProperty -Path HKLM:SystemCurrentControlSetServicesUnistoreSvc -Name UserServiceFlags -Value 0 -Force
New-ItemProperty -Path HKLM:SystemCurrentControlSetServicesUserDataSvc -Name Start -Value 4 -Force
New-ItemProperty -Path HKLM:SystemCurrentControlSetServicesUserDataSvc -Name UserServiceFlags -Value 0 -Force
# Let Windows try to fix apps so they're not blurry
# Разрешить Windows исправлять размытость в приложениях
New-ItemProperty -Path "HKCU:Control PanelDesktop" -Name EnablePerProcessSystemDPI -Value 1 -Force
# Remove printers
# Удалить принтеры
Remove-Printer -Name Fax, "Microsoft XPS Document Writer", "Microsoft Print to PDF" -ErrorAction SilentlyContinue
# Hide notification about sign in with Microsoft in the Windows Security
# Скрыть уведомление Защитника Windows об использовании аккаунта Microsoft
New-ItemProperty -Path "HKCU:SoftwareMicrosoftWindows Security HealthState" -Name AccountProtection_MicrosoftAccount_Disconnected -Value 1 -Force
# Hide notification about disabled Smartscreen for Microsoft Edge
# Скрыть уведомление Защитника Windows об отключенном фильтре SmartScreen для Microsoft Edge
New-ItemProperty -Path "HKCU:SoftwareMicrosoftWindows Security HealthState" -Name AppAndBrowser_EdgeSmartScreenOff -Value 0 -Force
# Remove Windows capabilities
# Удалить компоненты
$IncludedApps = @(
	# Microsoft Quick Assist
	# Быстрая поддержка (Майкрософт)
	"App.Support.QuickAssist*"
	# Windows Hello Face
	# Распознавание лиц Windows Hello
	"Hello.Face*"
	# Windows Media Player
	# Проигрыватель Windows Media
	"Media.WindowsMediaPlayer*"
)
$OFS = "|"
Get-WindowsCapability -Online | Where-Object -FilterScript {$_.Name -cmatch $IncludedApps} | Remove-WindowsCapability -Online
$OFS = " "
# Open shortcut to the Command Prompt from Start menu as Administrator
# Запускать ярлык к командной строке в меню "Пуск" от имени Администратора
$bytes = [System.IO.File]::ReadAllBytes("$env:APPDATAMicrosoftWindowsStart MenuProgramsSystem ToolsCommand Prompt.lnk")
$bytes[0x15] = $bytes[0x15] -bor 0x20
[System.IO.File]::WriteAllBytes("$env:APPDATAMicrosoftWindowsStart MenuProgramsSystem ToolsCommand Prompt.lnk", $bytes)
# Create old style shortcut for "Devices and Printers" in "$env:APPDATAMicrosoftWindowsStart MenuProgramsSystem Tools"
# Создать ярлык старого формата для "Устройства и принтеры" в "$env:APPDATAMicrosoftWindowsStart MenuProgramsSystem Tools"
$target = "control"
$linkname = (Get-ControlPanelItem | Where-Object -FilterScript {$_.CanonicalName -eq "Microsoft.DevicesAndPrinters"}).Name
$link = "$env:APPDATAMicrosoftWindowsStart MenuProgramsSystem Tools$linkname.lnk"
$shell = New-Object -ComObject Wscript.Shell
$shortcut = $shell.CreateShortcut($link)
$shortcut.TargetPath = $target
$shortcut.Arguments = "printers"
$shortCut.IconLocation = "$env:SystemRootsystem32DeviceCenter.dll"
$shortcut.Save()
# Import Start menu layout from pre-saved reg file
# Импорт настроенного макета меню "Пуск" из заготовленного reg-файла
Add-Type -AssemblyName System.Windows.Forms
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
# Initial directory "Downloads"
# Начальная папка "Загрузки"
$DownloadsFolder = Get-ItemPropertyValue -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}"
$OpenFileDialog.InitialDirectory = $DownloadsFolder
$OpenFileDialog.Multiselect = $false
IF ($RU)
{
	$OpenFileDialog.Filter = "Файлы реестра (*.reg)|*.reg|Все файлы (*.*)|*.*"
}
else
{
	$OpenFileDialog.Filter = "Registration Files (*.reg)|*.reg|All Files (*.*)|*.*"
}
$OpenFileDialog.ShowHelp = $true
$OpenFileDialog.ShowDialog()
IF ($OpenFileDialog.FileName)
{
	Remove-Item -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionCloudStoreStoreCacheDefaultAccount -Recurse -Force
	regedit.exe /s $OpenFileDialog.FileName
}
Else
{
	# Unpin all Start Menu tiles
	# Открепить все ярлыки от начального экрана
	$tilecollection = Get-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionCloudStoreStoreCacheDefaultAccount*start.tilegrid`$windows.data.curatedtilecollection.tilecollectionCurrent
	$unpin = $tilecollection.Data[0..25] + ([byte[]](202,50,0,226,44,1,1,0,0))
	New-ItemProperty -Path $tilecollection.PSPath -Name Data -PropertyType Binary -Value $unpin -Force
	# Show "Explorer" and "Settings" folders on Start menu
	# Отобразить папки "Проводник" и "Параметры" в меню "Пуск"
	$items = @("File Explorer", "Settings")
	$startmenu = Get-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionCloudStoreStoreCacheDefaultAccount*windows.data.unifiedtile.startglobalpropertiesCurrent"
	$data = $startmenu.Data[0..19] -join ","
	$data += ",203,50,10,$($items.Length)"
	# Explorer
	# Проводник
	$data += ",5,188,201,168,164,1,36,140,172,3,68,137,133,1,102,160,129,186,203,189,215,168,164,130,1,0"
	# Settings
	# Параметры
	$data += ",5,134,145,204,147,5,36,170,163,1,68,195,132,1,102,159,247,157,177,135,203,209,172,212,1,0"
	$data += ",194,60,1,194,70,1,197,90,1,0"
	New-ItemProperty -Path $startmenu.PSPath -Name Data -PropertyType Binary -Value $data.Split(",") -Force
}
# Show accent color on the title bars and window borders
# Отображать цвет элементов в заголовках окон и границ окон
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsDWM -Name ColorPrevalence -Value 1 -Force
# Use the PrtScn button to open screen snipping
# Использовать клавишу Print Screen, чтобы запустить функцию создания фрагмента экрана
New-ItemProperty -Path "HKCU:Control PanelKeyboard" -Name PrintScreenKeyForSnippingEnabled -Value 1 -Force
# Do not allow automatic hiding if scroll bars in Windows
# Отключить автоматическое скрытие полос прокрутки в Windows
New-ItemProperty -Path "HKCU:Control PanelAccessibility" -Name DynamicScrollbars -Value 0 -Force
# Do not let websites provide locally relevant content by accessing language list
# Не позволять веб-сайтам предоставлять местную информацию за счет доступа к списку языков
New-ItemProperty -Path "HKCU:Control PanelInternationalUser Profile" -Name HttpAcceptLanguageOptOut -Value 1 -Force
# Turn on Windows Defender Sandbox
# Запускать Защитник Windows в песочнице
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
setx /M MP_FORCE_USE_SANDBOX 1
# Set location of the "Desktop", "Documents" "Downloads" "Music", "Pictures", and "Videos"
# Переопределить расположение папок "Рабочий стол", "Документы", "Загрузки", "Музыка", "Изображения", "Видео"
Function KnownFolderPath
{
	Param (
		[Parameter(Mandatory = $true)]
		[ValidateSet("Desktop", "Documents", "Downloads", "Music", "Pictures", "Videos")]
		[string]$KnownFolder,

		[Parameter(Mandatory = $true)]
		[string]$Path
	)
	$KnownFolders = @{
		"Desktop"	= @("B4BFCC3A-DB2C-424C-B029-7FE99A87C641");
		"Documents"	= @("FDD39AD0-238F-46AF-ADB4-6C85480369C7", "f42ee2d3-909f-4907-8871-4c22fc0bf756");
		"Downloads"	= @("374DE290-123F-4565-9164-39C4925E467B", "7d83ee9b-2244-4e70-b1f5-5393042af1e4");
		"Music"		= @("4BD8D571-6D19-48D3-BE97-422220080E43", "a0c69a99-21c8-4671-8703-7934162fcf1d");
		"Pictures"	= @("33E28130-4E1E-4676-835A-98395C3BC3BB", "0ddd015d-b06c-45d5-8c4c-f59713854639");
		"Videos"	= @("18989B1D-99B5-455B-841C-AB7C74E4DDFC", "35286a68-3c57-41a1-bbb1-0eae73d76c95");
	}
	$Signature = @{
		Namespace = "WinAPI"
		Name = "KnownFolders"
		Language = "CSharp"
		MemberDefinition = @"
			[DllImport("shell32.dll")]
			public extern static int SHSetKnownFolderPath(ref Guid folderId, uint flags, IntPtr token, [MarshalAs(UnmanagedType.LPWStr)] string path);
"@
	}
	IF (-not ("WinAPI.KnownFolders" -as [type]))
	{
		Add-Type @Signature
	}
	foreach ($guid in $KnownFolders[$KnownFolder])
	{
		[WinAPI.KnownFolders]::SHSetKnownFolderPath([ref]$guid, 0, 0, $Path)
	}
	(Get-Item -Path $Path -Force ).Attributes = "ReadOnly"
}
[hashtable] $DesktopINI = @{
	"Desktop"	=	"",
					"[.ShellClassInfo]",
					"LocalizedResourceName=@%SystemRoot%system32shell32.dll,-21769",
					"IconResource=%SystemRoot%system32imageres.dll,-183"
	"Documents"	=	"",
					"[.ShellClassInfo]",
					"LocalizedResourceName=@%SystemRoot%system32shell32.dll,-21770",
					"IconResource=%SystemRoot%system32imageres.dll,-112",
					"IconFile=%SystemRoot%system32shell32.dll",
					"IconIndex=-235"
	"Downloads"	=	"",
					"[.ShellClassInfo]","LocalizedResourceName=@%SystemRoot%system32shell32.dll,-21798",
					"IconResource=%SystemRoot%system32imageres.dll,-184"
	"Music"		=	"",
					"[.ShellClassInfo]","LocalizedResourceName=@%SystemRoot%system32shell32.dll,-21790",
					"InfoTip=@%SystemRoot%system32shell32.dll,-12689",
					"IconResource=%SystemRoot%system32imageres.dll,-108",
					"IconFile=%SystemRoot%system32shell32.dll","IconIndex=-237"
	"Pictures"	=	"",
					"[.ShellClassInfo]",
					"LocalizedResourceName=@%SystemRoot%system32shell32.dll,-21779",
					"InfoTip=@%SystemRoot%system32shell32.dll,-12688",
					"IconResource=%SystemRoot%system32imageres.dll,-113",
					"IconFile=%SystemRoot%system32shell32.dll",
					"IconIndex=-236"
	"Videos"	=	"",
					"[.ShellClassInfo]",
					"LocalizedResourceName=@%SystemRoot%system32shell32.dll,-21791",
					"InfoTip=@%SystemRoot%system32shell32.dll,-12690",
					"IconResource=%SystemRoot%system32imageres.dll,-189",
					"IconFile=%SystemRoot%system32shell32.dll","IconIndex=-238"
}
$drives = (Get-Disk | Where-Object -FilterScript {$_.BusType -ne "USB"} | Get-Partition | Get-Volume).DriveLetter
IF ($RU)
{
	$OFS = ", "
	Write-Host "Ваши диски: " -NoNewline
	Write-Host "$($drives | Sort-Object -Unique)" -ForegroundColor Yellow
	$OFS = " "
}
else
{
	$OFS = ", "
	Write-Host "`nYour drives: " -NoNewline
	Write-Host "$($drives | Sort-Object -Unique)" -ForegroundColor Yellow
	$OFS = " "
}
# Desktop
# Рабочий стол
IF ($RU)
{
	Write-Host "`nВведите букву диска, в корне которого будет создана папка для " -NoNewline
	Write-Host "`"Рабочий стол`"" -ForegroundColor Yellow
	Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
}
else
{
	Write-Host "`nType the drive letter in the root of which the " -NoNewline
	Write-Host "`"Desktop`" " -ForegroundColor Yellow -NoNewline
	Write-Host "folder will be created."
	Write-Host "`nPress Enter to skip" -NoNewline
}
Do
{
	$drive = Read-Host -Prompt " "
	IF ($drives -eq $drive)
	{
		$drive = $(${drive}.ToUpper())
		$DesktopFolder = "${drive}:Desktop"
		$DesktopReg = Get-ItemPropertyValue -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name Desktop
		IF ($DesktopReg -ne $DesktopFolder)
		{
			IF (-not (Test-Path -Path $DesktopFolder))
			{
				New-Item -Path $DesktopFolder -ItemType Directory -Force
			}
			KnownFolderPath -KnownFolder Desktop -Path $DesktopFolder
			New-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "{754AC886-DF64-4CBA-86B5-F7FBF4FBCEF5}" -PropertyType ExpandString -Value $DesktopFolder -Force
			Set-Content -Path "$DesktopFolderdesktop.ini" -Value $DesktopINI["Desktop"] -Encoding Unicode -Force
			(Get-Item -Path "$DesktopFolderdesktop.ini" -Force).Attributes = "Hidden", "System", "Archive"
			(Get-Item -Path "$DesktopFolderdesktop.ini" -Force).Refresh()
		}
	}
	elseif ([string]::IsNullOrEmpty($drive))
	{
		break
	}
	else
	{
		IF ($RU)
		{
			Write-Host "`nДиск $(${drive}.ToUpper()): не существует. " -ForegroundColor Yellow -NoNewline
			Write-Host "Введите букву диска."
			Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
		}
		else
		{
			Write-Host "The disk $(${drive}.ToUpper()): does not exist. " -ForegroundColor Yellow -NoNewline
			Write-Host "Type the drive letter."
			Write-Host "`nPress Enter to skip" -NoNewline
		}
	}
}
Until ($drives -eq $drive)
# Documents
# Документы
IF ($RU)
{
	Write-Host "`nВведите букву диска, в корне которого будет создана папка для " -NoNewline
	Write-Host "`"Документы`"" -ForegroundColor Yellow
	Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
}
else
{
	Write-Host "`nType the drive letter in the root of which the " -NoNewline
	Write-Host "`"Documents`" " -ForegroundColor Yellow -NoNewline
	Write-Host "folder will be created."
	Write-Host "`nPress Enter to skip" -NoNewline
}
Do
{
	$drive = Read-Host -Prompt " "
	IF ($drives -eq $drive)
	{
		$drive = $(${drive}.ToUpper())
		$DocumentsFolder = "${drive}:Documents"
		$DocumentsReg = Get-ItemPropertyValue -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name Personal
		IF ($DocumentsReg -ne $DocumentsFolder)
		{
			IF (-not (Test-Path -Path $DocumentsFolder))
			{
				New-Item -Path $DocumentsFolder -ItemType Directory -Force
			}
			KnownFolderPath -KnownFolder Documents -Path $DocumentsFolder
			New-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "{F42EE2D3-909F-4907-8871-4C22FC0BF756}" -PropertyType ExpandString -Value $DocumentsFolder -Force
			Set-Content -Path "$DocumentsFolderdesktop.ini" -Value $DesktopINI["Documents"] -Encoding Unicode -Force
			(Get-Item -Path "$DocumentsFolderdesktop.ini" -Force).Attributes = "Hidden", "System", "Archive"
			(Get-Item -Path "$DocumentsFolderdesktop.ini" -Force).Refresh()
		}
	}
	elseif ([string]::IsNullOrEmpty($drive))
	{
		break
	}
	else
	{
		IF ($RU)
		{
			Write-Host "`nДиск $(${drive}.ToUpper()): не существует. " -ForegroundColor Yellow -NoNewline
			Write-Host "Введите букву диска."
			Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
		}
		else
		{
			Write-Host "The disk $(${drive}.ToUpper()): does not exist. " -ForegroundColor Yellow -NoNewline
			Write-Host "Type the drive letter."
			Write-Host "`nPress Enter to skip" -NoNewline
		}
	}
}
Until ($drives -eq $drive)
# Downloads
# Загрузки
IF ($RU)
{
	Write-Host "`nВведите букву диска, в корне которого будет создана папка для " -NoNewline
	Write-Host "`"Загрузки`"" -ForegroundColor Yellow
	Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
}
else
{
	Write-Host "`nType the drive letter in the root of which the " -NoNewline
	Write-Host "`"Downloads`" " -ForegroundColor Yellow -NoNewline
	Write-Host "folder will be created."
	Write-Host "`nPress Enter to skip" -NoNewline
}
Do
{
	$drive = Read-Host -Prompt " "
	IF ($drives -eq $drive)
	{
		$drive = $(${drive}.ToUpper())
		$DownloadsFolder = "${drive}:Downloads"
		$DownloadsReg = Get-ItemPropertyValue -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "{374DE290-123F-4565-9164-39C4925E467B}"
		IF ($DownloadsReg -ne $DownloadsFolder)
		{
			IF (-not (Test-Path -Path $DownloadsFolder))
			{
				New-Item -Path $DownloadsFolder -ItemType Directory -Force
			}
			KnownFolderPath -KnownFolder Downloads -Path $DownloadsFolder
			New-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "{7D83EE9B-2244-4E70-B1F5-5393042AF1E4}" -PropertyType ExpandString -Value $DownloadsFolder -Force
			Set-Content -Path "$DownloadsFolderdesktop.ini" -Value $DesktopINI["Downloads"] -Encoding Unicode -Force
			(Get-Item -Path "$DownloadsFolderdesktop.ini" -Force).Attributes = "Hidden", "System", "Archive"
			(Get-Item -Path "$DownloadsFolderdesktop.ini" -Force).Refresh()
			# Microsoft Edge
			$edge = (Get-AppxPackage "Microsoft.MicrosoftEdge").PackageFamilyName
			New-ItemProperty -Path "HKCU:SoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerStorage$edgeMicrosoftEdgeMain" -Name "Default Download Directory" -PropertyType String -Value $DownloadsFolder -Force
		}
	}
	elseif ([string]::IsNullOrEmpty($drive))
	{
		break
	}
	else
	{
		IF ($RU)
		{
			Write-Host "`nДиск $(${drive}.ToUpper()): не существует. " -ForegroundColor Yellow -NoNewline
			Write-Host "Введите букву диска."
			Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
		}
		else
		{
			Write-Host "The disk $(${drive}.ToUpper()): does not exist. " -ForegroundColor Yellow -NoNewline
			Write-Host "Type the drive letter."
			Write-Host "`nPress Enter to skip" -NoNewline
		}
	}
}
Until ($drives -eq $drive)
# Music
# Музыка
IF ($RU)
{
	Write-Host "`nВведите букву диска, в корне которого будет создана папка для " -NoNewline
	Write-Host "`"Музыка`"" -ForegroundColor Yellow
	Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
}
else
{
	Write-Host "`nType the drive letter in the root of which the " -NoNewline
	Write-Host "`"Music`" " -ForegroundColor Yellow -NoNewline
	Write-Host "folder will be created."
	Write-Host "`nPress Enter to skip" -NoNewline
}
Do
{
	$drive = Read-Host -Prompt " "
	IF ($drives -eq $drive)
	{
		$drive = $(${drive}.ToUpper())
		$MusicFolder = "${drive}:Music"
		$MusicReg = Get-ItemPropertyValue -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "My Music"
		IF ($MusicReg -ne $MusicFolder)
		{
			IF (-not (Test-Path -Path $MusicFolder))
			{
				New-Item -Path $MusicFolder -ItemType Directory -Force
			}
			KnownFolderPath -KnownFolder Music -Path $MusicFolder
			New-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "{A0C69A99-21C8-4671-8703-7934162FCF1D}" -PropertyType ExpandString -Value $MusicFolder -Force
			Set-Content -Path "$MusicFolderdesktop.ini" -Value $DesktopINI["Music"] -Encoding Unicode -Force
			(Get-Item -Path "$MusicFolderdesktop.ini" -Force).Attributes = "Hidden", "System", "Archive"
			(Get-Item -Path "$MusicFolderdesktop.ini" -Force).Refresh()
		}
	}
	elseif ([string]::IsNullOrEmpty($drive))
	{
		break
	}
	else
	{
		IF ($RU)
		{
			Write-Host "`nДиск $(${drive}.ToUpper()): не существует. " -ForegroundColor Yellow -NoNewline
			Write-Host "Введите букву диска."
			Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
		}
		else
		{
			Write-Host "The disk $(${drive}.ToUpper()): does not exist. " -ForegroundColor Yellow -NoNewline
			Write-Host "Type the drive letter."
			Write-Host "`nPress Enter to skip" -NoNewline
		}
	}
}
Until ($drives -eq $drive)
# Pictures
# Изображения
IF ($RU)
{
	Write-Host "`nВведите букву диска, в корне которого будет создана папка для " -NoNewline
	Write-Host "`"Изображения`"" -ForegroundColor Yellow
	Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
}
else
{
	Write-Host "`nType the drive letter in the root of which the " -NoNewline
	Write-Host "`"Pictures`" " -ForegroundColor Yellow -NoNewline
	Write-Host "folder will be created."
	Write-Host "`nPress Enter to skip" -NoNewline
}
Do
{
	$drive = Read-Host -Prompt " "
	IF ($drives -eq $drive)
	{
		$drive = $(${drive}.ToUpper())
		$PicturesFolder = "${drive}:Pictures"
		$PicturesReg = Get-ItemPropertyValue -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "My Pictures"
		IF ($PicturesReg -ne $PicturesFolder)
		{
			IF (-not (Test-Path -Path $PicturesFolder))
			{
				New-Item -Path $PicturesFolder -ItemType Directory -Force
			}
			KnownFolderPath -KnownFolder Pictures -Path $PicturesFolder
			New-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "{0DDD015D-B06C-45D5-8C4C-F59713854639}" -PropertyType ExpandString -Value $PicturesFolder -Force
			Set-Content -Path "$PicturesFolderdesktop.ini" -Value $DesktopINI["Pictures"] -Encoding Unicode -Force
			(Get-Item -Path "$PicturesFolderdesktop.ini" -Force).Attributes = "Hidden", "System", "Archive"
			(Get-Item -Path "$PicturesFolderdesktop.ini" -Force).Refresh()
		}
	}
	elseif ([string]::IsNullOrEmpty($drive))
	{
		break
	}
	else
	{
		IF ($RU)
		{
			Write-Host "`nДиск $(${drive}.ToUpper()): не существует. " -ForegroundColor Yellow -NoNewline
			Write-Host "Введите букву диска."
			Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
		}
		else
		{
			Write-Host "`nThe disk $(${drive}.ToUpper()): does not exist. " -ForegroundColor Yellow -NoNewline
			Write-Host "Type the drive letter."
			Write-Host "`nPress Enter to skip" -NoNewline
		}
	}
}
Until ($drives -eq $drive)
# Videos
# Видео
IF ($RU)
{
	Write-Host "`nВведите букву диска, в корне которого будет создана папка для " -NoNewline
	Write-Host "`"Видео`"" -ForegroundColor Yellow
	Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
}
else
{
	Write-Host "`nType the drive letter in the root of which the " -NoNewline
	Write-Host "`"Videos`" " -ForegroundColor Yellow -NoNewline
	Write-Host "folder will be created."
	Write-Host "`nPress Enter to skip" -NoNewline
}
Do
{
	$drive = Read-Host -Prompt " "
	IF ($drives -eq $drive)
	{
		$drive = $(${drive}.ToUpper())
		$VideosFolder = "${drive}:Videos"
		$VideosReg = Get-ItemPropertyValue -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "My Video"
		IF ($VideosReg -ne $VideosFolder)
		{
			IF (-not (Test-Path -Path $VideosFolder))
			{
				New-Item -Path $VideosFolder -ItemType Directory -Force
			}
			KnownFolderPath -KnownFolder Videos -Path $VideosFolder
			New-ItemProperty -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name "{35286A68-3C57-41A1-BBB1-0EAE73D76C95}" -PropertyType ExpandString -Value $VideosFolder -Force
			Set-Content -Path "$VideosFolderdesktop.ini" -Value $DesktopINI["Videos"] -Encoding Unicode -Force
			(Get-Item -Path "$VideosFolderdesktop.ini" -Force).Attributes = "Hidden", "System", "Archive"
			(Get-Item -Path "$VideosFolderdesktop.ini" -Force).Refresh()
		}
	}
	elseif ([string]::IsNullOrEmpty($drive))
	{
		break
	}
	else
	{
		IF ($RU)
		{
			Write-Host "`nДиск $(${drive}.ToUpper()): не существует. " -ForegroundColor Yellow -NoNewline
			Write-Host "Введите букву диска."
			Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
		}
		else
		{
			Write-Host "`nThe disk $(${drive}.ToUpper()): does not exist. " -ForegroundColor Yellow -NoNewline
			Write-Host "Type the drive letter."
			Write-Host "`nPress Enter to skip" -NoNewline
		}
	}
}
Until ($drives -eq $drive)
# Save screenshots by pressing Win+PrtScr to the Desktop
# Сохранить скриншот по Win+PrtScr на рабочем столе
$value = Get-ItemPropertyValue -Path "HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders" -Name Desktop
New-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{b7bede81-df94-4682-a7d8-57a52620b86f}" -Name RelativePath -PropertyType String -Value $value -Force
# Remove "$env:SystemDrivePerfLogs"
# Удалить "$env:SystemDrivePerfLogs"
Remove-Item $env:SystemDrivePerfLogs -Recurse -Force -ErrorAction SilentlyContinue
# Remove "$env:LOCALAPPDATATemp"
# Удалить "$env:LOCALAPPDATATemp"
Remove-Item $env:LOCALAPPDATATemp -Recurse -Force -ErrorAction SilentlyContinue
# Remove "$env:SYSTEMROOTTemp"
# Удалить "$env:SYSTEMROOTTemp"
Restart-Service -Name Spooler -Force
Remove-Item -Path "$env:SystemRootTemp" -Recurse -Force -ErrorAction SilentlyContinue
# Show more Windows Update restart notifications about restarting
# Показывать уведомление, когда компьютеру требуется перезагрузка для завершения обновления
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsUpdateUXSettings -Name RestartNotificationsAllowed2 -Value 1 -Force
# Set "High performance" in graphics performance preference for apps
# Установить параметры производительности графики для отдельных приложений на "Высокая производительность"
IF ((Get-CimInstance -ClassName Win32_ComputerSystem).PCSystemType -ne 2 -and (Get-CimInstance -ClassName Win32_VideoController | Where-Object -FilterScript {$_.AdapterDACType -ne "Internal" -and $null -ne $_.AdapterDACType}))
{
	IF ($RU)
	{
		Write-Host "`nВведите полные пути до .exe файлов, " -NoNewline
		Write-Host "для которого следует установить"
		Write-Host "параметры производительности графики на `"Высокая производительность`"."
		Write-Host "Пути должны быть разделены запятыми и взяты в кавычки." -ForegroundColor Yellow
		Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
	}
	else
	{
		Write-Host "`nType the full paths to .exe files for which to set"
		Write-Host "graphics performance preference to `"High performance GPU`"."
		Write-Host "The paths must be separated by commas and taken in quotes." -ForegroundColor Yellow
		Write-Host "`nPress Enter to skip" -NoNewline
	}
	IF (Test-Path -Path "${env:ProgramFiles(x86)}Steam")
	{
		Start-Process -FilePath "${env:ProgramFiles(x86)}Steamsteamappscommon"
	}
	function GpuPreference
	{
		[CmdletBinding()]
		Param
		(
			[Parameter(Mandatory = $True)]
			[string[]]$apps
		)
		foreach ($app in $apps)
		{
			New-ItemProperty -Path HKCU:SoftwareMicrosoftDirectXUserGpuPreferences -Name $app -Type String -Value "GpuPreference=2;" -Force
		}
	}
	Do
	{
		$apps = Read-Host -Prompt " "
		IF ($app -match ".exe" -and $app -match "`"")
		{
			$apps = $apps.Replace("`"", "").Split(",").Trim()
			GpuPreference $apps
		}
		elseif ([string]::IsNullOrEmpty($app))
		{
			break
		}
		else
		{
			IF ($RU)
			{
				Write-Host "`nПути не взяты в кавычки или не содержат ссылки на .exe файлы." -ForegroundColor Yellow
				Write-Host "Введите полные пути до .exe файлов, взяв в кавычки и разделив запятыми."
				Write-Host "`nЧтобы пропустить, нажмите Enter" -NoNewline
			}
			else
			{
				Write-Host "`nThe paths hasn't been taken in quotes or do not contain links to .exe files" -ForegroundColor Yellow
				Write-Host "Type the full paths to .exe files by quoting and separating by commas."
				Write-Host "`nPress Enter to skip" -NoNewline
			}
		}
	}
	Until ($app -match ".exe" -and $app -match "`"")
}
# Automatically adjust active hours for me based on daily usage
# Автоматически изменять период активности для этого устройства на основе действий
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsUpdateUXSettings -Name SmartActiveHoursState -Value 1 -Force
# Turn on automatic recommended troubleshooting
# Устранять проблемы без запроса
IF (-not (Test-Path -Path HKLM:SOFTWAREMicrosoftWindowsMitigation))
{
	New-Item -Path HKLM:SOFTWAREMicrosoftWindowsMitigation -Force
}
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsMitigation -Name UserPreference -Value 4 -Force
# Turn on Windows Sandbox
# Включить Windows Sandbox
IF (Get-WindowsEdition -Online | Where-Object -FilterScript {$_.Edition -eq "Professional" -or $_.Edition -eq "Enterprise"})
{
	IF ((Get-CimInstance -ClassName CIM_Processor).VirtualizationFirmwareEnabled -eq $true)
	{
		Enable-WindowsOptionalFeature –FeatureName Containers-DisposableClientVM -All -Online -NoRestart
	}
	else
	{
		try
		{
			IF ((Get-CimInstance –ClassName CIM_ComputerSystem).HypervisorPresent -eq $true)
			{
				Enable-WindowsOptionalFeature –FeatureName Containers-DisposableClientVM -All -Online -NoRestart
			}
		}
		catch
		{
			Write-Error "Enable Virtualization in BIOS"
		}
	}
}
# Turn off reserved storage
# Отключить зарезервированное хранилище
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionReserveManager -Name BaseHardReserveSize -PropertyType QWord -Value 0 -Force
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionReserveManager -Name BaseSoftReserveSize -PropertyType QWord -Value 0 -Force
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionReserveManager -Name HardReserveAdjustment -PropertyType QWord -Value 0 -Force
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionReserveManager -Name MinDiskSize -PropertyType QWord -Value 0 -Force
New-ItemProperty -Path HKLM:SOFTWAREMicrosoftWindowsCurrentVersionReserveManager -Name ShippedWithReserves -Value 0 -Force
# Launch folder in a separate process
# Запускать окна с папками в отдельном процессе
New-ItemProperty -Path HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced -Name SeparateProcess -Value 1 -Force
# Turn on automatic backup the system registry to the "$env:SystemRootSystem32configRegBack" folder
# Включить автоматическое создание копии реестра в папку "$env:SystemRootSystem32configRegBack"
New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlSession ManagerConfiguration Manager" -Name EnablePeriodicBackup -Value 1 -Force
# Restart Start menu
# Перезапустить меню "Пуск"
Stop-Process -Name StartMenuExperienceHost -Force
# Refresh desktop icons, environment variables and taskbar without restarting File Explorer
# Обновить иконки рабочего стола, переменные среды и панель задач без перезапуска "Проводника"
$UpdateEnvExplorerAPI = @{
	Namespace = "WinAPI"
	Name = "UpdateEnvExplorer"
	Language = "CSharp"
	MemberDefinition = @"
		private static readonly IntPtr HWND_BROADCAST = new IntPtr(0xffff);
		private const int WM_SETTINGCHANGE = 0x1a;
		private const int SMTO_ABORTIFHUNG = 0x0002;
		[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
		static extern bool SendNotifyMessage(IntPtr hWnd, uint Msg, IntPtr wParam, string lParam);
		[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = false)]
		private static extern IntPtr SendMessageTimeout(IntPtr hWnd, int Msg, IntPtr wParam, string lParam, int fuFlags, int uTimeout, IntPtr lpdwResult);
		[DllImport("shell32.dll", CharSet = CharSet.Auto, SetLastError = false)]
		private static extern int SHChangeNotify(int eventId, int flags, IntPtr item1, IntPtr item2);
		public static void Refresh()
		{
			// Update desktop icons
			SHChangeNotify(0x8000000, 0x1000, IntPtr.Zero, IntPtr.Zero);
			// Update environment variables
			SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, IntPtr.Zero, null, SMTO_ABORTIFHUNG, 100, IntPtr.Zero);
			// Update taskbar
			SendNotifyMessage(HWND_BROADCAST, WM_SETTINGCHANGE, IntPtr.Zero, "TraySettings");
		}
"@
}
IF (-not ("WinAPI.UpdateEnvExplorer" -as [type]))
{
	Add-Type @UpdateEnvExplorerAPI
}
[WinAPI.UpdateEnvExplorer]::Refresh()
# Errors output
# Вывод ошибок
Write-Host "`nErrors" -BackgroundColor Red
($Error | Where-Object -FilterScript {$_ -notmatch "Taskmgr" -and $_ -notmatch "TaskManager"} | ForEach-Object -Process {
	[PSCustomObject] @{
		Line = $_.InvocationInfo.ScriptLineNumber
		Error = $_.Exception.Message
	}
} | Format-Table -AutoSize -Wrap | Out-String).Trim()

Список функций:

  • Сделать копию реестра в C:/RegBackup/Backup.reg
  • Отключить контроль учетных записей
  • Запретить Windows 10 восстановить себя от Windows Update
  • Настроить конфиденциальность
  • Хитрости реестра — удалить ключи запуска лишнего хлама
  • Отключить нежелательные групповые политики
  • Удалить телеметрию сбора данных, отключает Кортану
  • Отключить и удалить службы
  • Отключить и удалить интернет-поиск bing и индексы
  • Отключить ненужные задачи в планировщике
  • Блокировать нежелательные веб узлы в файл hosts
  • Удалить Demo контент
  • Отключить нежелательные свойства Windows
  • Удалить OneDrive и другие приложения Metro
  • Удалить 3D объекты
  • Удалить CameraRollLibrary
  • Удалить из меню MyComputer Музыка, Изображения, Видео, Документы, Загрузки, Desktop
  • Переименовать компьютер
  • Установить автоматический вход в систему
  • Убрать обои на экране входа
  • Показать ярлык компьютер на рабочем столе
  • Подчеркнуть сочетания клавиш и клавиши доступа
  • Установить Проводник Windows для начала работы
  • Скрыть окно поиска из панели задач
  • Отключить списки приложений XAML в меню Пуск
  • Показать расширения файлов
  • Показать скрытые расширения
  • Использовать Photo Viewer, чтобы открыть файлы фотографий
  • Выключите залипания клавиш SHIFT при нажатии 5 раз
  • Выключить Фильтр клавиш, когда SHIFT нажата в течение 8 секунд
  • Изменить часы и дата форматов 24 часа, метрическая система
  • Google — поиск по умолчанию
  • Обновление Windows — получать только непосредственно от Microsoft
  • Автообновление Windows — спрашивать о загрузке и установке (есть возможность отключить автоматическое обновление)
  • Отключить общие ресурсы Wi-Fi сети
  • Развернуть к текущей папке в левой панели в проводнике
  • Предотвратить создание ярлыков в папке Недавние
  • Удалить вкладку Предыдущие версии, которая появляется при нажатии правой кнопкой мыши файл> Свойства
  • Задержка всплывающих окон панели задач — 10 секунд
  • Отключить центр Оповещений
  • Выполняет в образе операции очистки, восстановления и сброс базы — все установленные обновления Windows будут постоянными и не могут быть удалены
  • Очистить временные файлы
  • Очистить автозапуск в реестре
  • Очистить папки автозагрузки
  • Перезагрузка

Возможные баги:

Может не работать Skype

CMD BAT Автоматическая настройка Windows 10 — удобство, производительность и безопасность.


@ECHO OFF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
COLOR 0A
ECHO ********** Windows 10 batch optimizer
REM  ********** Options 
REM  ********** Настройки 

REM 1-Disable autoupdate,2-ask for download and install, 3-ask for reboot, 4-automatic update
REM 1-отлючить автоматическое обновление,2-спрашивать о загрузке и установке, 3-спрашивать о перезагрузке, 4-автоматическое обновление
SET AutoUpdateN=2

REM if system on SSD drive - set 0, HDD - 3
REM Если система на SSD диске - установите 0, HDD - 3
SET Prefetch=0

REM let apps access to microphone - 1, if you dont need microphone - 2, or set 0 to change it manualy in windows settings
REM разрешить приложениям доступ к микрофону - 1, если вам не нужен микрофоно - 2, или 0 чтобы изменять параметр вручную в настройках Windows
SET ACCESSMICROPHONE=1

REM Computer name
REM Имя компьютера
SET MyComputerName=Home-PC

REM Unused IP adress (для перенаправлений)
REM Неиспользуемый IP (for redirects)
SET NOURL=127.0.0.0
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ECHO ********** Regystry backup COPY to C:/RegBackup/Backup.reg 
REM  ********** Сделать копию реестра в C:/RegBackup/Backup.reg 

SETLOCAL
SET RegBackup=%SYSTEMDRIVE%RegBackup
IF NOT EXIST "%RegBackup%" md "%RegBackup%"
IF EXIST "%RegBackup%HKLM.reg" DEL "%RegBackup%HKLM.reg"
REG export HKLM "%RegBackup%HKLM.reg"
IF EXIST "%RegBackup%HKCU.reg" DEL "%RegBackup%HKCU.reg"
REG export HKCU "%RegBackup%HKCU.reg"
IF EXIST "%RegBackup%HKCR.reg" DEL "%RegBackup%HKCR.reg"
REG export HKCR "%RegBackup%HKCR.reg"
IF EXIST "%RegBackup%HKU.reg" DEL "%RegBackup%HKU.reg"
REG export HKU "%RegBackup%HKU.reg"
IF EXIST "%RegBackup%HKCC.reg" DEL "%RegBackup%HKCC.reg"
REG export HKCC "%RegBackup%HKCC.reg"
IF EXIST "%RegBackup%Backup.reg" DEL "%RegBackup%Backup.reg"
COPY "%RegBackup%HKLM.reg"+"%RegBackup%HKCU.reg"+"%RegBackup%HKCR.reg"+"%RegBackup%HKU.reg"+"%RegBackup%HKCC.reg" "%RegBackup%Backup.reg"
DEL "%RegBackup%HKLM.reg"
DEL "%RegBackup%HKCU.reg"
DEL "%RegBackup%HKCR.reg"
DEL "%RegBackup%HKU.reg"
DEL "%RegBackup%HKCC.reg"

ECHO ********** Disable UAC
REM  ********** Отключить контроль учетных записей

REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem" /v "EnableLUA" /t REG_DWORD /d 0 /f

REM  Block hosts, add firewall rules. 
REM  Блокировать нежелательные веб узлы в hosts и брандмауэре.
GOTO BLOCK
:REG

ECHO ********** Don't allow Windows 10 to repair itself from Windows Update
REM  ********** Запретить Windows 10 восстановить себя от Windows Update

REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesServicing" /v "UseWindowsUpdate" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesServicing" /v "LocalSourcePath" /t REG_EXPAND_SZ /d %NOURL% /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesServicing" /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionGroup Policy Objects{7C0F6EBB-E44C-48D1-82A9-0561C4650831}MachineSOFTWAREMicrosoftWindowsCurrentVersionPoliciesServicing" /v "UseWindowsUpdate" /t REG_DWORD /d 2 /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionGroup Policy Objects{7C0F6EBB-E44C-48D1-82A9-0561C4650831}MachineSOFTWAREMicrosoftWindowsCurrentVersionPoliciesServicing" /v "LocalSourcePath" /t REG_EXPAND_SZ /d %NOURL% /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionGroup Policy Objects{7C0F6EBB-E44C-48D1-82A9-0561C4650831}MachineSOFTWAREMicrosoftWindowsCurrentVersionPoliciesServicing" /v "**del.RepairContentServerSource" /t REG_SZ /d " " /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionGroup Policy Objects{7C0F6EBB-E44C-48D1-82A9-0561C4650831}MachineSOFTWAREMicrosoftWindowsCurrentVersionPoliciesServicing" /f

ECHO ********** Disable tasks
REM  ********** Отключить ненужные задачи в планировщике

SCHTASKS /Change /TN "MicrosoftWindowsWSWSTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsWork FoldersWork Folders Maintenance Work" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsWork FoldersWork Folders Logon Synchronization" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsWOFWIM-Hash-Validation" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsWOFWIM-Hash-Management" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsWindowsUpdatesih" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsWindows Filtering PlatformBfeOnServiceStartTypeChange" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsWindows Error ReportingQueueReporting" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsWDIResolutionHost" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsUpdateOrchestratorSchedule Scan" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsSysmainWsSwapAssessmentTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsSysmainResPriStaticDbSync" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsSoftwareProtectionPlatformSvcRestartTaskNetwork" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsSoftwareProtectionPlatformSvcRestartTaskLogon" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsSoftwareProtectionPlatformSvcRestartTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsShellIndexerAutomaticMaintenance" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsSettingSyncNetworkStateChangeTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsSettingSyncBackgroundUploadTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsRemoteAssistanceRemoteAssistanceTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsPISqm-Tasks" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsNetTraceGatherNetworkInfo" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsMapsMapsUpdateTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsMapsMapsToastTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsMaintenanceWinSAT" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsFileHistoryFile History (maintenance mode)" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsFile Classification InfrastructureProperty Definition Sync" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsFile Classification InfrastructureProperty Definition Sync" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsFeedbackSiufDmClientOnScenarioDownload" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsFeedbackSiufDmClient" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsDiskDiagnosticMicrosoft-Windows-DiskDiagnosticDataCollector" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsCustomer Experience Improvement ProgramUsbCeip" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsCustomer Experience Improvement ProgramKernelCeipTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsCustomer Experience Improvement ProgramConsolidator" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsCloudExperienceHostCreateObjectTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsCertificateServicesClientUserTask-Roam" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsAutochkProxy" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsAppxDeploymentClientPre-staged app cleanup" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsApplication ExperienceStartupAppTask" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsApplication ExperienceProgramDataUpdater" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsApplication ExperienceMicrosoft Compatibility Appraiser" /DISABLE
SCHTASKS /Change /TN "MicrosoftWindowsAppIDSmartScreenSpecific" /DISABLE
SCHTASKS /Change /TN "MicrosoftOfficeOfficeTelemetryAgentLogOn" /DISABLE
SCHTASKS /Change /TN "MicrosoftOfficeOfficeTelemetryAgentFallBack" /DISABLE

ECHO ********** Disable NVIDIA Telemetry
ECHO ********** Отключить сбор данных NVIDIA

SCHTASKS /Change /TN "NvTmMon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}" /Disable 
SCHTASKS /Change /TN "NvTmRep_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}" /Disable
SCHTASKS /Change /TN "NvTmRepOnLogon_{B2FE1952-0186-46C3-BAEC-A80AA35AC5B8}" /Disable

ECHO ********** Configure privacy
REM  ********** Настроить конфиденциальность

REG ADD "HKLMSYSTEMCurrentControlSetControlSession ManagerMemory ManagementPrefetchParameters" /v "EnablePrefetcher" /t REG_DWORD /d %Prefetch% /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindowsUpdate" /v "DeferUpgrade" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsPersonalization" /v "NoLockScreen" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsNetworkConnectivityStatusIndicator" /v "NoActiveProbe" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsMaps" /v "AutoDownloadAndUpdateMapData" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsLocationAndSensors" /v "DisableWindowsLocationProvider" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsLocationAndSensors" /v "DisableLocationScripting" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsLocationAndSensors" /v "DisableLocation" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsGameUX" /v "DownloadGameInfo" /t REG_DWORD /d 0 /f
REG ADD "HKLMSoftwarePoliciesMicrosoftWindowsFileHistory" /v "Disabled" /t REG_DWORD /d "1" /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsSyncWithDevices" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessTrustedDevices" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessRadios" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessMotion" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessMicrophone" /t REG_DWORD /d %ACCESSMICROPHONE% /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessMessaging" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessLocation" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessEmail" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessContacts" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessCamera" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessCallHistory" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessCalendar" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppPrivacy" /v "LetAppsAccessAccountInfo" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindows Defender" /v "DisableAntiSpyware" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftMessengerClient" /v "CEIP" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftInputPersonalization" /v "RestrictImplicitTextCollection" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftInputPersonalization" /v "RestrictImplicitInkCollection" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftInputPersonalization" /v "AllowInputPersonalization" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionDeliveryOptimizationConfig" /v "DownloadMode" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREMicrosoftInternet ExplorerMain" /v "RunOnceHasShown" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREMicrosoftInternet ExplorerMain" /v "RunOnceComplete" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREMicrosoftInternet ExplorerMain" /v "DisableFirstRunCustomize" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftWindowsMediaPlayer" /v "PreventMusicFileMetadataRetrieval" /t REG_DWORD /d 1 /f
REG ADD "HKCUSoftwarePoliciesMicrosoftWindowsCurrentVersionPushNotifications" /v "NoToastApplicationNotification" /t REG_DWORD /d "1" /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftMessengerClient" /v "CEIP" /t REG_DWORD /d 2 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftInternet ExplorerMain" /v "RunOnceHasShown" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftInternet ExplorerMain" /v "DisableFirstRunCustomize" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftInputPersonalization" /v "RestrictImplicitTextCollection" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftInputPersonalization" /v "RestrictImplicitInkCollection" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerHideDesktopIconsNewStartPanel" /v "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" /t REG_DWORD /d 0 /f
REG ADD "HKCUSoftwareMicrosoftWindowsCurrentVersionContentDeliveryManager" /v "SoftLandingEnabled" /t REG_DWORD /d "0" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerMain" /v "Start Page Redirect Cache" /t REG_SZ /d "http://www.google.com" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerMain" /v "Search Page" /t REG_SZ /d "http://www.google.com" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerMain" /v "RunOnceHasShown" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerMain" /v "RunOnceComplete" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerMain" /v "DoNotTrack" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerMain" /v "DisableFirstRunCustomize" /t REG_DWORD /d 1 /f

ECHO ********** Disable Remote Assistance
REM  ********** Отключить удаленный помощник

REG ADD "HKLMSystemCurrentControlSetControlRemote Assistance" /v "fAllowToGetHelp" /t REG_DWORD /d "0" /f
REG ADD "HKLMSystemCurrentControlSetControlRemote Assistance" /v "fAllowFullControl" /t REG_DWORD /d "0" /f
REG ADD "HKLMSoftwarePoliciesMicrosoftWindows NTTerminal Services" /v "fDenyTSConnections" /t REG_DWORD /d "1" /f
REG ADD "HKLMSoftwarePoliciesMicrosoftWindows NTTerminal Services" /v "fAllowUnsolicitedFullControl" /t REG_DWORD /d "0" /f
REG ADD "HKLMSoftwarePoliciesMicrosoftWindows NTTerminal Services" /v "fAllowUnsolicited" /t REG_DWORD /d "0" /f
REG ADD "HKLMSoftwarePoliciesMicrosoftWindows NTTerminal Services" /v "fAllowToGetHelp" /t REG_DWORD /d "0" /f

ECHO ********** Disable sync
REM  ********** Отключить синхронизацию

REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableWindowsSettingSyncUserOverride" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableWindowsSettingSync" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableWebBrowserSettingSyncUserOverride" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableWebBrowserSettingSync" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableSyncOnPaidNetwork" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableStartLayoutSettingSyncUserOverride" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableStartLayoutSettingSync" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableSettingSyncUserOverride" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableSettingSync" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisablePersonalizationSettingSyncUserOverride" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisablePersonalizationSettingSync" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableDesktopThemeSettingSyncUserOverride" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableDesktopThemeSettingSync" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableCredentialsSettingSyncUserOverride" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableCredentialsSettingSync" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableAppSyncSettingSyncUserOverride" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableAppSyncSettingSync" /t REG_DWORD /d 2 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableApplicationSettingSyncUserOverride" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSettingSync" /v "DisableApplicationSettingSync" /t REG_DWORD /d 2 /f

ECHO ********** Lock Screen No Camera
REM  ********** Отключить камеру на экране блокировки

REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsPersonalization" /v "NoLockScreenCamera" /t REG_DWORD /d 1 /f

ECHO ********** Disable Password reveal button
REM  ********** Отключить кнопку раскрытия пароля

REG ADD "HKCUSOFTWAREPoliciesMicrosoftWindowsCredUI" /v "DisablePasswordReveal" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsCredUI" /v "DisablePasswordReveal" /t REG_DWORD /d 1 /f

ECHO ********** Disable DomainPicturePassword
REM  ********** Отключить пароль для изображения домена

REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSystem" /v "BlockDomainPicturePassword" /t REG_DWORD /d 1 /f

ECHO ********** Disable handwriting data sharing
REM  ********** Отключить совместное использование данных рукописного ввода

REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsTabletPC" /v "PreventHandwritingDataSharing" /t REG_DWORD /d 1 /f

ECHO ********** No Web/Bing Search
REM  ********** Отключить поиск Bing

REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Search" /v "DisableWebSearch" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Search" /v "ConnectedSearchUseWebOverMeteredConnections" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Search" /v "ConnectedSearchUseWeb" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Search" /v "ConnectedSearchSafeSearch" /t REG_DWORD /d 3 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Search" /v "ConnectedSearchPrivacy" /t REG_DWORD /d 3 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Search" /v "AllowSearchToUseLocation" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionSearch" /v "BingSearchEnabled" /t REG_DWORD /d 0 /f

ECHO ********** Suppress Microsoft Feedback
REM  ********** Подавлять отзывы Microsoft

REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsDataCollection" /v "DoNotShowFeedbackNotifications" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREMicrosoftSiufRules" /v "NumberOfSIUFInPeriod" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftAssistanceClient1.0" /v "NoExplicitFeedback" /t REG_DWORD /d 1 /f

ECHO ********** Don't allow SpyNet
REM  ********** Отключить SpyNet

REG ADD "HKLMSOFTWAREMicrosoftWindows DefenderSpynet" /v " SpyNetReporting" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREMicrosoftWindows DefenderSpynet" /v " SubmitSamplesConsent" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindows DefenderSpynet" /v "SpynetReporting" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindows DefenderSpynet" /v "SubmitSamplesConsent" /t REG_DWORD /d 2 /f

ECHO ********** Disable Policies
REM  ********** Отключить нежелательные групповые политики

REG Delete "HKCUSOFTWAREMicrosoftWindowsCurrentVersionAdvertisingInfo" /v "Id" /f
REG ADD "HKLMSYSTEMCurrentControlSetControlSession ManagerPower" /v "HiberbootEnabled" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWMDRM" /v "DisableOnline" /t REG_DWORD /d 1 /
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Error Reporting" /v "DontSendAdditionalData" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Error Reporting" /v "Disabled" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Error Reporting" /v "Disabled" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Error Reporting" /v "AutoApproveOSDumps" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSystem" /v "EnableSmartScreen" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSystem" /v "DisableHHDEP" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsCurrentVersionExplorerAutoComplete" /v "AutoSuggest" /t REG_SZ /d "no" /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsCloudContent" /v "DisableWindowsConsumerFeatures" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsCloudContent" /v "DisableSoftLanding" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAdvertisingInfo" /v "DisabledByGroupPolicy" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindows DefenderReal-Time Protection" /v "DisableBehaviorMonitoring" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftSearchCompanion" /v "DisableContentFileUpdates" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftPCHealthErrorReportingDW" /v "DWNoSecondLevelCollection" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftPCHealthErrorReportingDW" /v "DWNoFileCollection" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftPCHealthErrorReportingDW" /v "DWNoExternalURL" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftAssistanceClient1.0" /v "NoActiveHelp" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionAdvertisingInfo" /v "Enabled" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionSearch" /v "BingSearchEnabled" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionAdvertisingInfo" /v "Enabled" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionAdvertisingInfo" /v "Enabled" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftPersonalizationSettings" /v "AcceptedPrivacyPolicy" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftInputPersonalizationTrainedDataStore" /v "HarvestContacts" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftInputPersonalization" /v "RestrictImplicitTextCollection" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREMicrosoftInputPersonalization" /v "RestrictImplicitInkCollection" /t REG_DWORD /d 1 /f
REG ADD "HKCUControl PanelInternationalUser Profile" /v "HttpAcceptLanguageOptOut" /t REG_DWORD /d 1 /f

ECHO ********** Remove Telemetry and Data Collection and Disable Cortana
REM  ********** Удалить телеметрию сбора данных, отключает Кортану

REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindows Search" /v "AllowCortana" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsDataCollection" /v "AllowTelemetry" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppCompat" /v "DisableUAR" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppCompat" /v "DisableInventory" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsAppCompat" /v "AITEnable" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftSQMClientWindows" /v "CEIPEnable" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftSQMClient" /v "CorporateSQMURL" /t REG_SZ /d 127.0.0.1 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftMRT" /v DontOfferThroughWUAU /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWINEVTChannelsMicrosoft-Windows-Application-Experience/Steps-Recorder" /v "Enabled" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWINEVTChannelsMicrosoft-Windows-Application-Experience/Program-Telemetry" /v "Enabled" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWINEVTChannelsMicrosoft-Windows-Application-Experience/Program-Inventory" /v "Enabled" /t REG_DWORD /d 0 /f 
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWINEVTChannelsMicrosoft-Windows-Application-Experience/Program-Compatibility-Troubleshooter" /v "Enabled" /t REG_DWORD /d 0 /f 
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWINEVTChannelsMicrosoft-Windows-Application-Experience/Program-Compatibility-Assistant/Trace" /v "Enabled" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWINEVTChannelsMicrosoft-Windows-Application-Experience/Program-Compatibility-Assistant/Compatibility-Infrastructure-Debug" /v "Enabled" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWINEVTChannelsMicrosoft-Windows-Application-Experience/Program-Compatibility-Assistant/Analytic" /v "Enabled" /t REG_DWORD /d 0 /f 
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWINEVTChannelsMicrosoft-Windows-Application-Experience/Program-Compatibility-Assistant" /v "Enabled" /t REG_DWORD /d 0 /f 
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesDataCollection" /v "AllowTelemetry" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionDevice Metadata" /v PreventDeviceMetadataFromNetwork /t REG_DWORD /d 1 /f
REG ADD "HKLMCOMPONENTSDerivedDataComponentsamd64_microsoft-windows-c..lemetry.lib.cortana_31bf3856ad364e35_10.0.10240.16384_none_40ba2ec3d03bceb0" /v "f!proactive-telemetry-inter_58073761d33f144b" /t REG_DWORD /d 0 /f
REG ADD "HKLMCOMPONENTSDerivedDataComponentsamd64_microsoft-windows-c..lemetry.lib.cortana_31bf3856ad364e35_10.0.10240.16384_none_40ba2ec3d03bceb0" /v "f!proactive-telemetry-event_8ac43a41e5030538" /t REG_DWORD /d 0 /f
REG ADD "HKLMCOMPONENTSDerivedDataComponentsamd64_microsoft-windows-c..lemetry.lib.cortana_31bf3856ad364e35_10.0.10240.16384_none_40ba2ec3d03bceb0" /v "f!proactive-telemetry.js" /t REG_DWORD /d 0 /f
REG ADD "HKLMCOMPONENTSDerivedDataComponentsamd64_microsoft-windows-c..lemetry.lib.cortana_31bf3856ad364e35_10.0.10240.16384_none_40ba2ec3d03bceb0" /v "f!dss-winrt-telemetry.js" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftInternet ExplorerMain" /v "RunOnceComplete" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionSearch" /v "CortanaEnabled" /t REG_DWORD /d 0 /f

ECHO ********** Disable logging
REM  ********** Отключить сбор данных

REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerWiFiSession" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerWdiContextLog" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerUBPM" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSYSTEMCurrentControlSetControlWMIAutoLoggerTCPIPLOGGER" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSYSTEMCurrentControlSetControlWMIAutoLoggerSQMLogger" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSYSTEMCurrentControlSetControlWMIAutoLoggerReadyBoot" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerNtfsLog" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerLwtNetLog" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerFaceUnlock" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerFaceRecoTel" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerEventLog-System" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerEventLog-Security" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerDefenderAuditLogger" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerDefenderApiLogger" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerCircular Kernel Context Logger" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSYSTEMCurrentControlSetControlWMIAutoLoggerAutoLogger-Diagtrack-Listener" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerAudio" /v "Start" /t REG_DWORD /d 0 /f
REG ADD "HKLMSystemCurrentControlSetControlWMIAutologgerAppModel" /v "Start" /t REG_DWORD /d 0 /f

ECHO ********** Disable pre-release features or settings
REM  ********** Отключить пресс-релиз функции

REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsPreviewBuilds" /v "AllowBuildPreview" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsPreviewBuilds" /v "EnableConfigFlighting" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsPreviewBuilds" /v "EnableExperimentation" /t REG_DWORD /d 0 /f

ECHO ********** Disable services
REM  ********** Отключить службы

SC config "CscService" start= disabled
SC config "MapsBroker" start= disabled
SC config "CertPropSvc" start= disabled
SC config "wscsvc" start= demand
SC config "SystemEventsBroker" start= demand
SC config "tiledatamodelsvc" start= demand
SC config "WerSvc" start= demand

ECHO ********** Delete services
REM  ********** Удалить службы

PowerShell -Command "Get-Service DiagTrack | Set-Service -StartupType Disabled"
PowerShell -Command "Get-Service dmwappushservice | Set-Service -StartupType Disabled"
PowerShell -Command "Get-Service diagnosticshub.standardcollector.service | Set-Service -StartupType Disabled"
PowerShell -Command "Get-Service DPS | Set-Service -StartupType Disabled"
PowerShell -Command "Get-Service RemoteRegistry | Set-Service -StartupType Disabled"
PowerShell -Command "Get-Service TrkWks | Set-Service -StartupType Disabled"
PowerShell -Command "Get-Service WMPNetworkSvc | Set-Service -StartupType Disabled"
PowerShell -Command "Get-Service WSearch | Set-Service -StartupType Disabled"
PowerShell -Command "Get-Service SysMain | Set-Service -StartupType Disabled"
SC config "DiagTrack" start= disabled
SC config "dmwappushservice" start= disabled
SC config "diagnosticshub.standardcollector.service" start= disabled
SC config "DPS " start= disabled
SC config "RemoteRegistry" start= disabled
SC config "TrkWks" start= disabled
SC config "WMPNetworkSvc" start= disabled
SC config "WSearch" start= disabled
SC config "SysMain" start= disabled
NET STOP DiagTrack
NET STOP diagnosticshub.standardcollector.service
NET STOP dmwappushservice
NET STOP DPS
NET STOP RemoteRegistry
NET STOP TrkWks
NET STOP WMPNetworkSvc
NET STOP WSearch
NET STOP SysMain
SC delete DiagTrack
SC delete "diagnosticshub.standardcollector.service"
SC delete "dmwappushservice"
SC delete "DPS"
SC delete "RemoteRegistry"
SC delete "TrkWks"
SC delete "WMPNetworkSvc"
SC delete "WSearch"
SC delete "SysMain"

ECHO ********** Disable Office telemetry
REM  ********** Отключить телеметрию MS Office
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice15.0osm" /v "enablefileobfuscation" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice15.0osm" /v "enablelogging" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice15.0osm" /v "enableupload" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0common" /v "qmenable" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0common" /v "sendcustomerdata" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0common" /v "updatereliabilitydata" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0commonfeedback" /v "enabled" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0commonfeedback" /v "includescreenshot" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0commoninternet" /v "useonlinecontent" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0commonptwatson" /v "ptwoptin" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osm" /v "enablefileobfuscation" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osm" /v "enablelogging" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osm" /v "enableupload" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedapplications" /v "accesssolution" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedapplications" /v "olksolution" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedapplications" /v "onenotesolution" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedapplications" /v "pptsolution" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedapplications" /v "projectsolution" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedapplications" /v "publishersolution" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedapplications" /v "visiosolution" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedapplications" /v "wdsolution" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedapplications" /v "xlsolution" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedsolutiontypes" /v "agave" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedsolutiontypes" /v "appaddins" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedsolutiontypes" /v "comaddins" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedsolutiontypes" /v "documentfiles" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0osmpreventedsolutiontypes" /v "templatefiles" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0excelsecurity" /v "blockcontentexecutionfrominternet" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0outlooksecurity" /v "level" /t REG_DWORD /d 2 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0powerpointsecurity" /v "blockcontentexecutionfrominternet" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftoffice16.0wordsecurity" /v "blockcontentexecutionfrominternet" /t REG_DWORD /d 0 /f

ECHO ********** Disable Skype telemetry
REM  ********** Отключить телеметрию Skype
REG ADD "HKCUSOFTWAREMicrosoftTracingWPPMediaPerAppSkypeETW" /v "TraceLevelThreshold" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftTracingWPPMediaPerAppSkype" /v "EnableTracing" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftTracingWPPMediaPerAppSkypeETW" /v "EnableTracing" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftTracingWPPMediaPerAppSkype" /v "WPPFilePath" /t REG_SZ /d "%%SYSTEMDRIVE%%TEMPTracingWPPMedia" /f
REG ADD "HKCUSOFTWAREMicrosoftTracingWPPMediaPerAppSkypeETW" /v "WPPFilePath" /t REG_SZ /d "%%SYSTEMDRIVE%%TEMPWPPMedia" /f

ECHO ********** Disable and delete search and indexes
REM  ********** Отключить и удалить интернет-поиск и индексы

DEL "C:ProgramDataMicrosoftSearchDataApplicationsWindowsWindows.edb" /s
DEL "C:ProgramDataMicrosoftDiagnosisETLLogsAutoLoggerAutoLogger-Diagtrack-Listener.etl" /s
ATTRIB -r "C:ProgramDataMicrosoftSearchDataApplicationsWindowsWindows.edb"
ECHO "" > C:ProgramDataMicrosoftSearchDataApplicationsWindowsWindows.edb
ATTRIB +r "C:ProgramDataMicrosoftSearchDataApplicationsWindowsWindows.edb"
ATTRIB -r "C:ProgramDataMicrosoftDiagnosisETLLogsAutoLoggerAutoLogger-Diagtrack-Listener.etl"
ECHO "" > C:ProgramDataMicrosoftDiagnosisETLLogsAutoLoggerAutoLogger-Diagtrack-Listener.etl
ATTRIB +r "C:ProgramDataMicrosoftDiagnosisETLLogsAutoLoggerAutoLogger-Diagtrack-Listener.etl"

ECHO ********** Remove Retail Demo
REM  ********** Удалить Demo контент

REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{12D4C69E-24AD-4923-BE19-31321C43A767}" /f
takeown /f %ProgramData%MicrosoftWindowsRetailDemo /r /d y
icacls %ProgramData%MicrosoftWindowsRetailDemo /grant Administrators:F /T
rd /s /q %ProgramData%MicrosoftWindowsRetailDemo
takeown /f "C:WindowsSystemAppsMicrosoft.Windows.CloudExperienceHost_cw5n1h2txyewyRetailDemo" /r /d y
icacls "C:WindowsSystemAppsMicrosoft.Windows.CloudExperienceHost_cw5n1h2txyewyRetailDemo" /grant Administrators:F /T
rd /s /q "C:WindowsSystemAppsMicrosoft.Windows.CloudExperienceHost_cw5n1h2txyewyRetailDemo" 

ECHO ********** Delete OneDrive
REM  ********** Удалить OneDrive

REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsOneDrive" /v DisableFileSyncNGSC /t REG_DWORD /d 1 /f
TASKKILL /f /im OneDrive.exe
%SystemRoot%System32OneDriveSetup.exe /uninstall
%SystemRoot%SysWOW64OneDriveSetup.exe /uninstall
rd "%UserProfile%OneDrive" /Q /S
rd "%LocalAppData%MicrosoftOneDrive" /Q /S
rd "%ProgramData%Microsoft OneDrive" /Q /S
rd "C:OneDriveTemp" /Q /S
REG Delete "HKEY_CLASSES_ROOTCLSID{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f
REG Delete "HKEY_CLASSES_ROOTWow6432NodeCLSID{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f
REG Delete "HKCUSOFTWAREClassesCLSID{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f /reg:32
REG Delete "HKCUSOFTWAREClassesCLSID{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f /reg:64
REG Delete "HKLMSOFTWAREClassesCLSID{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f /reg:32
REG Delete "HKLMSOFTWAREClassesCLSID{018D5C66-4533-4307-9B53-224DE2ED1FE6}" /f /reg:64
REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{A52BBA46-E9E1-435f-B3D9-28DAA648C0F6}" /f
REG Delete "HKLMSOFTWAREPoliciesMicrosoftWindowsOneDrive" /v "DisableFileSyncNGSC" /f
REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{339719B5-8C47-4894-94C2-D8F77ADD44A6}" /f
REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{767E6811-49CB-4273-87C2-20F355E1085B}" /f
REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{C3F2459E-80D6-45DC-BFEF-1F769F2BE730}" /f
REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{24D89E24-2F19-4534-9DDE-6A6671FBB8FE}" /f

ECHO ********** Disables unwanted Windows features
REM  ********** Отключить нежелательные свойства Windows

PowerShell -Command Disable-WindowsOptionalFeature -Online -NoRestart -FeatureName "Internet-Explorer-Optional-amd64"
PowerShell -Command Disable-WindowsOptionalFeature -Online -NoRestart -FeatureName "MediaPlayback"
PowerShell -Command Disable-WindowsOptionalFeature -Online -NoRestart -FeatureName "WindowsMediaPlayer"
PowerShell -Command Disable-WindowsOptionalFeature -Online -NoRestart -FeatureName "WorkFolders-Client"

ECHO ********** Delete other Apps
REM  ********** Удалить и другие приложения Metro

PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.3DBuilder | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.BingFinance | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.BingNews | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.Getstarted | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.MicrosoftOfficeHub | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.MicrosoftSolitaireCollection | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.Office.OneNote | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.SkypeApp | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.WindowsPhone | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.XboxApp | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.ZuneMusic | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxProvisionedPackage -Online | Where-Object DisplayName -eq Microsoft.ZuneVideo | Remove-AppxProvisionedPackage -Online"
PowerShell -Command "Get-AppxPackage *Microsoft* | Remove-AppxPackage"
PowerShell -Command "Get-AppXProvisionedPackage -online | Remove-AppxProvisionedPackage -online"
PowerShell -Command "Get-AppXPackage | Remove-AppxPackage"
PowerShell -Command "Get-AppXPackage -User  | Remove-AppxPackage"
PowerShell -Command "Get-AppxPackage -AllUsers | Remove-AppxPackage"

ECHO ********** Remove folders from This PC or MyComputer menu
REM  ********** Удалить папки из Компьютер

ECHO ********** Remove 3D Objects
REM  ********** Удалить 3D объекты

REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{31C0DD25-9439-4F12-BF41-7FF4EDA38722}" /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}" /f
REG Delete "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{0DB7E03F-FC29-4DC6-9020-FF41B59E513A}" /f

ECHO ********** Remove CameraRollLibrary
REM  ********** Удалить CameraRollLibrary

REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{2B20DF75-1EDA-4039-8097-38798227D5B7}" /f

ECHO ********** Remove from MyComputer menu Music
REM  ********** Удалить из меню MyComputer Музыка

REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}" /f
REG Delete "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{3dfdf296-dbec-4fb4-81d1-6a3438bcf4de}" /f

REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{a0c69a99-21c8-4671-8703-7934162fcf1d}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f
REG ADD "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{a0c69a99-21c8-4671-8703-7934162fcf1d}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f

ECHO ********** Remove from MyComputer menu Pictures
REM  ********** Удалить из меню MyComputer Изображения

REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{24ad3ad4-a569-4530-98e1-ab02f9417aa8}" /f
REG Delete "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{24ad3ad4-a569-4530-98e1-ab02f9417aa8}" /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{0ddd015d-b06c-45d5-8c4c-f59713854639}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f
REG ADD "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{0ddd015d-b06c-45d5-8c4c-f59713854639}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f

ECHO ********** Remove from MyComputer menu Videos
REM  ********** Удалить из меню MyComputer Видео

REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}" /f
REG Delete "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{f86fa3ab-70d2-4fc7-9c99-fcbf05467f3a}" /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{35286a68-3c57-41a1-bbb1-0eae73d76c95}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f
REG ADD "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{35286a68-3c57-41a1-bbb1-0eae73d76c95}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f

ECHO ********** Remove from MyComputer menu Documents
REM  ********** Удалить из меню MyComputer Документы

REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{d3162b92-9365-467a-956b-92703aca08af}" /f
REG Delete "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{d3162b92-9365-467a-956b-92703aca08af}" /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{f42ee2d3-909f-4907-8871-4c22fc0bf756}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f
REG ADD "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{f42ee2d3-909f-4907-8871-4c22fc0bf756}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f

ECHO ********** Remove from MyComputer menu Downloads
REM  ********** Удалить из меню MyComputer Загрузки

REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{088e3905-0323-4b02-9826-5d99428e115f}" /f
REG Delete "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{088e3905-0323-4b02-9826-5d99428e115f}" /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{7d83ee9b-2244-4e70-b1f5-5393042af1e4}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f
REG ADD "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{7d83ee9b-2244-4e70-b1f5-5393042af1e4}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f

ECHO ********** Remove from MyComputer menu Desktop
REM  ********** Удалить из меню MyComputer Рабочий стол

REG Delete "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}" /f
REG Delete "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerMyComputerNameSpace{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}" /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f
REG ADD "HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionExplorerFolderDescriptions{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}PropertyBag" /v "ThisPCPolicy" /t REG_SZ /d "Hide" /f

ECHO ********** Rename Computer
REM  ********** Переименовать компьютер

REG ADD HKLMSYSTEMCurrentControlSetControlComputerNameComputerName /v ComputerName /t REG_SZ /d %MyComputerName% /f
REG ADD HKLMSYSTEMCurrentControlSetControlComputerNameActiveComputerName /v ComputerName /t REG_SZ /d %MyComputerName% /f
REG ADD HKLMSYSTEMCurrentControlSetServicesTcpipParameters /v Hostname /t REG_SZ /d %MyComputerName% /f
REG ADD HKLMSYSTEMCurrentControlSetServicesTcpipParameters /v "NV Hostname" /t REG_SZ /d %MyComputerName% /f

ECHO ********** Add "Take Ownership" in context menu
REM  ********** Добавить "Стать Владельцем" в контекстное меню

REG ADD "HKCR*shellrunas" /ve /t REG_SZ /d "Take ownership" /f
REG ADD "HKCR*shellrunas" /v "HasLUAShield" /t REG_SZ /d "" /f
REG ADD "HKCR*shellrunas" /v "NoWorkingDirectory" /t REG_SZ /d "" /f
REG ADD "HKCR*shellrunascommand" /ve /t REG_SZ /d "cmd.exe /c takeown /f "%%1" && icacls "%%1" /grant administrators:F" /f
REG ADD "HKCR*shellrunascommand" /v "IsolatedCommand" /t REG_SZ /d "cmd.exe /c takeown /f "%%1" && icacls "%%1" /grant administrators:F" /f
REG ADD "HKCRDirectoryshellrunas" /ve /t REG_SZ /d "Take ownership" /f
REG ADD "HKCRDirectoryshellrunas" /v "HasLUAShield" /t REG_SZ /d "" /f
REG ADD "HKCRDirectoryshellrunas" /v "NoWorkingDirectory" /t REG_SZ /d "" /f
REG ADD "HKCRDirectoryshellrunascommand" /ve /t REG_SZ /d "cmd.exe /c takeown /f "%%1" /r /d y && icacls "%%1" /grant administrators:F /t" /f
REG ADD "HKCRDirectoryshellrunascommand" /v "IsolatedCommand" /t REG_SZ /d "cmd.exe /c takeown /f "%%1" /r /d y && icacls "%%1" /grant administrators:F /t" /f

ECHO ********** Set Auto Logon
REM  ********** Установить автоматический вход в систему

REG ADD "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionWinlogon" /v "AutoAdminLogon" /t REG_DWORD /d 1 /f

ECHO ********** Disable Test mode
REM  ********** Отключить Тестовый режим"

bcdedit /set TESTSIGNING OFF

ECHO ********** Remove Logon screen wallpaper
REM  ********** Убрать обои на экране входа

REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsSystem" /v "DisableLogonBackgroundImage" /t REG_DWORD /d 1 /f

ECHO ********** Show Computer shortcut on desktop
REM  ********** Показать ярлык компьютер на рабочем столе

REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerHideDesktopIconsNewStartPanel" /v "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" /t REG_DWORD /d 0 /f

ECHO ********** Underline keyboard shortcuts and access keys
REM  ********** Подчеркнуть сочетания клавиш и клавиши доступа

REG ADD "HKCUControl PanelAccessibilityKeyboard Preference" /v "On" /t REG_SZ /d 1 /f

ECHO ********** SET Windows Explorer to start on This PC instead of Quick Access
REM  ********** Установить Проводник Windows для начала работы

REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvanced" /v "LaunchTo" /t REG_DWORD /d 1 /f

ECHO ********** Hide the search box from taskbar
REM  ********** Скрыть окно поиска из панели задач

REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionSearch" /v "SearchboxTaskbarMode" /t REG_DWORD /d 0 /f
REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionSearch" /v "BingSearchEnabled" /t REG_DWORD /d 0 /f

ECHO ********** Disable MRU lists (jump lists) of XAML apps in Start Menu
REM  ********** Отключить списки приложений XAML в меню Пуск

REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvanced" /v "Start_TrackDocs" /t REG_DWORD /d 0 /f

ECHO ********** Show file extensions
REM  ********** Показать расширения файлов

REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvanced" /v "HideFileExt" /t REG_DWORD /d 0 /f

ECHO ********** Show hidden extension
REM  ********** Показать скрытые расширения

REG ADD "HKCRlnkfile" /v "NeverShowExt" /f
REG ADD "HKCRIE.AssocFile.URL" /v "NeverShowExt" /f
REG ADD "HKCRIE.AssocFile.WEBSITE" /v "NeverShowExt" /f
REG ADD "HKCRInternetShortcut" /v "NeverShowExt" /f
REG ADD "HKCRMicrosoft.Website" /v "NeverShowExt" /f
REG ADD "HKCRpiffile" /v "NeverShowExt" /f
REG ADD "HKCRSHCmdFile" /v "NeverShowExt" /f
REG ADD "HKCRLibraryFolder" /v "NeverShowExt" /f

ECHO ********** Use Windows Photo Viewer to open photo files
REM  ********** Использовать Photo Viewer, чтобы открыть файлы фотографий

REG ADD "HKCUSOFTWAREClasses.jpg" /v REG_SZ /d "PhotoViewer.FileAssoc.Tiff" /f
REG ADD "HKCUSOFTWAREClasses.jpeg" /v REG_SZ /d "PhotoViewer.FileAssoc.Tiff" /f
REG ADD "HKCUSOFTWAREClasses.gif" /v REG_SZ /d "PhotoViewer.FileAssoc.Tiff" /f
REG ADD "HKCUSOFTWAREClasses.png" /v REG_SZ /d "PhotoViewer.FileAssoc.Tiff" /f
REG ADD "HKCUSOFTWAREClasses.bmp" /v REG_SZ /d "PhotoViewer.FileAssoc.Tiff" /f
REG ADD "HKCUSOFTWAREClasses.tiff" /v REG_SZ /d "PhotoViewer.FileAssoc.Tiff" /f
REG ADD "HKCUSOFTWAREClasses.ico" /v REG_SZ /d "PhotoViewer.FileAssoc.Tiff" /f
REG ADD "HKCRApplicationsphotoviewer.dllshellopen" /v "MuiVerb" /t REG_SZ /d "@photoviewer.dll,-3043" /f
REG ADD "HKCRApplicationsphotoviewer.dllshellopenDropTarget" /v "Clsid" /t REG_SZ /d "{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}" /f
REG ADD "HKCRApplicationsphotoviewer.dllshellprintDropTarget" /v "Clsid" /t REG_SZ /d "{60fd46de-f830-4894-a628-6fa81bc0190d}" /f
REG ADD "HKCRApplicationsphotoviewer.dllshellopencommand" /v "%%%%SystemRoot%%%%System32rundll32.exe " /t REG_EXPAND_SZ /d ", ImageView_Fullscreen %%%%1" /f
REG ADD "HKCRApplicationsphotoviewer.dllshellopencommand" /v "%%%%ProgramFiles%%%%Windows Photo ViewerPhotoViewer.dll" /t REG_EXPAND_SZ /d ", ImageView_Fullscreen %%%%1" /f
REG ADD "HKCRApplicationsphotoviewer.dllshellprintcommand" /v "%%%%SystemRoot%%%%System32rundll32.exe " /t REG_EXPAND_SZ /d ", ImageView_Fullscreen %%%%1" /f
REG ADD "HKCRApplicationsphotoviewer.dllshellprintcommand" /v "%%%%ProgramFiles%%%%Windows Photo ViewerPhotoViewer.dll" /t REG_EXPAND_SZ /d ", ImageView_Fullscreen %%%%1" /f

ECHO ********** Turn OFF Sticky Keys when SHIFT is pressed 5 times
REM  ********** Выключите залипания клавиш SHIFT при нажатии 5 раз

REG ADD "HKCUControl PanelAccessibilityStickyKeys" /v "Flags" /t REG_SZ /d "506" /f

ECHO ********** Turn OFF Filter Keys when SHIFT is pressed for 8 seconds
REM  ********** Выключить Фильтр клавиш, когда SHIFT нажата в течение 8 секунд

REG ADD "HKCUControl PanelAccessibilityKeyboard Response" /v "Flags" /t REG_SZ /d "122" /f

ECHO ********** Change Clock and Date formats 24H, metric (Sign out required to see changes)
REM  ********** Изменить формат часов и даты 24 часа, метрическая система

REG ADD "HKCUControl PanelInternational" /v "iMeasure" /t REG_SZ /d "0" /f
REG ADD "HKCUControl PanelInternational" /v "iNegCurr" /t REG_SZ /d "1" /f
REG ADD "HKCUControl PanelInternational" /v "iTime" /t REG_SZ /d "1" /f
REG ADD "HKCUControl PanelInternational" /v "sShortDate" /t REG_SZ /d "dd.MM.yyyy" /f
REG ADD "HKCUControl PanelInternational" /v "sShortTime" /t REG_SZ /d "HH:mm" /f
REG ADD "HKCUControl PanelInternational" /v "sTimeFormat" /t REG_SZ /d "H:mm:ss" /f

ECHO ********** Google as default search
REM  ********** Google - поиск по умолчанию

REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes" /v "DefaultScope" /t REG_SZ /d "{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /v "DisplayName" /t REG_SZ /d "Google" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /v "FaviconURL" /t REG_SZ /d "http://www.google.com/favicon.ico" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /v "FaviconURLFallback" /t REG_SZ /d "http://www.google.com/favicon.ico" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /v "OSDFileURL" /t REG_SZ /d "http://www.iegallery.com/en-us/AddOns/DownloadAddOn?resourceId=813" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /v "ShowSearchSuggestions" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /v "SuggestionsURL" /t REG_SZ /d "http://clients5.google.com/complete/search?q={searchTerms}&client=ie8&mw={ie:maxWidth}&sh={ie:sectionHeight}&rh={ie:rowHeight}&inputencoding={inputEncoding}&outputencoding={outputEncoding}" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /v "SuggestionsURLFallback" /t REG_SZ /d "http://clients5.google.com/complete/search?hl={language}&q={searchTerms}&client=ie8&inputencoding={inputEncoding}&outputencoding={outputEncoding}" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /v "TopResultURLFallback" /t REG_SZ /d "" /f
REG ADD "HKCUSOFTWAREMicrosoftInternet ExplorerSearchScopes{89418666-DF74-4CAC-A2BD-B69FB4A0228A}" /v "URL" /t REG_SZ /d "http://www.google.com/search?q={searchTerms}&sourceid=ie7&rls=com.microsoft:{language}:{referrer:source}&ie={inputEncoding?}&oe={outputEncoding?}" /f

ECHO ********** Windows Update - only directly from Microsoft
REM  ********** Обновление Windows - получать только непосредственно от Microsoft

REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionDeliveryOptimizationConfig" /v "DODownloadMode" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsDeliveryOptimization" /v "DODownloadMode" /t REG_DWORD /d 0 /f

ECHO ********** Windows Update
REM  ********** Обновление Windows

NET STOP wuauserv
SCHTASKS /Change /TN "MicrosoftWindowsWindowsUpdateAutomatic App Update" /DISABLE
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindowsUpdateAU" /v "AutoInstallMinorUpdates" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindowsUpdateAU" /v "AUOptions" /t REG_DWORD /d %AutoUpdateN% /f
REG ADD "HKLMSOFTWAREPoliciesMicrosoftWindowsWindowsUpdateAU" /v "NoAutoUpdate" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionWindowsUpdateAuto Update" /v "AUOptions" /t REG_DWORD /d %AutoUpdateN% /f
NET START wuauserv

ECHO ********** Disable Reboot after Windows Updates are installed
REM  ********** Отключить перезагрузку после установки обновлений Windows

SCHTASKS /Change /TN "MicrosoftWindowsUpdateOrchestratorReboot" /Disable
ren "%WinDir%System32TasksMicrosoftWindowsUpdateOrchestratorReboot" "Reboot.bak"
md "%WinDir%System32TasksMicrosoftWindowsUpdateOrchestratorReboot"
SCHTASKS /Change /TN "MicrosoftWindowsUpdateOrchestratorReboot" /Disable

ECHO ********** Disable shares your WiFi network login
REM  ********** Отключить общие ресурсы Wi-Fi сети

REG ADD "HKLMSOFTWAREMicrosoftPolicyManagerdefaultWiFiAllowAutoConnectToWiFiSenseHotspots" /v "value" /t REG_DWORD /d 0 /f
REG ADD "HKLMSOFTWAREMicrosoftPolicyManagerdefaultWiFiAllowWiFiHotSpotReporting" /v "value" /t REG_DWORD /d 0 /f

ECHO ********** Prevent from creating LNK files in the Recents folder
REM  ********** Предотвратить создание ярлыков в папке Недавние

REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer" /v "NoRecentDocsHistory" /t REG_DWORD /d 1 /f

ECHO ********** Remove the Previous Versions tab in file Properties
REM  ********** Удалить вкладку Предыдущие версии в свойствах файла

REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorer" /v NoPreviousVersionsPage /t REG_DWORD /d 1 /f

ECHO ********** Delay Taskbar pop-ups to 10 seconds
REM  ********** Задержка всплывающих окон панели задач - 10 секунд

REG ADD "HKCUSOFTWAREMicrosoftWindowsCurrentVersionExplorerAdvanced" /v "ExtendedUIHoverTime" /t REG_DWORD /d "10000" /f

ECHO ********** Disable Notification Center Completely in Windows 10.reg
REM  ********** Отключить центр уведомлений в Windows 10

REG ADD "HKLMSOFTWAREWow6432NodePoliciesMicrosoftWindows Defender" /v "DisableAntiSpyware" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREWow6432NodePoliciesMicrosoftWindows Defender" /v "DisableRoutinelyTakingAction" /t REG_DWORD /d 1 /f
REG ADD "HKLMSOFTWAREWow6432NodePoliciesMicrosoftWindows DefenderPolicy Manager" /f
REG ADD "HKLMSOFTWAREWow6432NodePoliciesMicrosoftWindows DefenderReal-Time Protection" /v "DisableRealtimeMonitoring" /t REG_DWORD /d 1 /f
REG ADD "HKCUSOFTWAREPoliciesMicrosoftWindowsExplorer" /v "DisableNotificationCenter" /t REG_DWORD /d 1 /f

ECHO ********** Disable SMB Protocol (sharing files and printers)
REM  ********** Отключить протокол SMB (общий доступ к файлам и принтерам)

REG ADD "HKLMSYSTEMCurrentControlSetServicesLanmanServerParameters" /v SMB1 /t REG_DWORD /d 0 /f
REG ADD "HKLMSYSTEMCurrentControlSetServicesLanmanServerParameters" /v SMB2 /t REG_DWORD /d 0 /f
dism /online /norestart /disable-feature /featurename:SMB1Protocol
wmic service where "Name LIKE '%%lanmanserver%%'" call StopService
wmic service where "Name LIKE '%%lanmanserver%%'" call ChangeStartMode Disabled

ECHO ********** Clean Junk files and thumbcache
REM  ********** Очистить временные файлы и кэш иконокp

taskkill /f /im explorer.exe
timeout 2 /nobreak>nul
DEL /F /S /Q /A %LocalAppData%MicrosoftWindowsExplorerthumbcache_*.db
DEL /f /s /q %systemdrive%*.tmp
DEL /f /s /q %systemdrive%*._mp
DEL /f /s /q %systemdrive%*.log
DEL /f /s /q %systemdrive%*.gid
DEL /f /s /q %systemdrive%*.chk
DEL /f /s /q %systemdrive%*.old
DEL /f /s /q %systemdrive%recycled*.*
DEL /f /s /q %systemdrive%$Recycle.Bin*.*
DEL /f /s /q %windir%*.bak
DEL /f /s /q %windir%prefetch*.*
rd /s /q %windir%temp & md %windir%temp
DEL /f /q %userprofile%cookies*.*
DEL /f /q %userprofile%recent*.*
DEL /f /s /q "%userprofile%Local SettingsTemporary Internet Files*.*"
DEL /f /s /q "%userprofile%Local SettingsTemp*.*"
DEL /f /s /q "%userprofile%recent*.*"
timeout 2 /nobreak>nul
start explorer.exe

ECHO ********** Clean autostart regystry
REM  ********** Очистить автозапуск в реестре

REG DELETE HKSUSOFTWAREMicrosoftWindowsCurrentVersionRunOnce /f
REG DELETE HKSUSOFTWAREMicrosoftWindowsCurrentVersionRun /f
REG DELETE HKSUSOFTWAREMicrosoftWindowsCurrentVersionPolicies /f
REG DELETE HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionRunOnce /f
REG DELETE HKLMSOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionRun /f
REG DELETE HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunServicesOnce /f
REG DELETE HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunServices /f
REG DELETE HKLMSOFTWAREMicrosoftWindowsCurrentVersionRunOnceEx /f
REG DELETE HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun /f

ECHO ********** Clean autostart folders
REM  ********** Очистить папки автозагрузки

PUSHD "%USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup"
2>Nul RD /S/Q "%USERPROFILE%AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup"
POPD
PUSHD "%SystemDrive%ProgramDataMicrosoftWindowsStart MenuProgramsStartup"
2>Nul RD /S/Q "%SystemDrive%ProgramDataMicrosoftWindowsStart MenuProgramsStartup"
POPD

ECHO ********** All installed updates will be permanent and cannot be uninstalled after running this command
REM  ********** Выполняет в образе операции очистки, восстановления и сброс базы - все установленные обновления Windows будут постоянными и не могут быть удалены

DISM /online /Cleanup-Image /StartComponentCleanup /ResetBase

GOTO RESTART

:BLOCK
ECHO ********** Block hosts
REM  ********** Блокировать нежелательные веб узлы в файл hosts

COPY "%WINDIR%system32driversetchosts" "%WINDIR%system32driversetchosts.backup.txt"
ATTRIB -r "%WINDIR%system32driversetchosts"
SET HOSTS=%WINDIR%System32driversetchosts
FIND /C /I "www.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% www.msn.com>>%HOSTS%
FIND /C /I "www.msftncsi.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% www.msftncsi.com>>%HOSTS%
FIND /C /I "www.msdn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% www.msdn.com>>%HOSTS%
FIND /C /I "www.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% www.microsoft.com>>%HOSTS%
FIND /C /I "www.bing.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% www.bing.com>>%HOSTS%
FIND /C /I "wustats.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% wustats.microsoft.com>>%HOSTS%
FIND /C /I "wns.notify.windows.com.akadns.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% wns.notify.windows.com.akadns.net>>%HOSTS%
FIND /C /I "windowsupdate.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% windowsupdate.microsoft.com>>%HOSTS%
FIND /C /I "windowsupdate.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% windowsupdate.com>>%HOSTS%
FIND /C /I "win10.ipv6.microsoft.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% win10.ipv6.microsoft.com.nsatc.net>>%HOSTS%
FIND /C /I "win10.ipv6.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% win10.ipv6.microsoft.com>>%HOSTS%
FIND /C /I "wildcard.appex-rf.msn.com.edgesuite.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% wildcard.appex-rf.msn.com.edgesuite.net>>%HOSTS%
FIND /C /I "wes.df.telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% wes.df.telemetry.microsoft.com>>%HOSTS%
FIND /C /I "watson.telemetry.microsoft.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% watson.telemetry.microsoft.com.nsatc.net>>%HOSTS%
FIND /C /I "watson.telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% watson.telemetry.microsoft.com>>%HOSTS%
FIND /C /I "watson.ppe.telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% watson.ppe.telemetry.microsoft.com>>%HOSTS%
FIND /C /I "watson.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% watson.microsoft.com>>%HOSTS%
FIND /C /I "watson.live.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% watson.live.com>>%HOSTS%
FIND /C /I "vortex.data.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% vortex.data.microsoft.com>>%HOSTS%
FIND /C /I "vortex-win.data.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% vortex-win.data.microsoft.com>>%HOSTS%
FIND /C /I "vortex-sandbox.data.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% vortex-sandbox.data.microsoft.com>>%HOSTS%
FIND /C /I "vortex-cy2.metron.live.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% vortex-cy2.metron.live.com.nsatc.net>>%HOSTS%
FIND /C /I "vortex-bn2.metron.live.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% vortex-bn2.metron.live.com.nsatc.net>>%HOSTS%
FIND /C /I "view.atdmt.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% view.atdmt.com>>%HOSTS%
FIND /C /I "v10.vortex-win.data.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% v10.vortex-win.data.microsoft.com>>%HOSTS%
FIND /C /I "v10.vortex-win.data.metron.life.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% v10.vortex-win.data.metron.life.com.nsatc.net>>%HOSTS%
FIND /C /I "update.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% update.microsoft.com>>%HOSTS%
FIND /C /I "ui.skype.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ui.skype.com>>%HOSTS%
FIND /C /I "travel.tile.appex.bing.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% travel.tile.appex.bing.com>>%HOSTS%
FIND /C /I "telemetry.urs.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% telemetry.urs.microsoft.com>>%HOSTS%
FIND /C /I "telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% telemetry.microsoft.com>>%HOSTS%
FIND /C /I "telemetry.appex.bing.net:443" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% telemetry.appex.bing.net:443>>%HOSTS%
FIND /C /I "telemetry.appex.bing.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% telemetry.appex.bing.net>>%HOSTS%
FIND /C /I "telecommand.telemetry.microsoft.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% telecommand.telemetry.microsoft.com.nsatc.net>>%HOSTS%
FIND /C /I "telecommand.telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% telecommand.telemetry.microsoft.com>>%HOSTS%
FIND /C /I "survey.watson.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% survey.watson.microsoft.com>>%HOSTS%
FIND /C /I "support.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% support.microsoft.com>>%HOSTS%
FIND /C /I "statsfe2.ws.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% statsfe2.ws.microsoft.com>>%HOSTS%
FIND /C /I "statsfe2.update.microsoft.com.akadns.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% statsfe2.update.microsoft.com.akadns.net>>%HOSTS%
FIND /C /I "statsfe1.ws.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% statsfe1.ws.microsoft.com>>%HOSTS%
FIND /C /I "static.2mdn.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% static.2mdn.net>>%HOSTS%
FIND /C /I "ssw.live.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ssw.live.com.nsatc.net>>%HOSTS%
FIND /C /I "ssw.live.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ssw.live.com>>%HOSTS%
FIND /C /I "sqm.telemetry.microsoft.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% sqm.telemetry.microsoft.com.nsatc.net>>%HOSTS%
FIND /C /I "sqm.telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% sqm.telemetry.microsoft.com>>%HOSTS%
FIND /C /I "sqm.df.telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% sqm.df.telemetry.microsoft.com>>%HOSTS%
FIND /C /I "sls.update.microsoft.com.akadns.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% sls.update.microsoft.com.akadns.net>>%HOSTS%
FIND /C /I "skydrive.wns.windows.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% skydrive.wns.windows.com>>%HOSTS%
FIND /C /I "skyapi.skyprod.akadns.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% skyapi.skyprod.akadns.net>>%HOSTS%
FIND /C /I "skyapi.live.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% skyapi.live.net>>%HOSTS%
FIND /C /I "settings.data.glbdns2.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% settings.data.glbdns2.microsoft.com>>%HOSTS%
FIND /C /I "settings-win.data.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% settings-win.data.microsoft.com>>%HOSTS%
FIND /C /I "settings-sandbox.data.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% settings-sandbox.data.microsoft.com>>%HOSTS%
FIND /C /I "services.wes.df.telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% services.wes.df.telemetry.microsoft.com>>%HOSTS%
FIND /C /I "secure.flashtalking.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% secure.flashtalking.com>>%HOSTS%
FIND /C /I "secure.adnxs.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% secure.adnxs.com>>%HOSTS%
FIND /C /I "schemas.microsoft.akadns.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% schemas.microsoft.akadns.net>>%HOSTS%
FIND /C /I "sO.2mdn.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% sO.2mdn.net>>%HOSTS%
FIND /C /I "s.gateway.messenger.live.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% s.gateway.messenger.live.com>>%HOSTS%
FIND /C /I "reports.wes.df.telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% reports.wes.df.telemetry.microsoft.com>>%HOSTS%
FIND /C /I "register.mesh.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% register.mesh.com>>%HOSTS%
FIND /C /I "redir.metaservices.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% redir.metaservices.microsoft.com>>%HOSTS%
FIND /C /I "rad.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% rad.msn.com>>%HOSTS%
FIND /C /I "rad.live.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% rad.live.com>>%HOSTS%
FIND /C /I "pricelist.skype.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% pricelist.skype.com>>%HOSTS%
FIND /C /I "preview.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% preview.msn.com>>%HOSTS%
FIND /C /I "pre.footprintpredict.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% pre.footprintpredict.com>>%HOSTS%
FIND /C /I "office.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% office.microsoft.com>>%HOSTS%
FIND /C /I "oca.telemetry.microsoft.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% oca.telemetry.microsoft.com.nsatc.net>>%HOSTS%
FIND /C /I "oca.telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% oca.telemetry.microsoft.com>>%HOSTS%
FIND /C /I "msntest.serving-sys.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% msntest.serving-sys.com>>%HOSTS%
FIND /C /I "msnbot-65-55-108-23.search.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% msnbot-65-55-108-23.search.msn.com>>%HOSTS%
FIND /C /I "msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% msn.com>>%HOSTS%
FIND /C /I "msftncsi.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% msftncsi.com>>%HOSTS%
FIND /C /I "msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% msedge.net>>%HOSTS%
FIND /C /I "msdn.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% msdn.microsoft.com>>%HOSTS%
FIND /C /I "msdn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% msdn.com>>%HOSTS%
FIND /C /I "microsoftupdate.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% microsoftupdate.microsoft.com>>%HOSTS%
FIND /C /I "microsoftupdate.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% microsoftupdate.com>>%HOSTS%
FIND /C /I "microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% microsoft.com>>%HOSTS%
FIND /C /I "m.hotmail.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% m.hotmail.com>>%HOSTS%
FIND /C /I "m.adnxs.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% m.adnxs.com>>%HOSTS%
FIND /C /I "login.live.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% login.live.com.nsatc.net>>%HOSTS%
FIND /C /I "login.live.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% login.live.com>>%HOSTS%
FIND /C /I "live.rads.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% live.rads.msn.com>>%HOSTS%
FIND /C /I "lb1.www.ms.akadns.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% lb1.www.ms.akadns.net>>%HOSTS%
FIND /C /I "ipv6.msftncsi.com.edgesuite.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ipv6.msftncsi.com.edgesuite.net>>%HOSTS%
FIND /C /I "ipv6.msftncsi.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ipv6.msftncsi.com>>%HOSTS%
FIND /C /I "i1.services.social.microsoft.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% i1.services.social.microsoft.com.nsatc.net>>%HOSTS%
FIND /C /I "i1.services.social.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% i1.services.social.microsoft.com>>%HOSTS%
FIND /C /I "h1.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% h1.msn.com>>%HOSTS%
FIND /C /I "go.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% go.microsoft.com>>%HOSTS%
FIND /C /I "g.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% g.msn.com>>%HOSTS%
FIND /C /I "flex.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% flex.msn.com>>%HOSTS%
FIND /C /I "feedback.windows.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% feedback.windows.com>>%HOSTS%
FIND /C /I "feedback.search.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% feedback.search.microsoft.com>>%HOSTS%
FIND /C /I "feedback.microsoft-hohm.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% feedback.microsoft-hohm.com>>%HOSTS%
FIND /C /I "fe3.delivery.mp.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% fe3.delivery.mp.microsoft.com>>%HOSTS%
FIND /C /I "fe3.delivery.dsp.mp.microsoft.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% fe3.delivery.dsp.mp.microsoft.com.nsatc.net>>%HOSTS%
FIND /C /I "fe2.update.microsoft.com.akadns.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% fe2.update.microsoft.com.akadns.net>>%HOSTS%
FIND /C /I "en-us.appex-rf.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% en-us.appex-rf.msn.com>>%HOSTS%
FIND /C /I "ec.atdmt.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ec.atdmt.com>>%HOSTS%
FIND /C /I "download.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% download.microsoft.com>>%HOSTS%
FIND /C /I "dns.msftncsi.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% dns.msftncsi.com>>%HOSTS%
FIND /C /I "directory.services.live.com.akadns.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% directory.services.live.com.akadns.net>>%HOSTS%
FIND /C /I "directory.services.live.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% directory.services.live.com>>%HOSTS%
FIND /C /I "diagnostics.support.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% diagnostics.support.microsoft.com>>%HOSTS%
FIND /C /I "df.telemetry.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% df.telemetry.microsoft.com>>%HOSTS%
FIND /C /I "db3aqu.atdmt.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% db3aqu.atdmt.com>>%HOSTS%
FIND /C /I "cs1.wpc.v0cdn.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% cs1.wpc.v0cdn.net>>%HOSTS%
FIND /C /I "corpext.msitadfs.glbdns2.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% corpext.msitadfs.glbdns2.microsoft.com>>%HOSTS%
FIND /C /I "corp.sts.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% corp.sts.microsoft.com>>%HOSTS%
FIND /C /I "compatexchange.cloudapp.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% compatexchange.cloudapp.net>>%HOSTS%
FIND /C /I "client.wns.windows.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% client.wns.windows.com>>%HOSTS%
FIND /C /I "choice.microsoft.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% choice.microsoft.com.nsatc.net>>%HOSTS%
FIND /C /I "choice.microsoft.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% choice.microsoft.com>>%HOSTS%
FIND /C /I "cds26.ams9.msecn.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% cds26.ams9.msecn.net>>%HOSTS%
FIND /C /I "cdn.atdmt.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% cdn.atdmt.com>>%HOSTS%
FIND /C /I "c.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% c.msn.com>>%HOSTS%
FIND /C /I "c.atdmt.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% c.atdmt.com>>%HOSTS%
FIND /C /I "bs.serving-sys.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% bs.serving-sys.com>>%HOSTS%
FIND /C /I "bl3302geo.storage.dkyprod.akadns.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% bl3302geo.storage.dkyprod.akadns.net>>%HOSTS%
FIND /C /I "bl3302.storage.live.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% bl3302.storage.live.com>>%HOSTS%
FIND /C /I "b.rad.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% b.rad.msn.com>>%HOSTS%
FIND /C /I "b.ads2.msads.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% b.ads2.msads.net>>%HOSTS%
FIND /C /I "b.ads1.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% b.ads1.msn.com>>%HOSTS%
FIND /C /I "az512334.vo.msecnd.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% az512334.vo.msecnd.net>>%HOSTS%
FIND /C /I "az361816.vo.msecnd.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% az361816.vo.msecnd.net>>%HOSTS%
FIND /C /I "apps.skype.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% apps.skype.com>>%HOSTS%
FIND /C /I "any.edge.bing.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% any.edge.bing.com>>%HOSTS%
FIND /C /I "americas2.notify.windows.com.akadns.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% americas2.notify.windows.com.akadns.net>>%HOSTS%
FIND /C /I "aka-cdn-ns.adtech.de" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% aka-cdn-ns.adtech.de>>%HOSTS%
FIND /C /I "aidps.atdmt.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% aidps.atdmt.com>>%HOSTS%
FIND /C /I "ads1.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ads1.msn.com>>%HOSTS%
FIND /C /I "ads1.msads.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ads1.msads.net>>%HOSTS%
FIND /C /I "ads.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ads.msn.com>>%HOSTS%
FIND /C /I "adnxs.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% adnxs.com>>%HOSTS%
FIND /C /I "adnexus.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% adnexus.net>>%HOSTS%
FIND /C /I "ad.doubleclick.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ad.doubleclick.net>>%HOSTS%
FIND /C /I "ac3.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% ac3.msn.com>>%HOSTS%
FIND /C /I "a978.i6g1.akamai.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a978.i6g1.akamai.net>>%HOSTS%
FIND /C /I "a.rad.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a.rad.msn.com>>%HOSTS%
FIND /C /I "a.ads2.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a.ads2.msn.com>>%HOSTS%
FIND /C /I "a.ads2.msads.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a.ads2.msads.net>>%HOSTS%
FIND /C /I "a.ads1.msn.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a.ads1.msn.com>>%HOSTS%
FIND /C /I "a-msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a-msedge.net>>%HOSTS%
FIND /C /I "a-0009.a-msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a-0009.a-msedge.net>>%HOSTS%
FIND /C /I "a-0008.a-msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a-0008.a-msedge.net>>%HOSTS%
FIND /C /I "a-0007.a-msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a-0007.a-msedge.net>>%HOSTS%
FIND /C /I "a-0006.a-msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a-0006.a-msedge.net>>%HOSTS%
FIND /C /I "a-0005.a-msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a-0005.a-msedge.net>>%HOSTS%
FIND /C /I "a-0004.a-msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a-0004.a-msedge.net>>%HOSTS%
FIND /C /I "a-0003.a-msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a-0003.a-msedge.net>>%HOSTS%
FIND /C /I "a-0002.a-msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a-0002.a-msedge.net>>%HOSTS%
FIND /C /I "a-0001.a-msedge.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% a-0001.a-msedge.net>>%HOSTS%
FIND /C /I "OneSettings-bn2.metron.live.com.nsatc.net" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% OneSettings-bn2.metron.live.com.nsatc.net>>%HOSTS%
FIND /C /I "BN1WNS2011508.wns.windows.com" %HOSTS%
IF %ERRORLEVEL% NEQ 0 ECHO ^%NOURL% BN1WNS2011508.wns.windows.com>>%HOSTS%
ATTRIB +r "%WINDIR%system32driversetchosts"

ECHO ********** Add firewall rules. Block unwanted IP addresses.
REM  ********** Добавление правил брандмауэра. Блокировка нежелательных IP адресов.

NETSH advfirewall set allprofiles state on
NETSH advfirewall firewall add rule name="telemetry_www.trust.office365.com" dir=out action=block remoteip=64.4.6.100 enable=yes
NETSH advfirewall firewall add rule name="telemetry_www.moskisvet.com.c.footprint.net" dir=out action=block remoteip=8.253.37.126 enable=yes
NETSH advfirewall firewall add rule name="telemetry_www.moskisvet.com.c.footprint.net" dir=out action=block remoteip=198.78.208.254 enable=yes
NETSH advfirewall firewall add rule name="telemetry_www.cisco.com" dir=out action=block remoteip=198.135.3.118 enable=yes
NETSH advfirewall firewall add rule name="telemetry_wusonprem.ipv6.microsoft.com.akadns.net" dir=out action=block remoteip=157.56.106.189 enable=yes
NETSH advfirewall firewall add rule name="telemetry_wns.windows.com" dir=out action=block remoteip=40.77.229.0-40.77.229.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_wes.df.telemetry.microsoft.com" dir=out action=block remoteip=65.52.100.93 enable=yes
NETSH advfirewall firewall add rule name="telemetry_wdcpeurope.microsoft.akadns.net" dir=out action=block remoteip=137.117.235.16 enable=yes
NETSH advfirewall firewall add rule name="telemetry_watson.telemetry.microsoft.com" dir=out action=block remoteip=40.77.228.92 enable=yes
NETSH advfirewall firewall add rule name="telemetry_watson.ppe.telemetry.microsoft.com" dir=out action=block remoteip=65.52.100.11 enable=yes
NETSH advfirewall firewall add rule name="telemetry_watson.microsoft.com.nsatc.net" dir=out action=block remoteip=65.52.108.154 enable=yes
NETSH advfirewall firewall add rule name="telemetry_watson.live.com" dir=out action=block remoteip=207.46.223.94 enable=yes
NETSH advfirewall firewall add rule name="telemetry_vortex-db5.metron.live.com.nsatc.net" dir=out action=block remoteip=191.232.139.5 enable=yes
NETSH advfirewall firewall add rule name="telemetry_vd.vidfuture.com" dir=out action=block remoteip=66.225.197.197 enable=yes
NETSH advfirewall firewall add rule name="telemetry_v4ncsi.msedge.net" dir=out action=block remoteip=13.107.4.52 enable=yes
NETSH advfirewall firewall add rule name="telemetry_v20-asimov-win.vortex.data.microsoft.com.akadns.net" dir=out action=block remoteip=64.4.54.254 enable=yes
NETSH advfirewall firewall add rule name="telemetry_v10-win.vortex.data.microsoft.com.akadns.net" dir=out action=block remoteip=111.221.29.254 enable=yes
NETSH advfirewall firewall add rule name="telemetry_us.vortex-win.data.microsoft.com" dir=out action=block remoteip=40.90.136.33 enable=yes
NETSH advfirewall firewall add rule name="telemetry_urs.microsoft.com.nsatc.net" dir=out action=block remoteip=157.55.233.125,192.232.139.180 enable=yes
NETSH advfirewall firewall add rule name="telemetry_trouter-neu-a.cloudapp.net" dir=out action=block remoteip=13.69.188.18 enable=yes
NETSH advfirewall firewall add rule name="telemetry_trouter-easia-a.dc.trouter.io" dir=out action=block remoteip=13.75.106.0 enable=yes
NETSH advfirewall firewall add rule name="telemetry_telemetry.microsoft.com" dir=out action=block remoteip=65.52.100.9 enable=yes
NETSH advfirewall firewall add rule name="telemetry_telemetry.appex.search.prod.ms.akadns.net" dir=out action=block remoteip=168.61.24.141 enable=yes
NETSH advfirewall firewall add rule name="telemetry_telemetry.appex.bing.net" dir=out action=block remoteip=65.52.161.64,168.63.108.233 enable=yes
NETSH advfirewall firewall add rule name="telemetry_telecommand.telemetry.microsoft.com" dir=out action=block remoteip=65.55.252.92 enable=yes
NETSH advfirewall firewall add rule name="telemetry_tapeytapey.com" dir=out action=block remoteip=2.21.246.26 enable=yes
NETSH advfirewall firewall add rule name="telemetry_t.urs.microsoft.com.nsatc.net" dir=out action=block remoteip=64.4.54.167,65.55.44.85 enable=yes
NETSH advfirewall firewall add rule name="telemetry_t.urs.microsoft.com" dir=out action=block remoteip=131.253.40.37 enable=yes
NETSH advfirewall firewall add rule name="telemetry_survey.watson.microsoft.com" dir=out action=block remoteip=207.68.166.254 enable=yes
NETSH advfirewall firewall add rule name="telemetry_statsfe2-df.ws.microsoft.com.nsatc.net" dir=out action=block remoteip=134.170.115.60 enable=yes
NETSH advfirewall firewall add rule name="telemetry_statsfe2.ws.microsoft.com.nsatc.net" dir=out action=block remoteip=131.253.14.153 enable=yes
NETSH advfirewall firewall add rule name="telemetry_statsfe2.ws.microsoft.com" dir=out action=block remoteip=207.46.114.61 enable=yes
NETSH advfirewall firewall add rule name="telemetry_statsfe2.update.microsoft.com.akadns.net" dir=out action=block remoteip=65.52.108.153 enable=yes
NETSH advfirewall firewall add rule name="telemetry_stats.update.microsoft.com.nsatc.net" dir=out action=block remoteip=64.4.54.22 enable=yes
NETSH advfirewall firewall add rule name="telemetry_static.sl-reverse.com" dir=out action=block remoteip=169.54.179.156 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ssw.live.com.nsatc.net" dir=out action=block remoteip=207.46.7.252 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ssw.live.com" dir=out action=block remoteip=207.46.101.29 enable=yes
NETSH advfirewall firewall add rule name="telemetry_sqm.msn.com" dir=out action=block remoteip=65.55.252.93 enable=yes
NETSH advfirewall firewall add rule name="telemetry_sqm.df.telemetry.microsoft.com" dir=out action=block remoteip=65.52.100.94 enable=yes
NETSH advfirewall firewall add rule name="telemetry_sonybank.net" dir=out action=block remoteip=2.21.246.24 enable=yes
NETSH advfirewall firewall add rule name="telemetry_settings-win-ppe.data.microsoft.com" dir=out action=block remoteip=40.77.226.248 enable=yes
NETSH advfirewall firewall add rule name="telemetry_settings-sandbox.data.microsoft.com" dir=out action=block remoteip=111.221.29.177 enable=yes
NETSH advfirewall firewall add rule name="telemetry_settings-sandbox.data.glbdns2.microsoft.com" dir=out action=block remoteip=191.232.140.76 enable=yes
NETSH advfirewall firewall add rule name="telemetry_services.wes.df.telemetry.microsoft.com" dir=out action=block remoteip=65.52.100.92 enable=yes
NETSH advfirewall firewall add rule name="telemetry_service.xbox.com" dir=out action=block remoteip=157.55.129.21 enable=yes
NETSH advfirewall firewall add rule name="telemetry_secure-ams.adnxs.com" dir=out action=block remoteip=37.252.163.244,37.252.163.106 enable=yes
NETSH advfirewall firewall add rule name="telemetry_secure.flashtalking.com" dir=out action=block remoteip=95.101.244.134 enable=yes
NETSH advfirewall firewall add rule name="telemetry_schemas.microsoft.akadns.net" dir=out action=block remoteip=65.54.226.187 enable=yes
NETSH advfirewall firewall add rule name="telemetry_sact.atdmt.com" dir=out action=block remoteip=94.245.121.177 enable=yes
NETSH advfirewall firewall add rule name="telemetry_s0.2mdn.net" dir=out action=block remoteip=172.217.21.166 enable=yes
NETSH advfirewall firewall add rule name="telemetry_s.outlook.com" dir=out action=block remoteip=134.170.3.199 enable=yes
NETSH advfirewall firewall add rule name="telemetry_rmads.msn.com" dir=out action=block remoteip=157.56.23.91 enable=yes
NETSH advfirewall firewall add rule name="telemetry_reports.wes.df.telemetry.microsoft.com" dir=out action=block remoteip=65.52.100.91 enable=yes
NETSH advfirewall firewall add rule name="telemetry_redir.metaservices.microsoft.com" dir=out action=block remoteip=194.44.4.200,194.44.4.208,2.21.246.42,2.21.246.58 enable=yes
NETSH advfirewall firewall add rule name="telemetry_realgames.cn" dir=out action=block remoteip=65.55.57.27 enable=yes
NETSH advfirewall firewall add rule name="telemetry_pipe.skype.com" dir=out action=block remoteip=40.115.1.44 enable=yes
NETSH advfirewall firewall add rule name="telemetry_perthnow.com.au" dir=out action=block remoteip=2.21.246.8 enable=yes
NETSH advfirewall firewall add rule name="telemetry_osiprod-weu-snow-000.cloudapp.net" dir=out action=block remoteip=23.97.178.173 enable=yes
NETSH advfirewall firewall add rule name="telemetry_oca.watson.data.microsoft.com.akadns.net" dir=out action=block remoteip=64.4.54.153 enable=yes
NETSH advfirewall firewall add rule name="telemetry_oca.telemetry.microsoft.com.nsatc.net" dir=out action=block remoteip=65.55.252.63 enable=yes
NETSH advfirewall firewall add rule name="telemetry_nt-c.ns.nsatc.net" dir=out action=block remoteip=8.254.119.155 enable=yes
NETSH advfirewall firewall add rule name="telemetry_nt-b.ns.nsatc.net" dir=out action=block remoteip=8.254.92.155 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ns3.msft.net" dir=out action=block remoteip=192.221.113.53 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ns3.a-msedge.net" dir=out action=block remoteip=131.253.21.1 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ns2.a-msedge.net" dir=out action=block remoteip=204.79.197.2 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ns1.gslb.com" dir=out action=block remoteip=8.19.31.10 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ns1.a-msedge.net" dir=out action=block remoteip=204.79.197.1 enable=yes
NETSH advfirewall firewall add rule name="telemetry_nl-1.ns.nsatc.net" dir=out action=block remoteip=4.23.39.155 enable=yes
NETSH advfirewall firewall add rule name="telemetry_nexus.officeapps.live.com" dir=out action=block remoteip=40.76.8.142,23.101.14.229,207.46.153.155 enable=yes
NETSH advfirewall firewall add rule name="telemetry_next-services.windows.akadns.net" dir=out action=block remoteip=134.170.30.202 enable=yes
NETSH advfirewall firewall add rule name="telemetry_new_wns.windows.com" dir=out action=block remoteip=131.253.21.0-131.253.47.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_msnbot-65-55-108-23.search.msn.com" dir=out action=block remoteip=65.55.108.23 enable=yes
NETSH advfirewall firewall add rule name="telemetry_msnbot-64-4-54-18.search.msn.com" dir=out action=block remoteip=64.4.54.18 enable=yes
NETSH advfirewall firewall add rule name="telemetry_msnbot-207-46-194-46.search.msn.com" dir=out action=block remoteip=207.46.194.46 enable=yes
NETSH advfirewall firewall add rule name="telemetry_msnbot-207-46-194-33.search.msn.com" dir=out action=block remoteip=207.46.194.33 enable=yes
NETSH advfirewall firewall add rule name="telemetry_msnbot-207-46-194-29.search.msn.com" dir=out action=block remoteip=207.46.194.29 enable=yes
NETSH advfirewall firewall add rule name="telemetry_msnbot-207-46-194-25.search.msn.com" dir=out action=block remoteip=207.46.194.25 enable=yes
NETSH advfirewall firewall add rule name="telemetry_msnbot-207-46-194-14.search.msn.com" dir=out action=block remoteip=207.46.194.14 enable=yes
NETSH advfirewall firewall add rule name="telemetry_msedge.net" dir=out action=block remoteip=204.79.19.197 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ms1-ib.adnxs.com" dir=out action=block remoteip=37.252.163.88 enable=yes
NETSH advfirewall firewall add rule name="telemetry_modern.watson.data.microsoft.com.akadns.net" dir=out action=block remoteip=65.55.252.43,65.52.108.29,65.55.252.202 enable=yes
NETSH advfirewall firewall add rule name="telemetry_mm.bing.net" dir=out action=block remoteip=204.79.197.200 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft22.com" dir=out action=block remoteip=52.178.178.16 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft21.com" dir=out action=block remoteip=65.55.64.54 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft20.com" dir=out action=block remoteip=40.80.145.27 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft17.com" dir=out action=block remoteip=40.80.145.78 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft16.com" dir=out action=block remoteip=23.99.116.116 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft15.com" dir=out action=block remoteip=77.67.29.176 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft14.com" dir=out action=block remoteip=65.55.223.0-65.55.223.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft13.com" dir=out action=block remoteip=65.39.117.230 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft12.com" dir=out action=block remoteip=64.4.23.0-64.4.23.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft11.com" dir=out action=block remoteip=23.223.20.82 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft10.com" dir=out action=block remoteip=213.199.179.0-213.199.179.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft09.com" dir=out action=block remoteip=2.22.61.66 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft08.com" dir=out action=block remoteip=195.138.255.0-195.138.255.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft07.com" dir=out action=block remoteip=157.55.56.0-157.55.56.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft06.com" dir=out action=block remoteip=157.55.52.0-157.55.52.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft05.com" dir=out action=block remoteip=157.55.236.0-157.55.236.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft04.com" dir=out action=block remoteip=157.55.235.0-157.55.235.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft03.com" dir=out action=block remoteip=157.55.130.0-157.55.130.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft02.com" dir=out action=block remoteip=111.221.64.0-111.221.127.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft01.com" dir=out action=block remoteip=11.221.29.253 enable=yes
NETSH advfirewall firewall add rule name="telemetry_microsoft.com" dir=out action=block remoteip=104.96.147.3 enable=yes
NETSH advfirewall firewall add rule name="telemetry_mediaroomsds.microsoft.com" dir=out action=block remoteip=134.170.185.70 enable=yes
NETSH advfirewall firewall add rule name="telemetry_media.blinkbox.com.c.footprint.net" dir=out action=block remoteip=206.33.58.254 enable=yes
NETSH advfirewall firewall add rule name="telemetry_m.adnxs.com" dir=out action=block remoteip=37.252.170.141 enable=yes
NETSH advfirewall firewall add rule name="telemetry_legacy.watson.data.microsoft.com.akadns.net" dir=out action=block remoteip=65.55.252.71 enable=yes
NETSH advfirewall firewall add rule name="telemetry_inside.microsoftmse.com" dir=out action=block remoteip=65.55.39.10 enable=yes
NETSH advfirewall firewall add rule name="telemetry_iact.atdmt.com" dir=out action=block remoteip=94.245.121.178 enable=yes
NETSH advfirewall firewall add rule name="telemetry_i4.services.social.microsoft.com" dir=out action=block remoteip=104.79.134.225 enable=yes
NETSH advfirewall firewall add rule name="telemetry_i1.services.social.microsoft.com" dir=out action=block remoteip=23.74.190.252,104.82.22.249 enable=yes
NETSH advfirewall firewall add rule name="telemetry_hp-comm.ca.msn.com" dir=out action=block remoteip=40.127.139.224 enable=yes
NETSH advfirewall firewall add rule name="telemetry_helloaddress.com" dir=out action=block remoteip=2.21.246.10 enable=yes
NETSH advfirewall firewall add rule name="telemetry_globalns2.appnexus.net" dir=out action=block remoteip=8.19.31.11 enable=yes
NETSH advfirewall firewall add rule name="telemetry_geo-prod.dodsp.mp.microsoft.com.nsatc.net" dir=out action=block remoteip=191.232.139.212 enable=yes
NETSH advfirewall firewall add rule name="telemetry_geo-prod.do.dsp.mp.microsoft.com" dir=out action=block remoteip=40.77.226.217-40.77.226.224 enable=yes
NETSH advfirewall firewall add rule name="telemetry_geo.settings.data.microsoft.com.akadns.net" dir=out action=block remoteip=64.4.0.0-64.4.63.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_float.2655.bm-impbus.prod.ams1.adnexus.net" dir=out action=block remoteip=37.252.163.215 enable=yes
NETSH advfirewall firewall add rule name="telemetry_float.2113.bm-impbus.prod.ams1.adnexus.net" dir=out action=block remoteip=37.252.163.3 enable=yes
NETSH advfirewall firewall add rule name="telemetry_float.1334.bm-impbus.prod.fra1.adnexus.net" dir=out action=block remoteip=37.252.170.82 enable=yes
NETSH advfirewall firewall add rule name="telemetry_float.1332.bm-impbus.prod.fra1.adnexus.net" dir=out action=block remoteip=37.252.170.81 enable=yes
NETSH advfirewall firewall add rule name="telemetry_float.1143.bm-impbus.prod.fra1.adnexus.net" dir=out action=block remoteip=37.252.170.1 enable=yes
NETSH advfirewall firewall add rule name="telemetry_flex.msn.com" dir=out action=block remoteip=207.46.194.8 enable=yes
NETSH advfirewall firewall add rule name="telemetry_fesweb1.ch1d.binginternal.com" dir=out action=block remoteip=131.253.14.76 enable=yes
NETSH advfirewall firewall add rule name="telemetry_fe3.delivery.dsp.mp.microsoft.com.nsatc.net" dir=out action=block remoteip=64.4.54.18 enable=yes
NETSH advfirewall firewall add rule name="telemetry_fd-rad-msn-com.a-0004.a-msedge.net" dir=out action=block remoteip=204.79.197.206 enable=yes
NETSH advfirewall firewall add rule name="telemetry_fashiontamils.com" dir=out action=block remoteip=69.64.34.185 enable=yes
NETSH advfirewall firewall add rule name="telemetry_exch-eu.atdmt.com.nsatc.net" dir=out action=block remoteip=94.245.121.179,94.245.121.176 enable=yes
NETSH advfirewall firewall add rule name="telemetry_evoke-windowsservices-tas.msedge.net" dir=out action=block remoteip=13.107.5.88 enable=yes
NETSH advfirewall firewall add rule name="telemetry_eu.vortex-win.data.microsoft.com" dir=out action=block remoteip=191.232.139.254 enable=yes
NETSH advfirewall firewall add rule name="telemetry_es-1.ns.nsatc.net" dir=out action=block remoteip=8.254.34.155 enable=yes
NETSH advfirewall firewall add rule name="telemetry_edge-atlas-shv-01-cdg2.facebook.com" dir=out action=block remoteip=179.60.192.10 enable=yes
NETSH advfirewall firewall add rule name="telemetry_e8218.ce.akamaiedge.net" dir=out action=block remoteip=23.57.107.27 enable=yes
NETSH advfirewall firewall add rule name="telemetry_e6845.ce.akamaiedge.net" dir=out action=block remoteip=23.57.101.163 enable=yes
NETSH advfirewall firewall add rule name="telemetry_dub109-afx.ms.a-0009.a-msedge.net" dir=out action=block remoteip=204.79.197.211 enable=yes
NETSH advfirewall firewall add rule name="telemetry_dps.msn.com" dir=out action=block remoteip=131.253.14.121 enable=yes
NETSH advfirewall firewall add rule name="telemetry_dmd.metaservices.microsoft.com.akadns.net" dir=out action=block remoteip=52.160.91.170 enable=yes
NETSH advfirewall firewall add rule name="telemetry_dmd.metaservices.microsoft.com.akadns.net" dir=out action=block remoteip=40.112.210.171 enable=yes
NETSH advfirewall firewall add rule name="telemetry_dmd.metaservices.microsoft.com" dir=out action=block remoteip=40.87.63.92,40.80.145.78,40.80.145.38,40.80.145.27,40.112.213.22 enable=yes
NETSH advfirewall firewall add rule name="telemetry_diagnostics.support.microsoft.com" dir=out action=block remoteip=134.170.52.151 enable=yes
NETSH advfirewall firewall add rule name="telemetry_diagnostics.support.microsoft.akadns.net" dir=out action=block remoteip=157.56.121.89 enable=yes
NETSH advfirewall firewall add rule name="telemetry_df.telemetry.microsoft.com" dir=out action=block remoteip=65.52.100.7 enable=yes
NETSH advfirewall firewall add rule name="telemetry_descargas.diximedia.es.c.footprint.net" dir=out action=block remoteip=185.13.160.61 enable=yes
NETSH advfirewall firewall add rule name="telemetry_deploy.static.akamaitechnologies.com" dir=out action=block remoteip=23.218.212.69 enable=yes
NETSH advfirewall firewall add rule name="telemetry_deploy.akamaitechnologies.com" dir=out action=block remoteip=95.100.38.95 enable=yes
NETSH advfirewall firewall add rule name="telemetry_db5.wns.notify.windows.com.akadns.net" dir=out action=block remoteip=40.77.226.246,40.77.226.247 enable=yes
NETSH advfirewall firewall add rule name="telemetry_db5.vortex.data.microsoft.com.akadns.net" dir=out action=block remoteip=40.77.226.250 enable=yes
NETSH advfirewall firewall add rule name="telemetry_db5.settings.data.microsoft.com.akadns.net" dir=out action=block remoteip=40.77.226.249,191.232.139.253 enable=yes
NETSH advfirewall firewall add rule name="telemetry_db5.displaycatalog.md.mp.microsoft.com.akadns.net" dir=out action=block remoteip=40.77.229.125 enable=yes
NETSH advfirewall firewall add rule name="telemetry_db3wns2011111.wns.windows.com" dir=out action=block remoteip=157.56.124.87 enable=yes
NETSH advfirewall firewall add rule name="telemetry_dart.l.doubleclick.net" dir=out action=block remoteip=173.194.113.219,173.194.113.220,173.194.113.219,216.58.209.166,172.217.20.134 enable=yes
NETSH advfirewall firewall add rule name="telemetry_cy2.settings.data.microsoft.com.akadns.net" dir=out action=block remoteip=64.4.54.253,13.78.188.147 enable=yes
NETSH advfirewall firewall add rule name="telemetry_cs697.wac.thetacdn.net" dir=out action=block remoteip=192.229.233.249 enable=yes
NETSH advfirewall firewall add rule name="telemetry_cs479.wac.edgecastcdn.net" dir=out action=block remoteip=68.232.35.139 enable=yes
NETSH advfirewall firewall add rule name="telemetry_corpext.msitadfs.glbdns2.microsoft.com" dir=out action=block remoteip=131.107.113.238 enable=yes
NETSH advfirewall firewall add rule name="telemetry_compatexchange.cloudapp.net" dir=out action=block remoteip=23.99.10.11 enable=yes
NETSH advfirewall firewall add rule name="telemetry_colonialtoolset.com" dir=out action=block remoteip=208.84.0.53 enable=yes
NETSH advfirewall firewall add rule name="telemetry_col130-afx.ms.a-0008.a-msedge.net" dir=out action=block remoteip=204.79.197.210 enable=yes
NETSH advfirewall firewall add rule name="telemetry_co4.telecommand.telemetry.microsoft.com.akadns.net" dir=out action=block remoteip=65.55.252.190 enable=yes
NETSH advfirewall firewall add rule name="telemetry_cn.msn.fr" dir=out action=block remoteip=23.102.21.4 enable=yes
NETSH advfirewall firewall add rule name="telemetry_choice.microsoft.com.nsatc.net" dir=out action=block remoteip=65.55.128.81,157.56.91.77 enable=yes
NETSH advfirewall firewall add rule name="telemetry_chinamobileltd.com" dir=out action=block remoteip=211.137.82.38 enable=yes
NETSH advfirewall firewall add rule name="telemetry_cdn.energetichabits.com" dir=out action=block remoteip=93.184.220.20 enable=yes
NETSH advfirewall firewall add rule name="telemetry_cdn.deezer.com.c.footprint.net" dir=out action=block remoteip=8.254.209.254 enable=yes
NETSH advfirewall firewall add rule name="telemetry_cannon-construction.co.uk" dir=out action=block remoteip=93.184.220.29 enable=yes
NETSH advfirewall firewall add rule name="telemetry_candycrushsoda.king.com" dir=out action=block remoteip=185.48.81.162 enable=yes
NETSH advfirewall firewall add rule name="telemetry_c.nine.com.au" dir=out action=block remoteip=207.46.194.10 enable=yes
NETSH advfirewall firewall add rule name="telemetry_c.microsoft.akadns.net" dir=out action=block remoteip=134.170.188.139 enable=yes
NETSH advfirewall firewall add rule name="telemetry_bsnl.eyeblaster.akadns.net" dir=out action=block remoteip=82.199.80.141 enable=yes
NETSH advfirewall firewall add rule name="telemetry_bots.teams.skype.com" dir=out action=block remoteip=13.107.3.128 enable=yes
NETSH advfirewall firewall add rule name="telemetry_bn2.vortex.data.microsoft.com.akadns.net" dir=out action=block remoteip=65.55.44.109 enable=yes
NETSH advfirewall firewall add rule name="telemetry_blu173-mail-live-com.a-0006.a-msedge.net" dir=out action=block remoteip=204.79.197.208 enable=yes
NETSH advfirewall firewall add rule name="telemetry_beta.t.urs.microsoft.com" dir=out action=block remoteip=157.56.74.250 enable=yes
NETSH advfirewall firewall add rule name="telemetry_bay175-mail-live-com.a-0007.a-msedge.net" dir=out action=block remoteip=204.79.197.209 enable=yes
NETSH advfirewall firewall add rule name="telemetry_b.ns.nsatc.net" dir=out action=block remoteip=198.78.208.155 enable=yes
NETSH advfirewall firewall add rule name="telemetry_auth.nym2.appnexus.net" dir=out action=block remoteip=68.67.155.138 enable=yes
NETSH advfirewall firewall add rule name="telemetry_auth.lax1.appnexus.net" dir=out action=block remoteip=68.67.133.169 enable=yes
NETSH advfirewall firewall add rule name="telemetry_auth.ams1.appnexus.net" dir=out action=block remoteip=37.252.164.5 enable=yes
NETSH advfirewall firewall add rule name="telemetry_assets2.parliament.uk.c.footprint.net" dir=out action=block remoteip=192.221.106.126 enable=yes
NETSH advfirewall firewall add rule name="telemetry_assets.dishonline.com.c.footprint.net" dir=out action=block remoteip=207.123.56.252 enable=yes
NETSH advfirewall firewall add rule name="telemetry_asimov-sandbox.vortex.data.microsoft.com.akadns.net" dir=out action=block remoteip=64.4.54.32 enable=yes
NETSH advfirewall firewall add rule name="telemetry_array204-prod.dodsp.mp.microsoft.com.nsatc.net" dir=out action=block remoteip=65.52.0.0-65.52.255.255 enable=yes
NETSH advfirewall firewall add rule name="telemetry_apnic.net" dir=out action=block remoteip=221.232.247.2,222.216.3.213 enable=yes
NETSH advfirewall firewall add rule name="telemetry_a-msedge.net" dir=out action=block remoteip=204.79.197.204 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ams1-ib.adnxs.com" dir=out action=block remoteip=37.252.163.207,37.252.162.228,37.252.162.216 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ampudc.udc0.glbdns2.microsoft.com" dir=out action=block remoteip=137.116.81.24 enable=yes
NETSH advfirewall firewall add rule name="telemetry_akadns.info" dir=out action=block remoteip=157.56.96.54 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ads.msn.com" dir=out action=block remoteip=157.56.91.82,157.56.23.91,104.82.14.146,207.123.56.252,185.13.160.61,8.254.209.254,65.55.128.80,8.12.207.125 enable=yes
NETSH advfirewall firewall add rule name="telemetry_adnxs.com" dir=out action=block remoteip=37.252.170.80,37.252.170.142,37.252.170.140,37.252.169.43 enable=yes
NETSH advfirewall firewall add rule name="telemetry_ad.doubleclick.net" dir=out action=block remoteip=172.217.20.230 enable=yes
NETSH advfirewall firewall add rule name="telemetry_acyfdr.explicit.bing.net" dir=out action=block remoteip=204.79.197.201 enable=yes
NETSH advfirewall firewall add rule name="telemetry_a.msft.net" dir=out action=block remoteip=208.76.45.53 enable=yes

ECHO ********** Block ports (security)
REM  ********** Блокировка портов (безопасность)

NETSH advfirewall firewall add rule name="Block_TCP-69" dir=in action=block protocol=tcp localport=69 enable=yes
NETSH advfirewall firewall add rule name="Block_TCP-135" dir=in action=block protocol=tcp localport=135 enable=yes
NETSH advfirewall firewall add rule name="Block_TCP-137" dir=in action=block protocol=tcp localport=137 enable=yes
NETSH advfirewall firewall add rule name="Block_TCP-138" dir=in action=block protocol=tcp localport=138 enable=yes
NETSH advfirewall firewall add rule name="Block_TCP-139" dir=in action=block protocol=tcp localport=139 enable=yes
NETSH advfirewall firewall add rule name="Block_TCP-445" dir=in action=block protocol=tcp localport=445 enable=yes
NETSH advfirewall firewall add rule name="Block_TCP-1025" dir=in action=block protocol=tcp localport=1025 enable=yes
NETSH advfirewall firewall add rule name="Block_TCP-4444" dir=in action=block protocol=tcp localport=4444 enable=yes
NETSH advfirewall firewall add rule name="Block_TCP-5000" dir=in action=block protocol=tcp localport=5000 enable=yes
GOTO REG

:RESTART
ECHO ********** Reboot
REM  ********** Перезагрузка

SHUTDOWN -r -t 00

Сохраняем с расширением .bat кодировка — cp1251 (в противном случае в консоли увидите крокозябры вместо русского текста, на работоспособность не повлияет). В процессе выполнения программы ничего не делайте. Перезагрузка последует автоматически.

Запускать с правами администратора обязательно!

Если по каким-либо причинам вы не можете запустить с правами админа — вставьте в начале следующий код:
Я не стал его вставлять в основной — антивирусы могут ругаться.


ECHO ********** Get admin permissions **********
ECHO ********** Получаем права администратора **********
>nul 2>&1 "%SYSTEMROOT%system32cacls.exe" "%SYSTEMROOT%system32configsystem"
IF '%errorlevel%' NEQ '0' (
ECHO Requesting administrative privileges...
GOTO UACPrompt
) else ( GOTO gotAdmin )
:UACPrompt
ECHO SET UAC = CreateObject^("Shell.Application"^) > "%temp%getadmin.vbs"
ECHO UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%getadmin.vbs"
"%temp%getadmin.vbs"
Exit /B
:gotAdmin
IF EXIST "%temp%getadmin.vbs" ( DEL "%temp%getadmin.vbs" )

Не обращайте внимание на ошибки в консоли — так и должно быть, например, в коде может несколько раз прописано удаление одной и той же функции для верности разными способами. Некоторые функции могут частично не работать или сработать не у всех, код достаточно сырой. Но уже даёт отличные результаты и экономит очень много времени. Программе достаточно 2-5 минут чтобы настроить Windows 10 на уровне программиста. Ручная такая настройка заняла бы несколько часов даже у опытного мастера.

Скачать

Данное программное обеспечение предназначено в основном для использования один раз — после установки и активации Windows 10. Однако также может использоваться в целях профилактики, а также на других версиях — 7, 8, 8.1, многие функции поддерживаются.

Данный программный код частично собран из разных источников. В основе — Tweak Script for Windows 10 Enterprise BY ERICG, Novicorp Remove Windows 10 Spying, Destroy Windows 10 Spying by Nummer, различные форумы, в их числе www.cyberforum.ru и forum.ru-board.com, не обошлось без Google, советов единомышленников и собственных усилий.

Помогите мне стать лучше — если есть идеи, правки, решения — поделитесь, пишите VKontakte, Facebook, на странице контакты есть другие способы связи.

Из песочницы, Системное администрирование, PowerShell


Рекомендация: подборка платных и бесплатных курсов создания сайтов — https://katalog-kursov.ru/

Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 18362), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части.

Конечно, будет проблематично описать все пункты настройки, но постараюсь выделить самое важное.

Если кому-то интересно, то добро пожаловать по кат.

Вступление

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

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

Основные функции

  • Отключить службы диагностического отслеживания
  • Множество твиков Проводника
  • Выбрать режим Windows по умолчанию
  • Выбрать режим приложения по умолчанию
  • Изменить путь переменной среды для временных файлов на $env:SystemDriveTemp
  • Включить дополнительную информацию при выводе BSoD
  • Отключить Windows Defender SmartScreen в Microsoft Edge
  • Запретить отключение Ethernet-адаптера для экономии энергии для стационарного ПК
  • Удалить все UWP-приложения из всех учетных записей, кроме
  • Удалить все UWP-приложения из системной учетной записи, кроме
  • Отключить компоненты
  • Удалить OneDrive
  • Создать в Планировщике задач задачу по запуску очистки диска
  • Создать в Планировщике задач задачу по очистке папки «$env:SystemRootSoftwareDistributionDownload»
  • Создать в Планировщике задач очистки папки $env:TEMP
  • Запретить стандартным приложениям работать в фоновом режиме, кроме
  • Включить контролируемый доступ к папкам и добавить защищенные папки
  • Отключить пользовательские службы
  • Создать ярлык старого формата для «Устройства и принтеры»
  • Переопределить расположение папок «Рабочий стол», «Документы», «Загрузки», «Музыка», «Изображения», «Видео»
  • Обновить иконки рабочего стола, переменные среды и панель задач без перезапуска «Проводника»

Скрипт

Github

Использование

  • Если будете сохранять в файл .ps1, То следует изменить кодировку на «UTF-8 с BOM»

или

  • Скопировать код целиком и вставить в PowerShell ISE

NB

  • PowerShell и PowerShell ISE должны запускаться с повышенными правами
  • Установить соответствующую политику запуска скриптов PowerShell

Set-ExecutionPolicy Unrestricted -Force

Установленная Windows 10 полностью готова к работе «из коробки», и всё же многие из пользователей предпочитают производить дополнительные настройки только что установленной системы. Кому-то не нужен включённый по умолчанию в Windows 10 OneDrive, кто-то желает отключить уведомления встроенных UWP-приложений и так далее, и так далее. Все эти действия выполняются обычно в ручном режиме, но если вы считаете себя достаточно опытным пользователем, можете воспользоваться готовым решением.

Разработчик и участник проекта GitHub, известный под ником farag2, создал скрипт, предоставляющий администраторам широкие возможности для настройки и оптимизации установленной Windows 10 из единого интерфейса командной оболочки PowerShell. При этом разработчик отмечает, что полуавтоматическую настройку с помощью созданного им скрипта следует производить сразу после установки системы. Кроме того, на всякий случай перед применением скрипта рекомендуется создать резервную копию системы.

Скрипты

Возможности скрипта, условно названного «Windows 10 Setup Sсript», более чем широки. Инструментом поддерживается получение сведений о системе, настройка конфиденциальности, телеметрии и внешнего вида рабочего окружения, удаление ненужных встроенных приложений, установка подсистемы Linux, отключение диагностики, изменение путей расположение временных папок и папок пользователя, создание дополнительных задач, добавление файлов в список исключения Защитника и многое другое.

Полный список поддерживаемых скриптом задач можно посмотреть на странице github.com/farag2/Windows-10-Setup-Script.

Опциональная настройка скрипта

Сценарий поддерживает работу с Windows 10 версий 1903, 1909, 2004 и Windows 10 LTSC 1809, но для каждой версии в скачанном со страницы разработчика архиве имеется свой отдельный файл PS1. Обратите также внимание, что для запуска скриптов для Windows 1903, 1909 и 2004 можно использовать включённые в архив командные файлы CMD. Перед тем как запускать сценарий на исполнение, нажмите по нему ПКМ и выберете «Изменить», чтобы открыть его содержимое в среде PowerShell ISE. Скрипт содержит 3488 строк, но это не только код, но и комментарии, с которыми вы наверняка пожелаете ознакомиться.

Изменить

Если вы имеете представление о конструкциях If-Else, можете отредактировать вручную скрипт, пробежавшись по нему глазами и отключив (закомментировав или удалив) ненужные вам функции прямо в файле. С некоторыми опциями всё еще проще, так как они представлены всего одной строчкой, отключить которую можно поставив перед ней значок комментария #. К слову, все комментарии в скрипте добавлены на русском и английском языках, так что разобраться что к чему будет нетрудно.

PowerShell ISE

Запуск скрипта

Так как по умолчанию в Windows 10 запрещено исполнение скриптов, предоставьте системе разрешение, запустив от имени администратора PowerShell и выполнив команду Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process –Force. Затем перейдите в расположение скрипта и запустите его командой ./»Win 10 2004.ps1″

PowerShell

Если система попросит установить компонент NTVDM, как в нашем примере, установите его и запустите скрипт повторно.

NTVDM

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

Исполнение сценария

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

Следуйте его указаниям

Экономия времени и сил налицо, просто будьте внимательны, чтобы не отключить нужную вам настройку.

Дополнительные компоненты

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

А на этом всё.

Загрузка…

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

Все, что будет обсуждаться, применимо в первую очередь к домашнему использованию ОС и описывается языком для обывателей. Профессионалы итак знают, где найти нужную информацию, и такое им разжевывать не надо.

Шеф, все пропало!

Windows такой, какой он есть. В нем вряд ли кардинально уменьшится количество ошибок и та скорость, с которой Microsoft будет их исправлять. К сожалению, все «беды» Windows исходят из одной простой: она не должна была стать настолько популярной и быть на почти каждом ПК, а должна была стать уделом корпоративного сегмента, где ее бы обслуживали администраторы, знающие, как победить те или иные проблемы. Но все пошло не так.

Одним словом, если у вас проблема, и вы не знаете, как ее решить, — это, к сожалению, ваши трудности и нечего пенять на Microsoft, так как ОС все равно слишком сложна для рядового пользователя, чтобы знать все, как в ней устроено.

Начну со списка того, что больше всего волнует людей, когда заходит речь о Windows 10 и его использовании (не в порядке важности), а где можно, буду писать мой вариант решения проблемы, используя PowerShell:

  • Обновления;
  • Антивирус Microsoft Defender;
  • UWP-приложения;
  • Телеметрия;
  • Программы для «настройки» Windows 10;
  • Скрипт на PowerShell для настройки Windows 10.

Обновления

Сколько же я видел гневных статей на желтых сайтах и комментариев про эти пресловутые обновления. Они уже стали притчей во языцех, но что на практике? По моему опыту, в первую очередь неправильной установки обновлений всегда виноват пользователь, а именно его невежество, незнание матчасти и ретроградство, а уже потом — Microsoft.

Что делают люди: веками не устанавливают обновления по причине «боязни»; якобы им знакомый «программист» сказал, что они вообще не нужны (это, к сожалению, крайне частое явление), от них лишь вред, и вообще после их установки падает производительность. Конечно, люди прислушиваются ко мнению таких «профессионалов». Вся проблема в том, что нельзя так однозначно отвечать людям, а следует объяснять, почему следует ставить обновления и почему не следует их ставить (надеюсь, аудитория для себя понимает это).

Что рекомендую я? По умолчанию, конечно, всегда включать обновления, так как при должном обращении с ОС (а она, поверьте, прощает многое) проблем не будет. Да, надо понимать, что нужны средства на современное «железо», которое в синерги́и с современной ОС будет работать стабильнее.

Но что же делать, когда все пошло не так? Не углубляясь в конкретные случаи, для обывателя есть одно действенное средство средство (да при том еще и встроенное в ОС) по устранению неполадок: раздел «Устранение неполадок» (вот диво-то!). Параметры — Обновление и безопасность — Устранение неполадок

Вы не поверите, но, запустив диагностику неполадок Центра обновлений Windows, можно практически всегда исправить проблему установки обновлений. Кроме, конечно, тяжелых и странных случаев, где применяются уже сложные скрипты.

Не забываем очистить папку C:WindowsSoftwareDistributionDownload!

:: Надеюсь, вы понимаете, что делаете
rmdir %SystemRoot%SoftwareDistribution /S /Q

Насчет принудительной перезагрузки ПК после установки обновлений.

Windows 10 стал принудительно устанавливать обновления и перезагружать ПК, чего не делал Windows 7, только тогда, когда пользователь не перезагружает ПК месяцами. Скорее всего Microsoft надоело, что его обвиняют в том, что Windows — решето, и они пошли на такой шаг, чтобы уберечь пользователей от всяких Mischa, Petya, NotPetya и прочей нечести.

Но и то это было раньше. Все-таки Microsoft пошли на «уступки» и теперь центр обновления лишь уведомляет о наличии новой версии. Висеть такое уведомление о необходимости обновиться будет 18 месяцев и принудительно обновит пользователя до актуального билда лишь под конец окончания срока поддержки текущего билда. На практике обновление выполняется до версии, вышедшей через год после установленной. Происходит это незадолго до выпуска следующей версии. Так, владельцам 1803 начали устанавливать версию 1903 во второй половине июля 2019 года.

Антивирус Microsoft Defender

Часто слышу и читаю, как люди всеми силами пытаются отключить встроенный антивирус. К сожалению, это происходит чаще всего в тех случаях, когда ОС у пользователя установлена не на SSD, и пользователь чувствует, как антивирус тормозит его ПК. Тут ничего не попишешь, и пользователь тогда сам несет ответственность за свои данные в случае проникновения троянов. И все-таки, если у вас мощный ПК, то нет смысла отключать Microsoft Defender, не говоря уже про то, что он давно перестал быть игрушечным по сравнению даже с бесплатными аналогами.

Совсем недавно в нем появились такие функции, как

  • Защита от подделки

Предотвращает подделку важных функций системы безопасности другими пользователями

  • Контролируемый доступ к папкам

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

  • Защита от эксплоитов

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

UWP-приложения

Начать надо с того, что это такое. Кто-то по привычке называет их Metro-приложениями. Но за меня Стеркин уже давно ведет рубрику «Как называть приложения из Магазина». Пользоваться ими или нет, решать только вам. Но практически все, конечно, удаляются штатными средствами. Как пример, могу привести свой вариант удаления ненужных UWP-приложения на языке PowerShell.

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

# Удалить все UWP-приложения из всех учетных записей, кроме следующих…
$ExcludedApps = @(
# iTunes
«AppleInc.iTunes»
# UWP-панель Intel
«AppUp.IntelGraphicsControlPanel»
«AppUp.IntelGraphicsExperience»
# Microsoft Desktop App Installer
«Microsoft.DesktopAppInstaller»
# Записки
«Microsoft.MicrosoftStickyNotes»
# Набросок на фрагменте экрана
«Microsoft.ScreenSketch»
# Microsoft Store
«Microsoft.StorePurchaseApp»
«Microsoft.WindowsStore»
# Расширения для интернет-мультимедиа
«Microsoft.WebMediaExtensions»
# Фотографии и Видеоредактор
«Microsoft.Windows.Photos»
# Калькулятор
«Microsoft.WindowsCalculator»
# Панель управления NVidia
«NVIDIACorp.NVIDIAControlPanel»
)
$OFS = «|»
Get-AppxPackage -PackageTypeFilter Bundle -AllUsers | Where-Object {$_.Name -cnotmatch $ExcludedApps} | Remove-AppxPackage -AllUsers
$OFS = » »
# Удалить все UWP-приложения из системной учетной записи, кроме следующих…
# Приложения не будут установлены при создании новых учетных записей
$ExcludedApps = @(
# UWP-панель Intel
«AppUp.IntelGraphicsControlPanel»
«AppUp.IntelGraphicsExperience»
# Microsoft Desktop App Installer
«Microsoft.DesktopAppInstaller»
# Расширения для изображений HEIF
«Microsoft.HEIFImageExtension»
# Записки
«Microsoft.MicrosoftStickyNotes»
# Набросок на фрагменте экрана
«Microsoft.ScreenSketch»
# Microsoft Store
«Microsoft.StorePurchaseApp»
«Microsoft.WindowsStore»
# Расширения для VP9-видео
«Microsoft.VP9VideoExtensions»
# Расширения для интернет-мультимедиа
«Microsoft.WebMediaExtensions»
# Расширения для изображений WebP
«Microsoft.WebpImageExtension»
# Фотографии и Видеоредактор
«Microsoft.Windows.Photos»
# Калькулятор
«Microsoft.WindowsCalculator»
# Панель управления NVidia
«NVIDIACorp.NVIDIAControlPanel»
)
$OFS = «|»
Get-AppxProvisionedPackage -Online | Where-Object -FilterScript {$_.DisplayName -cnotmatch $ExcludedApps} | Remove-AppxProvisionedPackage -Online
$OFS = » «

Телеметрия

На эту тему спорить можно сколько угодно, но начнем с того, что люди «последовательны»: используя смартфоны на Android и iOS все мирятся (как могут), что за ними «следят», но как только заходит речь о телеметрии у ОС — большинство настроено агрессивно по отношению ко сбору данных об использовании ОС.

Ни Windows 10, ни Android, ни iOS ничего не отличаются в этом смысле: все направлено на сбор данных для исправления ошибок, а также данных того, как пользователи используют ОС. Но что началось после выхода Windows 10, когда пользователи поняли, что теперь за ними будут «следить»!

В сети полно статей (большинство уже безбожно устарели, но перепечатываются до сих пор), как можно отключить телеметрию, но правда такова, что отключить ее полностью нельзя нигде: ни на всеми любимой LTSC-версии, ни на обычной Pro- или Enterprise-версиях.

Всеми любимый ключ AllowTelemetry со значением 0 не отключает телеметрию полностью, а выставляет лишь уровень отправляемой телеметрии на уровень Security.

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

Программы для «настройки» Windows 10

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

В любом случае, если вы и решили настроить Windows 10 с помощью такого рода программ, вы должны отдавать отчет, что разработчик мог допустить ошибку, и что-то в ОС может «сломаться», и что некоторые операции не могут быть отменены. Поэтому подходите к настройке Windows 10 с умом.

Скрипт на PowerShell для настройки Windows 10

Вот мы и подошли к самому интересному. Ссылка на Windows 10 Setup Script ведет на мой репозиторий Github. Так вышло, что уже 2,5 года я в меру своих возможностей пытаюсь актуализировать скрипт настройки Windows 10.

Почему этот раздел в самом конце? Все-таки то, что тут будет описано предназначено для технически продвинутых пользователей.

Ключевые особенности

  • Отключить службы диагностического отслеживания;
  • Интерактивные консоли;

  • Поддержка русского и английского языков;
  • Удаление UWP-приложений из всех аккаунтов, используя список исключений;
  • Отключить компоненты Windows;
  • Создать задачу в Планировщике задач по очистке обновлений Windows;
  • Создать задачу в Планировщике задач по очистке папки $env:SystemRootSoftwareDistributionDownload;
  • Добавить папку в список исключений сканирования Защитника Windows;
  • Отключить пользовательские службы;
  • Создать ярлык старого формата для «Устройства и принтеры»;
  • Импорт настроенного макета меню «Пуск» из заготовленного reg-файла;

  • Открепить все ярлыки от начального экрана;
  • Переопределить расположение папок «Рабочий стол», «Документы», «Загрузки», «Музыка», «Изображения», «Видео»;
  • Обновить иконки рабочего стола, переменные среды и панель задач без перезапуска «Проводника»
  • И прочее!

Более подробную инструкцию по применению можно прочитать по ссылке.

Главное помните: Когда читаете/смотрите/слушаете блогеров, рассказывающих о настройке Windows 10, всегда проверяйте полученную информацию. Зачастую они преднамеренно вводят свою аудиторию в заблуждение, пользуясь ее безграмотностью. И не исполняйте код «по настройке» Windows 10, найденного в сети, бездумно — вреда будет в разы больше, чем пользы. А виноват будет Windows 10.

Читайте новости о Windows 10 из серьезных источников вроде

  1. https://thecommunity.ru
  2. https://twitter.com/WZorNET
  3. http://www.outsidethebox.ms
  4. https://www.ghacks.net
  5. https://www.windowscentral.com

С божьей помощью дописал. Возможно, вышел сумбур, но первый блин — комом. 🙂

 

Источник

Читайте также

Переименовать папку пользователя Windows 10 / 11

04.05.2022

05.04.2022

04.04.2022

Like this post? Please share to your friends:
  • Скрыть пользовательские папки windows 10 что это
  • Скрин выделенной части экрана windows 10 комбинация клавиш
  • Скрипт на питоне для windows пример
  • Скрыть папку в windows 7 программа на русском
  • Скрин выделенной области windows 10 сочетание клавиш