From 36f8a5c39caab0f558c515be63df20afac69cb2d Mon Sep 17 00:00:00 2001 From: farag2 Date: Wed, 29 May 2019 15:21:10 +0300 Subject: [PATCH] 29.05.2019 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit English translation added to comments; The description of the commands corrected and updated In the first section "Turn off Game Mode", due to the irrelevance, the command New-ItemProperty -Path HKCU:\Software\Microsoft\GameBar -Name AutoGameModeEnabled -Value 0 -Force was deleted Sections deleted due to irrelevance: Turn off Wi-Fi Sense; Set automatic proxy configuration for the browser; Create scheduled task with the "$env:SystemRoot\Logs\CBS" folder cleanup in Task Scheduler Remove "Contact" from context menu. "Microsoft Edge" sections deleted due to irrelevance: Open Microsoft Edge with previous pages Show the home button Set home page to a specific page Send Do Not Track requests Open new tabs with "Top sites" Do not show "Favorites" in toolbar Do not show "Reading list" in toolbar Do not show "History" in toolbar Show "Downloads" in toolbar Do not show "Add notes" in toolbar Do not show "Share this page" in toolbar Display "View Source" (File) and "Check Element" in the context menu. Added: Never delete files in "Downloads" folder Choose light or dark theme color for default Windows mode Show "Explorer" and "Settings" folders on Start menu Automatically adjust active hours for me based on daily usage Turn on automatic recommended troubleshooting Turn on Windows Sandbox Turn off reserved storage Launch folder in a separate process Добавлен английский перевод к комментариям; Исправлено и дополнено описание к командам В разделе в связи с неактуальностью "Отключить игровой режим" удалена команда New-ItemProperty -Path HKCU:\Software\Microsoft\GameBar -Name AutoGameModeEnabled -Value 0 -Force Удалены в связи с неактуальностью разделы: Отключить Контроль Wi-Fi; Использовать сценарий автоматической настройки прокси-сервера; Создать в Планировщике задач задачу по очистку папки "$env:SystemRoot\Logs\CBS"; Удалить пункт "Создать контакт" из контекстного меню. Удалены разделы Microsoft Edge в связи с неактуальностью: Открывать в новом окне предыдущие страницы в Edge Отображать кнопку домашней страницы в Edge Установить домашнюю страницу в Edge Отправлять запросы "Не отслеживать" в Edge Отображать лучшие сайты в новой вкладке в Edge Не отображать на панели инструментов кнопку "Избранное" в Edge Не отображать на панели инструментов кнопку "Список для чтения" в Edge Не отображать на панели инструментов кнопку "Журнал" в Edge Отображать на панели инструментов кнопку "Загрузки" в Edge Не отображать на панели инструментов кнопку "Добавить примечание" в Edge Не отображать на панели инструментов кнопку "Поделиться этой страницей" в Edge Отобразить пункты "Показать источник" и "Проверить элемент" в контекстном меню Edge Добавлено: Никогда не удалять файлы из папки "Загрузки" Выбрать режим Windows по умолчанию и режим приложения по умолчанию Отобразить папки "Проводник" и "Параметры" в меню "Пуск" Автоматически изменять период активности для этого устройства на основе действий Устранять проблемы без запроса Включить Windows Sandbox Отключить зарезервированное хранилище Запускать окна с папками в отдельном процессе --- Win 10.ps1 | 617 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 380 insertions(+), 237 deletions(-) diff --git a/Win 10.ps1 b/Win 10.ps1 index 0136988d..53735003 100644 --- a/Win 10.ps1 +++ b/Win 10.ps1 @@ -1,24 +1,36 @@ +# Turn off diagnostics tracking services # Отключить службы диагностического отслеживания $services = @( -# Служба платформы подключенных устройств -"CDPSvc", -# Функциональные возможности для подключенных пользователей и телеметрия -"DiagTrack", -# Использование данных -"DusmSvc", -# Обнаружение SSDP -"SSDPSRV") + # Connected Devices Platform service + # Служба платформы подключенных устройств + "CDPSvc", + # Connected User Experiences and Telemetry + # Функциональные возможности для подключенных пользователей и телеметрия + "DiagTrack", + # Data Usage + # Использование данных + "DusmSvc", + # SSDP Discovery + # Обнаружение SSDP + "SSDPSRV") Foreach ($service in $services) { Get-Service -ServiceName $service | Stop-Service -Force Get-Service -ServiceName $service | 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:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection -Name AllowTelemetry -Value 1 -Force -# Отключить отчеты об ошибках Windows -New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Value 1 -Force +# Turn off Windows Error Reporting +# Отключить отчеты об ошибках Windows для всех пользователей +New-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\Windows Error Reporting" -Name Disabled -Value 1 -Force +# Change Windows Feedback frequency to "Never" # Изменить частоту формирования отзывов на "Никогда" IF (-not (Test-Path -Path HKCU:\Software\Microsoft\Siuf\Rules)) { @@ -26,90 +38,107 @@ IF (-not (Test-Path -Path HKCU:\Software\Microsoft\Siuf\Rules)) } New-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name NumberOfSIUFInPeriod -Value 0 -Force Remove-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name PeriodInNanoSeconds -Force -ErrorAction SilentlyContinue -# Отключить Контроль Wi-Fi -IF (Get-NetAdapter -Physical | Where-Object -FilterScript {$_.Name -match "Беспроводная" -or $_.Name -match "Wi-Fi"}) -{ - New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WcmSvc\wifinetworkmanager\config -Name AutoConnectAllowedOEM -Value 0 -Force -} -# Отключить задачи диагностического отслеживания в Планировщике задач +# Turn off diagnostics tracking scheduled tasks +# Отключить задачи диагностического отслеживания $tasks = @( -"BgTaskRegistrationMaintenanceTask", -"Consolidator", -"DmClient", -"DmClientOnScenarioDownload", -"EnableLicenseAcquisition", -"FamilySafetyMonitor", -"FamilySafetyRefreshTask", -"File History (maintenance mode)", -"FODCleanupTask", -"GatherNetworkInfo", -"MapsToastTask", -"Microsoft Compatibility Appraiser", -"Microsoft-Windows-DiskDiagnosticDataCollector", -"MNO Metadata Parser", -"NetworkStateChangeTask", -"ProgramDataUpdater", -"Proxy", -"QueueReporting", -"TempSignedLicenseExchange", -"UsbCeip", -"WinSAT", -"XblGameSaveTask") + "BgTaskRegistrationMaintenanceTask", + "Consolidator", + "DmClient", + "DmClientOnScenarioDownload", + "EnableLicenseAcquisition", + "FamilySafetyMonitor", + "FamilySafetyRefreshTask", + "File History (maintenance mode)", + "FODCleanupTask", + "GatherNetworkInfo", + "MapsToastTask", + "Microsoft Compatibility Appraiser", + "Microsoft-Windows-DiskDiagnosticDataCollector", + "MNO Metadata Parser", + "NetworkStateChangeTask", + "ProgramDataUpdater", + "Proxy", + "QueueReporting", + "TempSignedLicenseExchange", + "UsbCeip", + "WinSAT", + "XblGameSaveTask") Foreach ($task in $tasks) { Get-ScheduledTask -TaskName $task | 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:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1 -Force +# Show Hidden Files, Folders, and Drives # Показывать скрытые файлы, папки и диски New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name Hidden -Value 1 -Force +# Show File Name Extensions # Показывать расширения для зарегистрированных типов файлов New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name HideFileExt -Value 0 -Force +# Hide Task View button on taskbar # Не показывать кнопку Просмотра задач New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowTaskViewButton -Value 0 -Force +# Show folder merge conflicts # Не скрывать конфликт слияния папок New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name HideMergeConflicts -Value 0 -Force +# Turn off Snap Assist # Не показывать при прикреплении окна, что можно прикрепить рядом с ним New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name SnapAssist -Value 0 -Force +# Turn off check boxes to select items # Отключить флажки для выбора элементов New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name AutoCheckSelect -Value 0 -Force +# Show seconds on taskbar clock # Включить отображение секунд в системных часах на панели задач New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name ShowSecondsInSystemClock -Value 1 -Force +# Hide People button on the taskbar # Не показывать панель "Люди" на панели задач IF (-not (Test-Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People)) { New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People -Force } New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\People -Name PeopleBand -Value 0 -Force +# Hide all folders in the navigation pane # Не отображать все папки в области навигации New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 0 -Force +# Turn on acrylic taskbar transparency # Включить прозрачную панель задач New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name UseOLEDTaskbarTransparency -Value 1 -Force +# Turn off app launch tracking to improve Start menu and search results # Не разрешать Windows отслеживать запуски приложений для улучшения меню "Пуск" и результатов поиска и не показывать недавно добавленные приложения New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name Start_TrackProgs -Value 0 -Force # Отобразить "Этот компьютер" на рабочем столе New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel -Name "{20D04FE0-3AEA-1069-A2D8-08002B30309D}" -Value 0 -Force +# Show more details in file transfer dialog # Развернуть диалог переноса файлов IF (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager)) { New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Force } New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager -Name EnthusiastMode -Value 1 -Force +# Turn off AutoPlay for all media and devices # Отключить автозапуск с внешних носителей New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers -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:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name link -PropertyType Binary -Value ([byte[]](00, 00, 00, 00)) -Force +# Turn off SmartScreen for apps and files # Отключить SmartScreen для приложений и файлов New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name SmartScreenEnabled -PropertyType String -Value Off -Force +# Save screenshots by pressing Win+PrtScr to the Desktop # Сохранить скриншот по Win+PrtScr на рабочем столе $value = Get-ItemPropertyValue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name Desktop New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{b7bede81-df94-4682-a7d8-57a52620b86f}" -Name RelativePath -PropertyType String -Value $value -Force -# Отключить отображение вкладки "Предыдущие версии" в свойствах файлов +# Remove the "Previous Versions" tab from properties context menu +# Отключить отображение вкладки "Предыдущие версии" в свойствах файлов и папок New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name NoPreviousVersionsPage -Value 1 -Force +# Always show all icons in the notification area # Всегда отображать все значки в области уведомлений New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name EnableAutoTray -Value 0 -Force +# Set the Control Panel view by large icons # Установить крупные значки в панели управления IF (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel)) { @@ -117,67 +146,110 @@ IF (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explor } New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name AllItemsIconView -Value 0 -Force New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel -Name StartupPage -Value 1 -Force -# Скрыть папку "Объемные объекты" из "Этот компьютер" +# Remove 3D Objects folder in "This PC" and in the navigation pane +# Скрыть папку "Объемные объекты" из "Этот компьютер" и на панели быстрого доступа IF (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag")) { New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag" -Force } New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag" -Name ThisPCPolicy -PropertyType String -Value Hide -Force -IF (-not (Test-Path -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag")) -{ - New-Item -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag" -Force -} -New-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{31C0DD25-9439-4F12-BF41-7FF4EDA38722}\PropertyBag" -Name ThisPCPolicy -PropertyType String -Value Hide -Force -# Снять ограничения на одновременное открытие более 15 элементов +# Make the "Open", "Print", "Edit" context menu items available, when more than 15 selected +# Сделать доступными элементы контекстного меню "Открыть", "Изменить" и "Печать" при выделении более 15 элементов New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name MultipleInvokePromptMinimum -Value 300 -Force +# Hide "Frequent folders" in Quick access # Не показывать недавно используемые папки на панели быстрого доступа New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShowFrequent -Value 0 -Force +# Hide "Recent files" in Quick access # Не показывать недавно использовавшиеся файлы на панели быстрого доступа New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer -Name ShowRecent -Value 0 -Force -# Отключить создание ярлыка Edge на рабочем столе после обновления Windows +# Turn off creation of an Edge shortcut on the desktop for each user profile +# Отключить создание ярлыка Edge на рабочем столе для каждого профиля пользователя пользователя New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name DisableEdgeDesktopShortcutCreation -Value 1 -Force -# Не показывать советы по использованию Windows -New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SoftLandingEnabled -Value 0 -Force -# Включить контроль памяти -IF (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy)) -{ - New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Force -} +# Turn on tip, trick, and suggestions as you use Windows +# Показывать советы, подсказки и рекомендации при использованию Windows +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-338389Enabled -Value 1 -Force +# Turn on Storage Sense to automatically free up space +# Включить Память устройства для автоматического освобождения места New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 01 -Value 1 -Force +# Run Storage Sense every month # Запускать контроль памяти каждый месяц New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 2048 -Value 30 -Force +# Delete temporary files that apps aren't using # Удалять временные файлы, не используемые в приложениях New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 04 -Value 1 -Force -# Удалять файлы, которые находятся в корзине -New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 08 -Value 1 -Force +# Delete files in recycle bin if they have been there for over 30 days # Удалять файлы, которые находятся в корзине более 30 дней New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 256 -Value 30 -Force +# Never delete files in "Downloads" folder +# Никогда не удалять файлы из папки "Загрузки" +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy -Name 512 -Value 0 -Force +# Turn off app suggestions on Start menu # Не показывать рекомендации в меню "Пуск" New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-338388Enabled -Value 0 -Force +# Turn off suggested content in the Settings # Не показывать рекомендуемое содержание в приложении "Параметры" New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-338393Enabled -Value 0 -Force New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-353694Enabled -Value 0 -Force New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-353696Enabled -Value 0 -Force +# Turn off automatic installing suggested apps # Отключить автоматическую установку рекомендованных приложений New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SilentInstalledAppsEnabled -Value 0 -Force +# Hide "Windows Ink Workspace" button in taskbar # Скрыть кнопку Windows Ink Workspace New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\PenWorkspace -Name PenWorkspaceButtonDesiredVisibility -Value 0 -Force +# Do not offer tailored experiences based on the diagnostic data setting # Не предлагать персонализированныее возможности, основанные на выбранном параметре диагностических данных New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Privacy -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:\Software\Microsoft\Windows\CurrentVersion\CDP -Name RomeSdkChannelUserAuthzPolicy -Value 0 -Force -# Отображать цвет элементов в меню "Пуск", на панели задач и в центре уведомлений -New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name ColorPrevalence -Value 1 -Force -# Выключить местоположение для этого устройства +# Choose light or dark theme color for default Windows mode +# Выбрать режим Windows по умолчанию и режим приложения по умолчанию +$theme = Read-Host -Prompt "Choose light or dark theme color for default Windows mode (type light or dark).`nPress Enter to skip.`n`nВыберите режим Windows по умолчанию (введите light или dark).`nЧтобы пропустить, нажмите Enter" +IF ($theme -eq "Light") +{ + # Show color only on taskbar + # Отображать цвет элементов только на панели задач + New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name ColorPrevalence -Value 0 -Force + # Light Theme Color for Default Windows Mode + # Режим Windows по умолчанию светлый + New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value 1 -Force +} +IF ($theme -eq "Dark") +{ + # Turn on the display of color on Start menu, taskbar, and action center + # Отображать цвет элементов в меню "Пуск", на панели задач и в центре уведомлений + New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name ColorPrevalence -Value 1 -Force + # Режим Windows по умолчанию темный + New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme -Value 0 -Force +} +# Choose light or dark theme color for default app mode +# Выбрать режим приложения по умолчанию +$apps = Read-Host -Prompt "Choose light or dark theme color for default app mode (type light or dark).`nPress Enter to skip.`n`nВыберите режим приложения по умолчанию (введите light или dark).`nЧтобы пропустить, нажмите Enter" +IF ($apps -eq "Light") +{ + # Light theme color for default app mode + # Режим приложений по умолчанию светлый + New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value 1 -Force +} +IF ($apps -eq "Dark") +{ + # Dark theme color for default app mode + # Режим приложений по умолчанию темный + New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name AppsUseLightTheme -Value 0 -Force +} +# Turn off location for this device +# Отключить местоположение для этого устройства New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\CapabilityAccessManager\ConsentStore\location -Name Value -PropertyType String -Value Deny -Force -# Использовать сценарий автоматической настройки прокси-сервера -New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name AutoConfigURL -PropertyType String -Value https://antizapret.prostovpn.org/proxy.pac -Force +# Turn off thumbnail cache removal # Отключить удаление кэша миниатюр New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Thumbnail Cache" -Name Autorun -Value 0 -Force New-ItemProperty -Path "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Thumbnail Cache" -Name Autorun -Value 0 -Force +# Turn off hibernate # Отключить гибридный спящий режим New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\Power -Name HibernateEnabled -Value 0 -Force -# Изменить путь переменной среды для временных файлов на %SYSTEMDRIVE%\Temp +# Change environment variable for $env:TEMP to $env:SystemDrive\Temp +# Изменить путь переменной среды для временных файлов на $env:SystemDrive\Temp IF (-not (Test-Path -Path $env:SystemDrive\Temp)) { New-Item -Path $env:SystemDrive\Temp -ItemType Directory -Force @@ -192,24 +264,31 @@ New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\E New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" -Name TEMP -PropertyType ExpandString -Value %SystemDrive%\Temp -Force [Environment]::SetEnvironmentVariable("TMP", "$env:SystemDrive\Temp", "Process") [Environment]::SetEnvironmentVariable("TEMP", "$env:SystemDrive\Temp", "Process") +# Turn on Win32 long paths # Включить длинные пути Win32 New-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -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:\SYSTEM\CurrentControlSet\Control -Name SvcHostSplitThresholdInKB -Value $ram -Force +# Turn on Retpoline patch against Spectre v2 # Включить патч Retpoline против Spectre v2 New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name FeatureSettingsOverride -Value 1024 -Force New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name FeatureSettingsOverrideMask -Value 1024 -Force +# Turn on the display of stop error information on the BSoD # Включить дополнительную информацию при выводе BSoD New-ItemProperty -Path HKLM:\System\CurrentControlSet\Control\CrashControl -Name DisplayParameters -Value 1 -Force +# Hide search box or search icon on taskbar # Не показывать кнопку поиска New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Search -Name SearchboxTaskbarMode -Value 0 -Force +# Turn on recycle bin files delete confirmation # Запрашивать подтверждение на удалении файлов из корзины IF (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer)) { New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Force } New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name ConfirmFileDelete -Value 1 -Force +# Do not preserve zone information # Не хранить сведения о зоне происхождения вложенных файлов IF (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments)) { @@ -217,30 +296,43 @@ IF (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Polici } New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments -Name SaveZoneInformation -Value 1 -Force New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Attachments -Name SaveZoneInformation -Value 1 -Force +# Turn off Admin Approval Mode for administrators # Отключить использование режима одобрения администратором для встроенной учетной записи администратора New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name ConsentPromptBehaviorAdmin -Value 0 -Force +# Turn off user first sign-in animation # Не показывать анимацию при первом входе в систему New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -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:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name EnableLinkedConnections -Value 1 -Force -# Отключить поиск программ в Microsoft Store +# Turn off "Look for an app in the Microsoft Store" in "Open with" dialog +# Отключить поиск программ в Microsoft Store при открытии диалога "Открыть с помощью" IF (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer)) { New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Force } New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoUseStoreOpenWith -Value 1 -Force +# Turn on ribbon in File Explorer # Включить отображение ленты проводника в развернутом виде +IF (-not (Test-Path -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Ribbon)) +{ + New-Item -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Ribbon -Force +} New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Ribbon -Name MinimizedStateTabletModeOff -Value 0 -Force +# Turn off "New App Installed" notification # Не показывать уведомление "Установлено новое приложение" New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name NoNewAppAlert -Value 1 -Force +# Turn off recently added apps on Start Menu # Не показывать недавно добавленные приложения в меню "Пуск" New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name HideRecentlyAddedApps -Value 1 -Force -# Отключить меню игры +# Turn off Windows Game Recording and Broadcasting +# Отключить Запись и трансляции игр Windows IF (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\GameDVR)) { New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\GameDVR -Force } New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\GameDVR -Name AllowgameDVR -Value 0 -Force +# Set download mode for delivery optization on "HTTP only" # Отключить оптимизацию доставки для обновлений с других ПК Get-Service -ServiceName DoSvc | Stop-Service -Force IF (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization)) @@ -248,14 +340,17 @@ IF (-not (Test-Path -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOpti New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization -Force } New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization -Name DODownloadMode -Value 0 -Force +# Always wait for the network at computer startup and logon # Всегда ждать сеть при запуске и входе в систему IF (-not (Test-Path -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon")) { New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon" -Force } New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name SyncForegroundPolicy -Value 1 -Force +# Do not allow apps to use advertising ID # Не разрешать приложениям использовать идентификатор рекламы New-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo -Name Enabled -Value 0 -Force +# Turn off Cortana # Отключить Cortana IF ((Get-WinSystemLocale).Name -ne "ru-RU") { @@ -265,7 +360,8 @@ IF ((Get-WinSystemLocale).Name -ne "ru-RU") } New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name AllowCortana -Value 0 -Force } -# Отключить SmartScreen в Edge +# 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:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\PhishingFilter")) { @@ -273,146 +369,105 @@ IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Micros } New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\PhishingFilter" -Name EnabledV9 -Value 0 -Force New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\PhishingFilter" -Name PreventOverride -Value 0 -Force -# Отключить Flash Player в Edge -IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Addons")) -{ - New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Addons" -Force -} -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Addons" -Name FlashPlayerEnabled -Value 0 -Force -# Открывать в новом окне предыдущие страницы в Edge -IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\ContinuousBrowsing")) -{ - New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\ContinuousBrowsing" -Force -} -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\ContinuousBrowsing" -Name Enabled -Value 1 -Force -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main" -Name AskToCloseAllTabs -Value 0 -Force -# Отображать кнопку домашней страницы в Edge -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main" -Name HomeButtonEnabled -Value 1 -Force -# Установить домашнюю страницу в Edge -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main" -Name HomeButtonPage -PropertyType String -Value https://yandex.ru -Force -# Отправлять запросы "Не отслеживать" в Edge -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main" -Name DoNotTrack -Value 1 -Force -# Отображать лучшие сайты в новой вкладке в Edge -IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\ServiceUI")) -{ - New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\ServiceUI" -Force -} -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\ServiceUI" -Name NewTabPageDisplayOption -Value 1 -Force -# Не отображать на панели инструментов кнопку "Избранное" в Edge -IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Favorites")) -{ - New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Favorites" -Force -} -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Favorites" -Name ShowOnAddressBar -Value 0 -Force -# Не отображать на панели инструментов кнопку "Список для чтения" в Edge -IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\ReadingList")) -{ - New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\ReadingList" -Force -} -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\ReadingList" -Name ShowOnAddressBar -Value 0 -Force -# Не отображать на панели инструментов кнопку "Журнал" в Edge -IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\History")) -{ - New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\History" -Force -} -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\History" -Name ShowOnAddressBar -Value 0 -Force -# Отображать на панели инструментов кнопку "Загрузки" в Edge -IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Downloads")) -{ - New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Downloads" -Force -} -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Downloads" -Name ShowOnAddressBar -Value 1 -Force -# Не отображать на панели инструментов кнопку "Добавить примечание" в Edge -IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Annotations")) -{ - New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Annotations" -Force -} -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Annotations" -Name ShowOnAddressBar -Value 0 -Force -# Не отображать на панели инструментов кнопку "Поделиться этой страницей" в Edge -IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Share")) -{ - New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Share" -Force -} -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Extensions\Share" -Name ShowOnAddressBar -Value 0 -Force -# Отобразить пункты "Показать источник" и "Проверить элемент в контекстном меню Edge -IF (-not (Test-Path -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\F12")) -{ - New-Item -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\F12" -Force -} -New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\F12" -Name ShowPageContextMenuEntryPoints -Value 1 -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:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\TabPreloader)) { New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\TabPreloader -Force } New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\TabPreloader -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:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main)) { New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main -Force } New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main -Name AllowPrelaunch -Value 0 -Force -# Отключить управление принтером, используемым по умолчанию, со стороны Windows +# Do not allow Windows 10 to manage default printer +# Отключить управление принтером, используемым по умолчанию, со стороны Windows 10 New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows NT\CurrentVersion\Windows" -Name LegacyDefaultPrinterMode -Value 1 -Force +# Turn off JPEG desktop wallpaper import quality reduction # Установка качества фона рабочего стола на 100 % New-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name JPEGImportQuality -Value 100 -Force +# Turn off sticky Shift key after pressing 5 times # Отключить залипание клавиши Shift после 5 нажатий New-ItemProperty -Path "HKCU:\Control Panel\Accessibility\StickyKeys" -Name Flags -PropertyType String -Value 506 -Force +# Uninstall UWP apps from current account except # Удалить UWP-приложения из текущей учетной записи, кроме $apps = @( # iTunes "AppleInc.iTunes" + # Intel UWP-panel # UWP-панель Intel "AppUp.IntelGraphicsControlPanel" + "AppUp.IntelGraphicsExperience" # Microsoft Desktop App Installer "Microsoft.DesktopAppInstaller" + # Extensions # Расширения "Microsoft.*Extension*" - # Пакет локализованного интерфейса на русском - "Microsoft.LanguageExperiencePackru-ru" + # Language pack + # Языковой пакет + "Microsoft.LanguageExperiencePack*" + # Photos # Фотографии "Microsoft.Windows.Photos" + # Screen Sketch # Набросок на фрагменте экрана "Microsoft.ScreenSketch" + # NVIDIA Control Panel # Панель управления NVidia "NVIDIACorp.NVIDIAControlPanel" # Microsoft Store ".*Store.*") Get-AppxPackage -AllUsers | Where-Object -FilterScript {$_.Name -cnotmatch ($apps -join '|')} | Remove-AppxPackage -ErrorAction SilentlyContinue +# Uninstall UWP apps from all accounts except # Удалить UWP-приложения из системной учетной записи, кроме $apps = @( + # 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.*") Get-AppxProvisionedPackage -Online | Where-Object -FilterScript {$_.DisplayName -cnotmatch ($apps -join '|')} | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue +# 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-Sleep -Seconds 3 @@ -434,42 +489,47 @@ Remove-Item -Path $env:LOCALAPPDATA\Microsoft\OneDrive -Recurse -Force -ErrorAct Remove-Item -Path "$env:ProgramData\Microsoft OneDrive" -Recurse -Force -ErrorAction SilentlyContinue Unregister-ScheduledTask -TaskName *OneDrive* -Confirm:$false Remove-Item -Path "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk" -Force -ErrorAction SilentlyContinue +# 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:\Software\Microsoft\Windows\CurrentVersion\GameDVR -Name AppCaptureEnabled -Value 0 -Force New-ItemProperty -Path HKCU:\System\GameConfigStore -Name GameDVR_Enabled -Value 0 -Force # Отключить игровой режим New-ItemProperty -Path HKCU:\Software\Microsoft\GameBar -Name AllowAutoGameMode -Value 0 -Force -New-ItemProperty -Path HKCU:\Software\Microsoft\GameBar -Name AutoGameModeEnabled -Value 0 -Force +# Turn off Game Bar tips # Отключить подсказки игровой панели New-ItemProperty -Path HKCU:\Software\Microsoft\GameBar -Name ShowStartupPanel -Value 0 -Force +# Enable System Restore # Включить восстановление системы Enable-ComputerRestore -Drive $env:SystemDrive Get-ScheduledTask -TaskName SR | Enable-ScheduledTask Get-Service -ServiceName swprv, vss | Set-Service -StartupType Manual Get-Service -ServiceName swprv, vss | Start-Service Get-CimInstance -ClassName Win32_ShadowCopy | Remove-CimInstance +# Turn off Windows Script Host # Отключить Windows Script Host New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" -Name Enabled -Value 0 -Force -# Включить в Планировщике задач запуск очистки диска +# Create scheduled task with the disk cleanup tool in Task Scheduler +# Создать в Планировщике задач задачу по запуску очистки диска $keys = @( -# Файлы оптимизации доставки -"Delivery Optimization Files", -# Пакеты драйверов устройств -"Device Driver Packages", -# Предыдущие установки Windows -"Previous Installations", -# Файлы журнала установки -"Setup Log Files", -# Temporary Setup Files -"Temporary Setup Files", -# Очистка обновлений Windows -"Update Cleanup", -# Windows Defender Antivirus -"Windows Defender", -# Файлы журнала обновления Windows -"Windows Upgrade Log Files") + # Файлы оптимизации доставки + "Delivery Optimization Files", + # Пакеты драйверов устройств + "Device Driver Packages", + # Предыдущие установки Windows + "Previous Installations", + # Файлы журнала установки + "Setup Log Files", + # Temporary Setup Files + "Temporary Setup Files", + # Очистка обновлений Windows + "Update Cleanup", + # Windows Defender Antivirus + "Windows Defender", + # Файлы журнала обновления Windows + "Windows Upgrade Log Files") Foreach ($key in $keys) { New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\$key" -Name StateFlags1337 -Value 2 -Force @@ -479,15 +539,16 @@ $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 + "TaskName" = "Update Cleanup" + "Action" = $action + "Trigger" = $trigger + "Settings" = $settings + "Principal" = $principal } Register-ScheduledTask @params -Force -# Включить в Планировщике задач очистки папки %SYSTEMROOT%\SoftwareDistribution\Download -$xml = 'Программы\Прочее\xml\SoftwareDistribution.xml' +# Create scheduled task with the "$env:SystemRoot\SoftwareDistribution\Download" folder cleanup in Task Scheduler +# Создать в Планировщике задач задачу по очистки папки "$env:SystemRoot\SoftwareDistribution\Download" +$xml = "Программы\Прочее\xml\SoftwareDistribution.xml" function Get-ResolvedPath { param( @@ -498,51 +559,36 @@ function Get-ResolvedPath (Get-Disk | Where-Object -FilterScript {$_.BusType -eq "USB"} | Get-Partition | Get-Volume | Where-Object -FilterScript {$null -ne $_.DriveLetter}).DriveLetter | ForEach-Object {Join-Path ($_ + ":") $Path -Resolve -ErrorAction SilentlyContinue} } $xml | Get-ResolvedPath | Get-Item | Get-Content -Raw | Register-ScheduledTask -TaskName "SoftwareDistribution" -Force -# Включить в Планировщике задач очистку папки %SYSTEMROOT%\Logs\CBS -$action = New-ScheduledTaskAction -Execute powershell.exe -Argument @" -`$dir = '$env:SystemRoot\Logs\CBS' -`$foldersize = (Get-ChildItem -Path `$dir -Recurse -Force | Measure-Object -Property Length -Sum).Sum/1MB -IF (`$foldersize -GT 10) -{ - Get-ChildItem -Path `$dir -Recurse -Force | Remove-Item -Recurse -Force -} -"@ -$trigger = New-ScheduledTaskTrigger -Daily -DaysInterval 62 -At 9am -$settings = New-ScheduledTaskSettingsSet -Compatibility Win8 -StartWhenAvailable -$principal = New-ScheduledTaskPrincipal -UserId System -RunLevel Highest -$params = @{ - "TaskName" = "CBS" - "Action" = $action - "Trigger" = $trigger - "Settings" = $settings - "Principal" = $principal -} -Register-ScheduledTask @params -Force -# Включить в Планировщике задач очистки папки %TEMP% +# Create scheduled task with the $env:TEMP folder cleanup in Task Scheduler +# Включить в Планировщике задач очистки папки $env:TEMP $action = New-ScheduledTaskAction -Execute powershell.exe -Argument @" -Get-ChildItem -Path `$env:TEMP -Force -Recurse | Remove-Item -Force -Recurse + 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 System -RunLevel Highest $params = @{ - "TaskName" = "Temp" - "Action" = $action - "Trigger" = $trigger - "Settings" = $settings - "Principal" = $principal + "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*") + "Microsoft.Windows.ShellExperienceHost*" + # StartMenuExperienceHost + "Microsoft.Windows.StartMenuExperienceHost*") Foreach ($app in $apps) { Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications -Exclude $apps | @@ -551,20 +597,29 @@ Foreach ($app in $apps) New-ItemProperty -Path $_.PsPath -Name DisabledByUser -Value 1 -Force } } +# Set power management scheme for desktop and laptop # Установить схему управления питания для стационарного ПК и ноутбука +# Desktop +# Cтационарный ПК IF ((Get-CimInstance -ClassName Win32_ComputerSystem).PCSystemType -eq 1) { - # Cтационарный ПК - powercfg /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c + # High performance + # Высокая производительность + powercfg /setactive SCHEME_MIN } -Else +# Laptop +# Ноутбук +IF ((Get-CimInstance -ClassName Win32_ComputerSystem).PCSystemType -eq 2) { - # Ноутбук - powercfg /s 381b4222-f694-41f0-9685-ff5bb260df2e + # Balanced + # Сбалансированная + powercfg /setactive SCHEME_BALANCED } +# Turn on .NET 4 runtime for all apps # Использовать последнюю установленную версию .NET Framework для всех приложений New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\.NETFramework -Name OnlyUseLatestCLR -Value 1 -Force New-ItemProperty -Path HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework -Name OnlyUseLatestCLR -Value 1 -Force +# Turn on Num Lock at startup # Включить Num Lock при загрузке New-ItemProperty -Path "Registry::HKEY_USERS\.DEFAULT\Control Panel\Keyboard" -Name InitialKeyboardIndicators -PropertyType String -Value 2147483650 -Force # Добавить в исключение Защитник Windows папку @@ -578,25 +633,31 @@ IF ($drives) Add-MpPreference -ExclusionPath (Join-Path -Path $drive -ChildPath $folder) -Force } } -# Включить Защиты сети в Защитнике Windows +# Turn on Windows Defender Exploit Guard Network Protection +# Включить Защиту сети в Защитнике Windows Set-MpPreference -EnableNetworkProtection Enabled -# Включить контролируемый доступ к папкам -$folder = Read-Host -Prompt "Введите путь до папки, чтобы добавить в список защищенных папок.`nЧтобы пропустить, нажмите Enter" +# Turn on Controlled folder access and add protected folder +# Включить контролируемый доступ к папкам и добавить контролируемую папку +$folder = Read-Host -Prompt "Type folder path to add to protected folders list.`nPress Enter to skip.`n`nВведите путь до папки, чтобы добавить в список защищенных папок.`nЧтобы пропустить, нажмите Enter" IF ($folder) { Set-MpPreference -EnableControlledFolderAccess Enabled Add-MpPreference -ControlledFolderAccessProtectedFolders $folder } +# Turn on Windows Defender PUA Protection # Включить блокировки потенциально нежелательных приложений Set-MpPreference -PUAProtection Enabled +# Turn on firewall & network protection # Включить брандмауэр Set-NetFirewallProfile -Enabled True -# Отключить справку по F1 +# Turn off F1 Help key +# Отключить справку по нажатию F1 IF (-not (Test-Path -Path "HKCU:\Software\Classes\Typelib\{8cec5860-07a1-11d9-b15e-000d56bfe6ee}\1.0\0\win64")) { New-Item -Path "HKCU:\Software\Classes\Typelib\{8cec5860-07a1-11d9-b15e-000d56bfe6ee}\1.0\0\win64" -Force } New-ItemProperty -Path "HKCU:\Software\Classes\Typelib\{8cec5860-07a1-11d9-b15e-000d56bfe6ee}\1.0\0\win64" -Name "(default)" -PropertyType String -Value "" -Force +# Show Task Manager details # Раскрыть окно Диспетчера задач $taskmgr = Get-Process -Name Taskmgr -ErrorAction SilentlyContinue IF ($taskmgr) @@ -613,6 +674,7 @@ Until ($preferences) Stop-Process $taskmgr $preferences.Preferences[28] = 0 New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\TaskManager -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) { @@ -620,17 +682,20 @@ IF ((Get-CimInstance -ClassName Win32_ComputerSystem).PCSystemType -eq 1) $adapter.AllowComputerToTurnOffDevice = "Disabled" $adapter | Set-NetAdapterPowerManagement } +# Add "Extract" to MSI file type context menu # Добавить пункт "Извлечь" для MSI в контекстное меню IF (-not (Test-Path -Path Registry::HKEY_CLASSES_ROOT\Msi.Package\shell\Извлечь\Command)) { New-Item -Path Registry::HKEY_CLASSES_ROOT\Msi.Package\shell\Извлечь\Command -Force } New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Msi.Package\shell\Извлечь\Command -Name "(default)" -PropertyType String -Value 'msiexec.exe /a "%1" /qb TARGETDIR="%1 extracted"' -Force +# Add "Run as different user" from context menu for exe file type # Добавить "Запуск от имени друго пользователя" в контекстное меню для exe-файлов New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\exefile\shell\runasuser -Name "(default)" -PropertyType String -Value "@shell32.dll,-50944" -Force Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\exefile\shell\runasuser -Name Extended -Force -ErrorAction SilentlyContinue New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\exefile\shell\runasuser -Name SuppressionPolicyEx -PropertyType String -Value "{F211AA05-D4DF-4370-A2A0-9F19C09756A7}" -Force New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\exefile\shell\runasuser\command -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_ROOT\CABFolder\Shell\RunAs\Command)) { @@ -639,25 +704,31 @@ IF (-not (Test-Path -Path Registry::HKEY_CLASSES_ROOT\CABFolder\Shell\RunAs\Comm New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\CABFolder\Shell\RunAs -Name "(default)" -PropertyType String -Value "Установить" -Force New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\CABFolder\Shell\RunAs -Name HasLUAShield -PropertyType String -Value "" -Force New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\CABFolder\Shell\RunAs\Command -Name "(default)" -PropertyType String -Value 'DISM /Online /Add-Package /PackagePath:"%1"' -Force +# Remove "Cast to Device" from context menu # Удалить пункт "Передать на устройство" из контекстного меню IF (-not (Test-Path -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked")) { New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Force } New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{7AD84985-87B4-4a16-BE58-8B72A5B390F7}" -PropertyType String -Value "Play to menu" -Force +# Remove "Share" from context menu # Удалить пункт "Отправить" (поделиться) из контекстного меню New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -Name "{E2BF9676-5F8F-435C-97EB-11607A5BEDF7}" -PropertyType String -Value "" -Force +# Remove "Previous Versions" from file context menu # Удалить пункт "Восстановить прежнюю версию" из контекстного меню New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked" -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) { Remove-Item -Path "Registry::HKEY_CLASSES_ROOT\SystemFileAssociations\$ext\Shell\3D Edit" -Recurse -Force -ErrorAction SilentlyContinue } +# Remove "Include in Library" from context menu # Удалить пункт "Добавить в библиотеку" из контекстного меню Clear-ItemProperty -Path "Registry::HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers\Library Location" -Name "(default)" -Force Clear-ItemProperty -Path "HKLM:\SOFTWARE\Classes\Folder\shellex\ContextMenuHandlers\Library Location" -Name "(default)" -Force +# Remove "Turn on BitLocker" from context menu # Удалить пункт "Включить Bitlocker" из контекстного меню IF (Get-WindowsEdition -Online | Where-Object -FilterScript {$_.Edition -eq "Professional" -or $_.Edition -eq "Enterprise"}) { @@ -673,68 +744,82 @@ IF (Get-WindowsEdition -Online | Where-Object -FilterScript {$_.Edition -eq "Pro New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\Drive\shell\$key -Name ProgrammaticAccessOnly -PropertyType String -Value "" -Force } } +# Remove "Print" from batch and cmd files context menu # Удалить пункт "Печать" из контекстного меню для bat- и cmd-файлов Remove-Item -Path Registry::HKEY_CLASSES_ROOT\batfile\shell\print -Recurse -Force -ErrorAction SilentlyContinue Remove-Item -Path Registry::HKEY_CLASSES_ROOT\cmdfile\shell\print -Recurse -Force -ErrorAction SilentlyContinue -# Удалить пункт "Создать контакт" из контекстного меню -Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\.contact\ShellNew -Name command -Force -ErrorAction SilentlyContinue -Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\.contact\ShellNew -Name iconpath -Force -ErrorAction SilentlyContinue -Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\.contact\ShellNew -Name MenuText -Force -ErrorAction SilentlyContinue +# Remove "Compressed (zipped) Folder" from context menu # Удалить пункт "Создать архив ZIP" из контекстного меню Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\.zip\CompressedFolder\ShellNew -Name Data -Force -ErrorAction SilentlyContinue Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\.zip\CompressedFolder\ShellNew -Name ItemName -Force -ErrorAction SilentlyContinue +# Remove "Rich Text Document" from context menu # Удалить пункт "Создать Документ в формате RTF" из контекстного меню Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\.rtf\ShellNew -Name Data -Force -ErrorAction SilentlyContinue Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\.rtf\ShellNew -Name ItemName -Force -ErrorAction SilentlyContinue +# Remove "Bitmap image" from context menu # Удалить пункт "Создать Точечный рисунок" из контекстного меню Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\.bmp\ShellNew -Name ItemName -Force -ErrorAction SilentlyContinue Remove-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\.bmp\ShellNew -Name NullFile -Force -ErrorAction SilentlyContinue -# Удалить пункт "Отправить" из контекстного меню +# Remove "Send to" from folder context menu +# Удалить пункт "Отправить" из контекстного меню папки New-ItemProperty -Path Registry::HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\SendTo -Name "(default)" -PropertyType String -Value "" -Force +# Override custom input method for login screen # Переопределить пользовательский метод ввода на английский язык на экране входа IF (-not (Test-Path -Path "HKLM:\SOFTWARE\Policies\Microsoft\Control Panel\International")) { New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Control Panel\International" -Force } +# Disallow copying of user input methods to the system account for sign-in +# Запретить копирование пользовательских методов ввода в системную учетную запись для входа New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Control Panel\International" -Name BlockUserInputMethodsForSignIn -Value 1 -Force +# The English language New-ItemProperty -Path "Registry::HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" -Name 1 -PropertyType String -Value 00000409 -Force +# The Russian language New-ItemProperty -Path "Registry::HKEY_USERS\.DEFAULT\Keyboard Layout\Preload" -Name 2 -PropertyType String -Value 00000419 -Force -# Открепить от панели задач Microsoft Edge и Microsoft Store +# Unpin Microsoft Edge and Microsoft Store from taskbar +# Открепить Microsoft Edge и Microsoft Store от панели задач $getstring = @' -[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(); -} + [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(); + } '@ $getstring = Add-Type $getstring -PassThru -Name GetStr -Using System.Text $unpin = $getstring[0]::GetString(5387) $apps = (New-Object -Com Shell.Application).NameSpace("shell:::{4234d49b-0245-4df3-b780-3893943456e1}").Items() $apps | Where-Object -FilterScript {$_.Path -like "Microsoft.MicrosoftEdge*"} | ForEach-Object {$_.Verbs() | Where-Object -FilterScript {$_.Name -eq $unpin} | ForEach-Object {$_.DoIt()}} $apps | Where-Object -FilterScript {$_.Path -like "Microsoft.WindowsStore*"} | ForEach-Object {$_.Verbs() | Where-Object -FilterScript {$_.Name -eq $unpin} | ForEach-Object {$_.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:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserARSO\$sid")) { New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserARSO\$sid" -Force } New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserARSO\$sid" -Name OptOut -Value 1 -Force +# Remove Microsoft Edge shortcut from the Desktop # Удалить ярлык Microsoft Edge с рабочего стола Remove-Item -Path "$env:USERPROFILE\Desktop\Microsoft Edge.lnk" -Force -ErrorAction SilentlyContinue +# Turn off per-user services # Отключить пользовательские службы $services = @( + # Clipboard User Service # Пользовательская служба буфера обмена "cbdhsvc_*", + # Contact Data # Служба контактных данных "PimIndexMaintenanceSvc_*", + # User Data Storage # Служба хранения данных пользователя "UnistoreSvc_*", + # User Data Access # Служба доступа к данным пользователя "UserDataSvc_*") Foreach ($service in $services) @@ -749,14 +834,19 @@ New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\UnistoreSvc -Name New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\UnistoreSvc -Name UserServiceFlags -Value 0 -Force New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\UserDataSvc -Name Start -Value 4 -Force New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\UserDataSvc -Name UserServiceFlags -Value 0 -Force +# Let Windows try to fix apps so they're not blurry # Разрешить Windows исправлять размытость в приложениях New-ItemProperty -Path "HKCU:\Control Panel\Desktop" -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:\Software\Microsoft\Windows Security Health\State" -Name AccountProtection_MicrosoftAccount_Disconnected -Value 1 -Force +# Hide notification about disabled Smartscreen for Microsoft Edge # Скрыть уведомление Защитника Windows об отключенном фильтре SmartScreen для Microsoft Edge New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows Security Health\State" -Name AppAndBrowser_EdgeSmartScreenOff -Value 0 -Force +# Remove Windows capabilities # Удалить компоненты $apps = @( "App.Support.QuickAssist*", @@ -767,11 +857,13 @@ Foreach ($app in $apps) { Get-WindowsCapability -Online | Where-Object -FilterScript {$_.Name -like $app} | Remove-WindowsCapability -Online } -# Запускать ярлык к командной строке от имени Администратора +# Open shortcut to the Command Prompt from Start menu as Administrator +# Запускать ярлык к командной строке в меню "Пуск" от имени Администратора $bytes = [System.IO.File]::ReadAllBytes("$env:APPDATA\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk") $bytes[0x15] = $bytes[0x15] -bor 0x20 [System.IO.File]::WriteAllBytes("$env:APPDATA\Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk", $bytes) -# Создать ярлык для "Устройства и принтеры" в %APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools +# Create shortcut for "Devices and Printers" in "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\System Tools" +# Создать ярлык для "Устройства и принтеры" в "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\System Tools" $target = "control" $file = "$env:AppData\Microsoft\Windows\Start Menu\Programs\System Tools\Устройства и принтеры.lnk" $shell = New-Object -ComObject Wscript.Shell @@ -780,10 +872,14 @@ $shortcut.TargetPath = $target $shortcut.Arguments = "printers" $shortCut.IconLocation = "$env:SystemRoot\system32\DeviceCenter.dll" $shortcut.Save() -# Настройка меню "Пуск" +# Import Start menu layout from pre-saved reg file +# Импорт настроенного меню "Пуск" из заготовленного reg-файла function Get-ResolvedPath { - param ([Parameter(ValueFromPipeline = 1)]$Path) + param ( + [Parameter(ValueFromPipeline = 1)] + $Path + ) (Get-Disk | Where-Object -FilterScript {$_.BusType -eq "USB"} | Get-Partition | Get-Volume | Where-Object -FilterScript {$null -ne $_.DriveLetter}).DriveLetter | ForEach-Object {Join-Path ($_ + ":") $Path -Resolve -ErrorAction SilentlyContinue} } $regpath = 'Программы\Прочее\reg\Start.reg' | Get-ResolvedPath @@ -794,33 +890,43 @@ IF ($regpath) } Else { + # Unpin all Start Menu tiles # Открепить все ярлыки от начального экрана $key = Get-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\*start.tilegrid`$windows.data.curatedtilecollection.tilecollection\Current $data = $key.Data[0..25] + ([byte[]](202,50,0,226,44,1,1,0,0)) New-ItemProperty -Path $key.PSPath -Name Data -PropertyType Binary -Value $data -Force } +# Show "Explorer" and "Settings" folders on Start menu # Отобразить папки "Проводник" и "Параметры" в меню "Пуск" $items = @("Проводник", "Параметры") $key = Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\CloudStore\Store\Cache\DefaultAccount\*windows.data.unifiedtile.startglobalproperties\Current" $data = $key.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 $key.PSPath -Name Data -PropertyType Binary -Value $data.Split(",") -Force -# Отображать цвет элементов в заголовках окон +# Show accent color on the title bars and window borders +# Отображать цвет элементов в заголовках окон и границ окон New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\DWM -Name ColorPrevalence -Value 1 -Force +# Use the PrtScn button to open screen snipping # Использовать клавишу Print Screen, чтобы запустить функцию создания фрагмента экрана New-ItemProperty -Path "HKCU:\Control Panel\Keyboard" -Name PrintScreenKeyForSnippingEnabled -Value 1 -Force +# Do not allow automatic hiding if scroll bars in Windows # Отключить автоматическое скрытие полос прокрутки в Windows New-ItemProperty -Path "HKCU:\Control Panel\Accessibility" -Name DynamicScrollbars -Value 0 -Force +# Do not let websites provide locally relevant content by accessing language list # Не позволять веб-сайтам предоставлять местную информацию за счет доступа к списку языков New-ItemProperty -Path "HKCU:\Control Panel\International\User 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 { @@ -854,8 +960,9 @@ Function KnownFolderPath Attrib +r $Path } $getdisk = (Get-Disk | Where-Object -FilterScript {$_.BusType -ne "USB"} | Get-Partition | Get-Volume).DriveLetter +# Desktop. Edit folder name first # Рабочий стол -$drive = Read-Host -Prompt "Введите букву диска, в корне которого будет создана папка `"Рабочий стол`". `nЧтобы пропустить, нажмите Enter" +$drive = Read-Host -Prompt "Type the drive letter in the root of which the specified folder will be created.`nPress Enter to skip.`n`nВведите букву диска, в корне которого будет создана папка `"Рабочий стол`".`nЧтобы пропустить, нажмите Enter" IF ($getdisk -eq $drive) { $drive = $(${drive}.ToUpper()) @@ -870,8 +977,8 @@ IF ($getdisk -eq $drive) New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{754AC886-DF64-4CBA-86B5-F7FBF4FBCEF5}" -PropertyType ExpandString -Value "${drive}:\Рабочий стол" -Force } } -# Документы -$drive = Read-Host -Prompt "Введите букву диска, в корне которого будет создана папка `"Документы`". `nЧтобы пропустить, нажмите Enter" +# Documents. Edit folder name first +$drive = Read-Host -Prompt "Type the drive letter in the root of which the specified folder will be created.`nPress Enter to skip.`n`nВведите букву диска, в корне которого будет создана папка `"Документы`". `nЧтобы пропустить, нажмите Enter" IF ($getdisk -eq $drive) { $drive = $(${drive}.ToUpper()) @@ -886,8 +993,8 @@ IF ($getdisk -eq $drive) New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{F42EE2D3-909F-4907-8871-4C22FC0BF756}" -PropertyType ExpandString -Value "${drive}:\Документы" -Force } } -# Загрузки -$drive = Read-Host -Prompt "Введите букву диска, в корне которого будет создана папка `"Загрузки`". `nЧтобы пропустить, нажмите Enter" +# Downloads. Edit folder name first +$drive = Read-Host -Prompt "Type the drive letter in the root of which the specified folder will be created.`nPress Enter to skip.`n`nВведите букву диска, в корне которого будет создана папка `"Загрузки`". `nЧтобы пропустить, нажмите Enter" IF ($getdisk -eq $drive) { $drive = $(${drive}.ToUpper()) @@ -905,8 +1012,8 @@ IF ($getdisk -eq $drive) New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\Main" -Name "Default Download Directory" -PropertyType String -Value "${drive}:\Загрузки" -Force } } -# Музыка -$drive = Read-Host -Prompt "Введите букву диска, в корне которого будет создана папка `"Музыка`". `nЧтобы пропустить, нажмите Enter" +# Music. Edit folder name first +$drive = Read-Host -Prompt "Type the drive letter in the root of which the specified folder will be created.`nPress Enter to skip.`n`nВведите букву диска, в корне которого будет создана папка `"Музыка`". `nЧтобы пропустить, нажмите Enter" IF ($getdisk -eq $drive) { $drive = $(${drive}.ToUpper()) @@ -921,8 +1028,8 @@ IF ($getdisk -eq $drive) New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{A0C69A99-21C8-4671-8703-7934162FCF1D}" -PropertyType ExpandString -Value "${drive}:\Музыка" -Force } } -# Изображения -$drive = Read-Host -Prompt "Введите букву диска, в корне которого будет создана папка `"Изображения`". `nЧтобы пропустить, нажмите Enter" +# Pictures. Edit folder name first +$drive = Read-Host -Prompt "Type the drive letter in the root of which the specified folder will be created.`nPress Enter to skip.`n`nВведите букву диска, в корне которого будет создана папка `"Изображения`". `nЧтобы пропустить, нажмите Enter" IF ($getdisk -eq $drive) { $drive = $(${drive}.ToUpper()) @@ -937,8 +1044,8 @@ IF ($getdisk -eq $drive) New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{0DDD015D-B06C-45D5-8C4C-F59713854639}" -PropertyType ExpandString -Value "${drive}:\Изображения" -Force } } -# Видео -$drive = Read-Host -Prompt "Введите букву диска, в корне которого будет создана папка `"Видео`".`nЧтобы пропустить, нажмите Enter" +# Videos. Edit folder name first +$drive = Read-Host -Prompt "Type the drive letter in the root of which the specified folder will be created.`nPress Enter to skip.`n`nВведите букву диска, в корне которого будет создана папка `"Видео`".`nЧтобы пропустить, нажмите Enter" IF ($getdisk -eq $drive) { $drive = $(${drive}.ToUpper()) @@ -953,15 +1060,20 @@ IF ($getdisk -eq $drive) New-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" -Name "{35286A68-3C57-41A1-BBB1-0EAE73D76C95}" -PropertyType ExpandString -Value "${drive}:\Видео" -Force } } -# Удалить %SYSTEMDRIVE%\PerfLogs +# Remove "$env:SystemDrive\PerfLogs" +# Удалить "$env:SystemDrive\PerfLogs" Remove-Item $env:SystemDrive\PerfLogs -Recurse -Force -ErrorAction SilentlyContinue -# Удалить %LOCALAPPDATA%\Temp +# Remove "$env:LOCALAPPDATA\Temp" +# Удалить "$env:LOCALAPPDATA\Temp" Remove-Item $env:LOCALAPPDATA\Temp -Recurse -Force -ErrorAction SilentlyContinue -# Удалить %SYSTEMROOT%\Temp +# Remove "$env:SYSTEMROOT\Temp" +# Удалить "$env:SYSTEMROOT\Temp" Restart-Service -ServiceName Spooler -Force Remove-Item -Path "$env:SystemRoot\Temp" -Recurse -Force -ErrorAction SilentlyContinue +# Show more Windows Update restart notifications about restarting # Показывать уведомление, когда компьютеру требуется перезагрузка для завершения обновления New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings -Name RestartNotificationsAllowed2 -Value 1 -Force +# Set "High performance" in graphics performance preference for app # Установить параметры производительности графики для отдельных приложений на "Высокая производительность" 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})) { @@ -976,4 +1088,35 @@ IF ((Get-CimInstance -ClassName Win32_ComputerSystem).PCSystemType -ne 2 -and (G New-ItemProperty -Path HKCU:\Software\Microsoft\DirectX\UserGpuPreferences -Name $exe -PropertyType String -Value "GpuPreference=2;" -Force } } -Stop-Process -Name explorer +# Automatically adjust active hours for me based on daily usage +# Автоматически изменять период активности для этого устройства на основе действий +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings -Name SmartActiveHoursState -Value 1 -Force +# Turn on automatic recommended troubleshooting +# Устранять проблемы без запроса +IF (-not (Test-Path -Path HKLM:\SOFTWARE\Microsoft\WindowsMitigation)) +{ + New-Item -Path HKLM:\SOFTWARE\Microsoft\WindowsMitigation -Force +} +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\WindowsMitigation -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"}) +{ + Enable-WindowsOptionalFeature –FeatureName Containers-DisposableClientVM -All -Online -NoRestart +} +# Turn off reserved storage +# Отключить зарезервированное хранилище +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager -Name BaseHardReserveSize -PropertyType QWord -Value 0 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager -Name BaseSoftReserveSize -PropertyType QWord -Value 0 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager -Name HardReserveAdjustment -PropertyType QWord -Value 0 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager -Name MinDiskSize -PropertyType QWord -Value 0 -Force +New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager -Name ShippedWithReserves -Value 0 -Force +# Launch folder in a separate process +# Запускать окна с папками в отдельном процессе +New-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name SeparateProcess -Value 1 -Force +# Restart Start menu +# Перезапустить меню "Пуск" +Stop-Process -Name StartMenuExperienceHost -Force +# Restart File Explorer +# Перезапустить "File Explorer" +Stop-Process -Name explorer -Force