From dbefe48c8f9ff5faef7e39952bfc0c05e0f185a2 Mon Sep 17 00:00:00 2001 From: Dmitry Nefedov Date: Wed, 10 Jun 2020 19:42:23 +0300 Subject: [PATCH] v4.5 10.06.2020 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Windows 10 2004 Version ## Updated - Updated sections - Stop event trace sessions; - Turn off Windows features; - Turn off background apps, except the followings...; - Turn off and delete reserved storage after the next update installation; - Hide the "Edit with Photos" item from the context menu; - Hide the "Create a new video" item from the context menu; - Hide the "Edit" item from the images context menu; - Remove the "Bitmap image" item from the "New" context menu; - Remove the "Rich Text Document" item from the "New" context menu. - Added sections - Turn on automatically save my restartable apps when sign out and restart them after sign in - Turn off Cortana autostarting; - Turn on hardware-accelerated GPU scheduling. - Due to Microsoft Edge moved to Chromium rendering engine, the following sections was removed - Remove Microsoft Edge shortcut from the Desktop; - 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; - To remove unnecessary key execute ```powershell Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\TabPreloader -Name AllowTabPreloading -Force ``` - Do not allow Microsoft Edge to pre-launch at Windows startup, when the system is idle, and each time Microsoft Edge is closed; - To remove unnecessary key execute unnecessary key execute ```powershell Remove-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main -Name AllowPrelaunch -Force ``` - Turn off Windows Defender SmartScreen for Microsoft Edge; - To remove unnecessary key execute ```powershell $edge = (Get-AppxPackage -Name Microsoft.MicrosoftEdge).PackageFamilyName Remove-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\PhishingFilter" -Name EnabledV9 -Force ``` - Turn off creation of an Edge shortcut on the desktop for each user profile; - To remove unnecessary key execute ```powershell Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name DisableEdgeDesktopShortcutCreation -Force ``` - In Winfows 10 the "Turn on automatic recommended troubleshooting and tell when problems get fixed" feature was renamed into "Run troubleshooters automatically, then notify" - Comments; - Minor changes. ## Версия для Windows 10 2004 Version ## Обновлено - Обновлены разделы - Изменить расположение пользовательских папок; - Отключить компоненты Windows - У функции добавлена справка по использованию; - Запретить приложениям работать в фоновом режиме, кроме следующих...; - Отключить и удалить зарезервированное хранилище после следующей установки обновлений; - Скрыть пункт "Изменить с помощью приложения "Фотографии"" из контекстного меню; - Скрыть пункт "Создать новое видео" из контекстного меню; - Скрыть пункт "Изменить" из контекстного меню изображений; - Удалить пункт "Точечный рисунок" из контекстного меню "Создать"; - Удалить пункт "Документ в формате RTF" из контекстного меню "Создать". - Добавлены разделы - Автоматически сохранять мои перезапускаемые приложения при выходе из системы и перезапустить их после выхода; - Удалить Кортана из автозагрузки; - Включить планирование графического процессора с аппаратным ускорением. - В связи с переходом Microsoft Edge на движок Chromium были удалены следующие разделы - Удалить ярлык Microsoft Edge с рабочего стола; - Не разрешать Edge запускать и загружать страницу при загрузке Windows и каждый раз при закрытии Edge; - Чтобы удалить ненужный ключ, выполните ```powershell New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\TabPreloader -Name AllowTabPreloading -PropertyType DWord -Value 0 -Force ``` - Не разрешать предварительный запуск Edge при загрузке Windows, когда система простаивает, и каждый раз при закрытии Edge; - Чтобы удалить ненужный ключ, выполните ```powershell New-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\MicrosoftEdge\Main -Name AllowPrelaunch -PropertyType DWord -Value 0 -Force ``` - Отключить Windows Defender SmartScreen в Microsoft Edge; - Чтобы удалить ненужный ключ, выполните ```powershell $edge = (Get-AppxPackage -Name Microsoft.MicrosoftEdge).PackageFamilyName New-ItemProperty -Path "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\$edge\MicrosoftEdge\PhishingFilter" -Name EnabledV9 -PropertyType DWord -Value 0 -Force ``` - Отключить создание ярлыка Edge на рабочем столе для каждого профиля пользователя пользователя; - Чтобы удалить ненужный ключ, выполните ```powershell New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer -Name DisableEdgeDesktopShortcutCreation -PropertyType DWord -Value 1 -Force ``` - В Windows 10 2004 опция "Автоматически запускать средства устранения неполадок, а затем сообщать об устранении проблем" был переименован в "Автоматически запускать средства устранения неполадок, а затем уведомлять" - Комментарии; - Незначительные изменения. --- Win 10 2004.ps1 | 3288 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3288 insertions(+) create mode 100644 Win 10 2004.ps1 diff --git a/Win 10 2004.ps1 b/Win 10 2004.ps1 new file mode 100644 index 00000000..4c950bfb --- /dev/null +++ b/Win 10 2004.ps1 @@ -0,0 +1,3288 @@ +<# +.SYNOPSIS + "Windows 10 Setup Script" is a set of tweaks for OS fine-tuning and automating the routine tasks +.DESCRIPTION + Supported Windows 10 version: 2004 (20H1), 19041 build, x64 + Most of functions can be run also on LTSB/LTSC + + Tested on Home/Pro/Enterprise editions + + Check whether the .ps1 file is encoded in UTF-8 with BOM + The script can not be executed via PowerShell ISE + PowerShell must be run with elevated privileges + + Set execution policy to be able to run scripts only in the current PowerShell session: + Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force + + Running the script is best done on a fresh install +.EXAMPLE + PS C:\> & '.\Win 10.ps1' +.NOTES + Version: v4.5 + Date: 10.06.2020 + Written by: farag & oZ-Zo + Thanks to all http://forum.ru-board.com members involved + + Ask a question on + http://forum.ru-board.com/topic.cgi?forum=62&topic=30617#15 + https://habr.com/en/post/465365/ + https://4pda.ru/forum/index.php?showtopic=523489&st=42860#entry95909388 + https://forums.mydigitallife.net/threads/powershell-script-setup-windows-10.81675/ + https://www.reddit.com/r/PowerShell/comments/go2n5v/powershell_script_setup_windows_10/ + + Copyright (c) 2020 farag & oZ-Zo +.LINK + https://github.com/farag2/Windows-10-Setup-Script +#> + +#Requires -RunAsAdministrator +#Requires -Version 5.1 + +#region Check +Clear-Host + +# Get information about the current culture settings +# Получить сведения о параметрах текущей культуры +if ($PSUICulture -eq "ru-RU") +{ + $RU = $true +} +else +{ + $RU = $false +} + +# Detect the OS bitness +# Определить разрядность ОС +switch ([Environment]::Is64BitOperatingSystem) +{ + $false + { + if ($RU) + { + Write-Warning -Message "Скрипт поддерживает только Windows 10 x64" + } + else + { + Write-Warning -Message "The script supports Windows 10 x64 only" + } + break + } + Default {} +} + +# Detect the PowerShell bitness +# Определить разрядность PowerShell +switch ([IntPtr]::Size -eq 8) +{ + $false + { + if ($RU) + { + Write-Warning -Message "Скрипт поддерживает только PowerShell x64" + } + else + { + Write-Warning -Message "The script supports PowerShell x64 only" + } + break + } + Default {} +} + +# Detect whether the script is running via PowerShell ISE +# Определить, запущен ли скрипт в PowerShell ISE +if ($psISE) +{ + if ($RU) + { + Write-Warning -Message "Скрипт не может быть запущен в PowerShell ISE" + } + else + { + Write-Warning -Message "The script can not be run via PowerShell ISE" + } + break +} +#endregion Check + +#region Begin +Set-StrictMode -Version Latest + +# Сlear $Error variable +# Очистка переменной $Error +$Error.Clear() + +# Set the encoding to UTF-8 without BOM for the PowerShell session +# Установить кодировку UTF-8 без BOM для текущей сессии PowerShell +if ($RU) +{ + ping.exe | Out-Null + $OutputEncoding = [System.Console]::OutputEncoding = [System.Console]::InputEncoding = [System.Text.Encoding]::UTF8 +} + +# Create a restore point +# Создать точку восстановления +if ($RU) +{ + $Title = "Точка восстановления" + $Message = "Чтобы создайте точку восстановления, введите необходимую букву" + $Options = "&Создать", "&Не создавать", "&Пропустить" +} +else +{ + $Title = "Restore point" + $Message = "To create a restore point enter the required letter" + $Options = "&Create", "&Do not create", "&Skip" +} +$DefaultChoice = 2 +$Result = $Host.UI.PromptForChoice($Title, $Message, $Options, $DefaultChoice) + +switch ($Result) +{ + "0" + { + if (-not (Get-ComputerRestorePoint)) + { + Enable-ComputerRestore -Drive $env:SystemDrive + } + # Set system restore point creation frequency to 5 minutes + # Установить частоту создания точек восстановления на 5 минут + New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SystemRestore" -Name SystemRestorePointCreationFrequency -PropertyType DWord -Value 5 -Force + # Descriptive name format for the restore point: ..