@@ -11,6 +11,13 @@ IF ((Get-Culture).Name -eq "ru-RU")
1111{
1212 $RU = $true
1313}
14+ # Set the encoding to UTF-8 without BOM for the PowerShell session
15+ # Установить кодировку UTF-8 без BOM для текущей сессии PowerShell
16+ IF ($RU )
17+ {
18+ ping.exe | Out-Null
19+ $OutputEncoding = [System.Console ]::OutputEncoding = [System.Console ]::InputEncoding = [System.Text.Encoding ]::UTF8
20+ }
1421# Turn off "Connected User Experiences and Telemetry" service
1522# Отключить службу "Функциональные возможности для подключенных пользователей и телеметрия"
1623Get-Service - Name DiagTrack | Stop-Service - Force
@@ -37,27 +44,27 @@ New-ItemProperty -Path HKCU:\Software\Microsoft\Siuf\Rules -Name NumberOfSIUFInP
3744# Turn off diagnostics tracking scheduled tasks
3845# Отключить задачи диагностического отслеживания
3946$tasks = @ (
40- " ProgramDataUpdater" ,
41- " Microsoft Compatibility Appraiser" ,
42- " Microsoft-Windows-DiskDiagnosticDataCollector" ,
43- " TempSignedLicenseExchange" ,
44- " MapsToastTask" ,
45- " DmClient" ,
46- " FODCleanupTask" ,
47- " DmClientOnScenarioDownload" ,
48- " BgTaskRegistrationMaintenanceTask" ,
49- " File History (maintenance mode)" ,
50- " WinSAT" ,
51- " UsbCeip" ,
52- " Consolidator" ,
53- " Proxy" ,
54- " MNO Metadata Parser" ,
55- " NetworkStateChangeTask" ,
56- " GatherNetworkInfo" ,
57- " XblGameSaveTask" ,
58- " EnableLicenseAcquisition" ,
59- " QueueReporting" ,
60- " FamilySafetyMonitor" ,
47+ " ProgramDataUpdater"
48+ " Microsoft Compatibility Appraiser"
49+ " Microsoft-Windows-DiskDiagnosticDataCollector"
50+ " TempSignedLicenseExchange"
51+ " MapsToastTask"
52+ " DmClient"
53+ " FODCleanupTask"
54+ " DmClientOnScenarioDownload"
55+ " BgTaskRegistrationMaintenanceTask"
56+ " File History (maintenance mode)"
57+ " WinSAT"
58+ " UsbCeip"
59+ " Consolidator"
60+ " Proxy"
61+ " MNO Metadata Parser"
62+ " NetworkStateChangeTask"
63+ " GatherNetworkInfo"
64+ " XblGameSaveTask"
65+ " EnableLicenseAcquisition"
66+ " QueueReporting"
67+ " FamilySafetyMonitor"
6168 " FamilySafetyRefreshTask"
6269)
6370Get-ScheduledTask - TaskName $tasks | Disable-ScheduledTask
@@ -523,7 +530,7 @@ $ExcludedApps = @(
523530$OFS = " |"
524531Get-AppxPackage - PackageTypeFilter Bundle - AllUsers | Where-Object {$_.Name -cnotmatch $ExcludedApps } | Remove-AppxPackage - AllUsers
525532$OFS = " "
526- # Uninstall all UWP apps from all accounts except
533+ # Uninstall all provisioned UWP apps from all accounts except
527534# Удалить все UWP-приложения из системной учетной записи, кроме
528535$ExcludedApps = @ (
529536 # Intel UWP-panel
@@ -622,8 +629,8 @@ Get-CimInstance -ClassName Win32_ShadowCopy | Remove-CimInstance
622629# Turn off Windows Script Host
623630# Отключить Windows Script Host
624631New-ItemProperty - Path " HKLM:\SOFTWARE\Microsoft\Windows Script Host\Settings" - Name Enabled - PropertyType DWord - Value 0 - Force
625- # Create scheduled task with the disk cleanup tool in Task Scheduler . The task runs every 90 days
626- # Создать в Планировщике задач задачу по запуску очистки диска . Задача выполняется каждые 90 дней
632+ # Create a task in the Task Scheduler to start Windows cleaning up . The task runs every 90 days
633+ # Создать задачу в Планировщике задач по очистке обновлений Windows . Задача выполняется каждые 90 дней
627634$keys = @ (
628635 # Delivery Optimization Files
629636 # Файлы оптимизации доставки
@@ -662,9 +669,9 @@ $params = @{
662669 " Principal" = $principal
663670}
664671Register-ScheduledTask @params - Force
665- # Create task to clean out the "$env:SystemRoot\SoftwareDistribution\Download" folder in Task Scheduler
672+ # Create a task in the Task Scheduler to clear the "$env:SystemRoot\SoftwareDistribution\Download" folder.
666673# The task runs on Thursdays every 4 weeks
667- # Создать в Планировщике задач задачу по очистке папки "$env:SystemRoot\SoftwareDistribution\Download"
674+ # Создать задачу в Планировщике задач по очистке папки "$env:SystemRoot\SoftwareDistribution\Download"
668675# Задача выполняется по четвергам каждую 4 неделю
669676$action = New-ScheduledTaskAction - Execute powershell.exe - Argument @"
670677 `$ getservice = Get-Service -Name wuauserv
@@ -682,8 +689,8 @@ $params = @{
682689 " Principal" = $principal
683690}
684691Register-ScheduledTask @params - Force
685- # Create scheduled task with the $env:TEMP folder cleanup in Task Scheduler . The task runs every 62 days
686- # Создать в Планировщике задач очистки папки $env:TEMP. Задача выполняется каждые 62 дня
692+ # Create a task in the Task Scheduler to clear the $env:TEMP folder. The task runs every 62 days
693+ # Создать задачу в Планировщике задач по очистке папки $env:TEMP. Задача выполняется каждые 62 дня
687694$action = New-ScheduledTaskAction - Execute powershell.exe - Argument @"
688695 Get-ChildItem -Path `$ env:TEMP -Force -Recurse | Remove-Item -Force -Recurse
689696"@
@@ -1075,9 +1082,9 @@ Get-WindowsCapability -Online | Where-Object -FilterScript {$_.Name -cmatch $Inc
10751082$OFS = " "
10761083# Open shortcut to the Command Prompt from Start menu as Administrator
10771084# Запускать ярлык к командной строке в меню "Пуск" от имени Администратора
1078- $bytes = [ System.IO.File ]::ReadAllBytes( " $env: APPDATA \Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk" )
1085+ [ byte []] $bytes = Get-Content - Path " $env: APPDATA \Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk" - Encoding Byte - Raw
10791086$bytes [0x15 ] = $bytes [0x15 ] -bor 0x20
1080- [ System.IO.File ]::WriteAllBytes( " $env: APPDATA \Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk" , $bytes )
1087+ Set-Content - Path " $env: APPDATA \Microsoft\Windows\Start Menu\Programs\System Tools\Command Prompt.lnk" - Value $bytes - Encoding Byte - Force
10811088# Create old style shortcut for "Devices and Printers" in "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\System Tools"
10821089# Создать ярлык старого формата для "Устройства и принтеры" в "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\System Tools"
10831090$target = " control"
@@ -1099,6 +1106,16 @@ $openfiledialog.ShowHelp = $true
10991106# Начальная папка "Загрузки"
11001107$DownloadsFolder = Get-ItemPropertyValue - Path " HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" - Name " {374DE290-123F-4565-9164-39C4925E467B}"
11011108$OpenFileDialog.InitialDirectory = $DownloadsFolder
1109+ $OpenFileDialog.Multiselect = $false
1110+ $OpenFileDialog.ShowHelp = $false
1111+ IF ($RU )
1112+ {
1113+ $OpenFileDialog.Filter = " Файлы реестра (*.reg)|*.reg|Все файлы (*.*)|*.*"
1114+ }
1115+ else
1116+ {
1117+ $OpenFileDialog.Filter = " Registration Files (*.reg)|*.reg|All Files (*.*)|*.*"
1118+ }
11021119# Focus on open file dialog
11031120# Перевести фокус на диалог открытия файла
11041121$tmp = New-Object - TypeName System.Windows.Forms.Form
@@ -1152,7 +1169,6 @@ New-ItemProperty -Path "HKCU:\Control Panel\Accessibility" -Name DynamicScrollba
11521169New-ItemProperty - Path " HKCU:\Control Panel\International\User Profile" - Name HttpAcceptLanguageOptOut - PropertyType DWord - Value 1 - Force
11531170# Turn on Windows Defender Sandbox
11541171# Запускать Защитник Windows в песочнице
1155- [Console ]::OutputEncoding = [System.Text.Encoding ]::UTF8
11561172setx / M MP_FORCE_USE_SANDBOX 1
11571173# Set location of the "Desktop", "Documents" "Downloads" "Music", "Pictures", and "Videos"
11581174# Переопределить расположение папок "Рабочий стол", "Документы", "Загрузки", "Музыка", "Изображения", "Видео"
@@ -1672,13 +1688,14 @@ IF ((Get-CimInstance -ClassName Win32_ComputerSystem).PCSystemType -ne 2 -and (G
16721688# Automatically adjust active hours for me based on daily usage
16731689# Автоматически изменять период активности для этого устройства на основе действий
16741690New-ItemProperty - Path HKLM:\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings - Name SmartActiveHoursState - PropertyType DWord - Value 1 - Force
1675- # Turn on automatic recommended troubleshooting
1676- # Устранять проблемы без запроса
1691+ # Turn on automatic recommended troubleshooting and tell when problems get fixed
1692+ # Автоматически запускать средства устранения неполадок, а затем сообщать об устранении проблем
1693+ New-ItemProperty - Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection - Name AllowTelemetry - PropertyType DWord - Value 3 - Force
16771694IF (-not (Test-Path - Path HKLM:\SOFTWARE\Microsoft\WindowsMitigation))
16781695{
16791696 New-Item - Path HKLM:\SOFTWARE\Microsoft\WindowsMitigation - Force
16801697}
1681- New-ItemProperty - Path HKLM:\SOFTWARE\Microsoft\WindowsMitigation - Name UserPreference - PropertyType DWord - Value 4 - Force
1698+ New-ItemProperty - Path HKLM:\SOFTWARE\Microsoft\WindowsMitigation - Name UserPreference - PropertyType DWord - Value 3 - Force
16821699# Turn on Windows Sandbox
16831700# Включить Windows Sandbox
16841701IF (Get-WindowsEdition - Online | Where-Object - FilterScript {$_.Edition -eq " Professional" -or $_.Edition -eq " Enterprise" })
@@ -1702,19 +1719,19 @@ IF (Get-WindowsEdition -Online | Where-Object -FilterScript {$_.Edition -eq "Pro
17021719 }
17031720 }
17041721}
1705- # Turn off reserved storage
1706- # Отключить зарезервированное хранилище
1722+ # Turn off and delete reserved storage after the next update installation
1723+ # Отключить и удалить зарезервированное хранилище после следующей установки обновлений
17071724New-ItemProperty - Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager - Name BaseHardReserveSize - PropertyType QWord - Value 0 - Force
17081725New-ItemProperty - Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager - Name BaseSoftReserveSize - PropertyType QWord - Value 0 - Force
17091726New-ItemProperty - Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager - Name HardReserveAdjustment - PropertyType QWord - Value 0 - Force
17101727New-ItemProperty - Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager - Name MinDiskSize - PropertyType QWord - Value 0 - Force
17111728New-ItemProperty - Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager - Name ShippedWithReserves - PropertyType DWord - Value 0 - Force
17121729# Launch folder in a separate process
17131730# Запускать окна с папками в отдельном процессе
1714- New-ItemProperty - Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced - Name SeparateProcess - Value 1 - Force
1731+ New-ItemProperty - Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced - Name SeparateProcess - PropertyType DWord - Value 1 - Force
17151732# Turn on automatic backup the system registry to the "$env:SystemRoot\System32\config\RegBack" folder
17161733# Включить автоматическое создание копии реестра в папку "$env:SystemRoot\System32\config\RegBack"
1717- New-ItemProperty - Path " HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager" - Name EnablePeriodicBackup - Value 1 - Force
1734+ New-ItemProperty - Path " HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Configuration Manager" - Name EnablePeriodicBackup - PropertyType DWord - Value 1 - Force
17181735# Restart Start menu
17191736# Перезапустить меню "Пуск"
17201737Stop-Process - Name StartMenuExperienceHost - Force
@@ -1758,4 +1775,4 @@ Write-Host "`nErrors" -BackgroundColor Red
17581775 Line = $_.InvocationInfo.ScriptLineNumber
17591776 Error = $_.Exception.Message
17601777 }
1761- } | Format-Table - AutoSize - Wrap | Out-String ).Trim()
1778+ } | Sort-Object - Property Line | Format-Table - AutoSize - Wrap | Out-String ).Trim()
0 commit comments