Skip to content

Commit 0b61f77

Browse files
authored
16.09.2019
## Updated - Added "Set the encoding to UTF-8 without BOM for the PowerShell session"; - <code>ping.exe | Out-Null<code> used due to output is encoded with the default encoding despite changes (bug in .NET); - Descriptions; - Open shortcut to the Command Prompt from Start menu as Administrator; - Added ``` New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection -Name AllowTelemetry -PropertyType DWord -Value 3 -Force ``` command to "Turn on automatic recommended troubleshooting and tell when problems get fixed" section due to the diagnostic data level needs to be set to "Full" in order to work; - Minor changes. ## Обновлено - Добавлен раздел "Установить кодировку UTF-8 без BOM для текущей сессии PowerShell"; - Команда <code>ping.exe | Out-Null<code> используется по причине того, что вывод данных имеет кодировку по умолчанию, несмотря на внеменные изменения (ошибка в .NET); - Описания; - Запускать ярлык к командной строке в меню "Пуск" от имени Администратора; - Добавлена команда ``` New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection -Name AllowTelemetry -PropertyType DWord -Value 3 -Force ``` в раздел "Автоматически запускать средства устранения неполадок, а затем сообщать об устранении проблем" по причине того, что уровень отправляемых диагностических сведений должен быть вставлен на "Полный", чтобы средство устранения неполадок работало; - Прочие незначительные изменения.
1 parent 7117dd8 commit 0b61f77

File tree

1 file changed

+56
-39
lines changed

1 file changed

+56
-39
lines changed

Win 10.ps1

Lines changed: 56 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -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
# Отключить службу "Функциональные возможности для подключенных пользователей и телеметрия"
1623
Get-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
)
6370
Get-ScheduledTask -TaskName $tasks | Disable-ScheduledTask
@@ -523,7 +530,7 @@ $ExcludedApps = @(
523530
$OFS = "|"
524531
Get-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
624631
New-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
}
664671
Register-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
}
684691
Register-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
11521169
New-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
11561172
setx /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
# Автоматически изменять период активности для этого устройства на основе действий
16741690
New-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
16771694
IF (-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
16841701
IF (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+
# Отключить и удалить зарезервированное хранилище после следующей установки обновлений
17071724
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager -Name BaseHardReserveSize -PropertyType QWord -Value 0 -Force
17081725
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager -Name BaseSoftReserveSize -PropertyType QWord -Value 0 -Force
17091726
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager -Name HardReserveAdjustment -PropertyType QWord -Value 0 -Force
17101727
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\ReserveManager -Name MinDiskSize -PropertyType QWord -Value 0 -Force
17111728
New-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
# Перезапустить меню "Пуск"
17201737
Stop-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

Comments
 (0)