Проблема
Стандартная установка Windows 10 содержит множество компонентов, которые не нужны в корпоративной среде, но штатные графические интерфейсы не позволяют полностью отключить телеметрию, скрыть рекламные разделы, удалить неудаляемые UWP-приложения или массово настроить параметры конфиденциальности. Администраторы часто обращаются к сторонним утилитам (ShutUp10, WPD, Sophia Script), однако каждое такое средство вносит непрозрачные изменения в реестр, требует обновлений и вызывает обоснованные опасения службы безопасности. На самом деле почти все операции тонкой настройки можно выполнить встроенными средствами Windows 10/11. программа настройки для Windows 10 это не обязательно графический твикер: командная строка и PowerShell предоставляют полный контроль над операционной системой без установки дополнительного ПО. В этой статье мы разберём практические команды и скрипты, которые позволяют сисадмину быстро привести систему к нужному состоянию, задокументировать изменения и при необходимости откатить их.
Решение
Используем связку классической командной строки (CMD), PowerShell и встроенных утилит (DISM, SFC, reg, schtasks). Все команды можно выполнять как локально, так и удалённо через WinRM. Мы соберём типовые задачи по категориям: конфиденциальность, удаление приложений, интерфейс, службы и автозагрузка. Большинство операций основано на изменении параметров реестра, поэтому перед началом работы рекомендую создать точку восстановления системы или экспортировать ветки реестра, которые будут затронуты.
Источники, на которые опирается инструкция:
Пошаговая инструкция
Шаг 1. Настройка конфиденциальности и отключение телеметрии через PowerShell
Многие параметры конфиденциальности управляются политиками реестра. Для административного применения потребуется запуск PowerShell с правами администратора (Win + X, затем Windows PowerShell (Администратор)).
Отключение телеметрии на уровне «Безопасность» (0 — только данные безопасности):
powershell
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Type DWord -Value 0
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection" -Name "AllowTelemetry" -Type DWord -Value 0
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Policies\DataCollection" -Name "AllowTelemetry" -Type DWord -Value 0
Отключение Cortana и веб-поиска в меню «Пуск»:
powershell
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name "AllowCortana" -Type DWord -Value 0
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name "DisableWebSearch" -Type DWord -Value 1
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search" -Name "ConnectedSearchUseWeb" -Type DWord -Value 0
Отключение рекламных идентификаторов и предложений:
powershell
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo" -Name "Enabled" -Type DWord -Value 0
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent" -Name "DisableWindowsConsumerFeatures" -Type DWord -Value 1
Запрет доступа приложений к рекламному идентификатору:
powershell
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Privacy" -Name "TailoredExperiencesWithDiagnosticDataEnabled" -Type DWord -Value 0
После внесения изменений перезагружать компьютер не обязательно, но рекомендуется для полного применения некоторых политик.
Шаг 2. Удаление и повторная установка встроенных UWP-приложений
PowerShell даёт возможность удалить Modern-приложения как для текущего пользователя, так и из системного образа.
Удаление конкретного приложения (например, Xbox):
powershell
Get-AppxPackage *xbox* | Remove-AppxPackage
Удаление всех предустановленных приложений для всех пользователей (осторожно!):
powershell
Get-AppxPackage -AllUsers | Where-Object { $_.Name -notlike "*Store*" -and $_.Name -notlike "*Calculator*" -and $_.Name -notlike "*WindowsTerminal*" } | Remove-AppxPackage -AllUsers
В примере выше оставлены Microsoft Store, Калькулятор и Терминал вы можете настроить фильтр под свои задачи.
Удаление предустановленных пакетов из образа системы (после этого приложения не установятся для новых пользователей):
powershell
Get-AppxProvisionedPackage -Online | Where-Object { $_.DisplayName -notlike "*Store*" } | Remove-AppxProvisionedPackage -Online
Эта команда удаляет provisining-пакеты, поэтому после создания новой учётной записи удалённые приложения не появятся.
Восстановление всех стандартных приложений (если что-то пошло не так):
powershell
Get-AppxPackage -AllUsers | ForEach { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" }
Шаг 3. Настройка интерфейса и проводника
Многие настройки, скрытые от графического интерфейса, доступны через реестр.
Отображение расширений файлов и скрытых папок в проводнике:
powershell
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "HideFileExt" -Type DWord -Value 0
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "Hidden" -Type DWord -Value 1
Запуск проводника в режиме «Этот компьютер» вместо «Быстрого доступа»:
powershell
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "LaunchTo" -Type DWord -Value 1
Отключение вкладки «Быстрый доступ»:
powershell
Remove-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\HomeFolderDesktop" -Force -ErrorAction SilentlyContinue
Отключение залипания клавиш и анимаций (для улучшения отзывчивости):
powershell
Set-ItemProperty -Path "HKCU:\Control Panel\Accessibility\StickyKeys" -Name "Flags" -Type String -Value "506"
Set-ItemProperty -Path "HKCU:\Control Panel\Accessibility\ToggleKeys" -Name "Flags" -Type String -Value "58"
Set-ItemProperty -Path "HKCU:\Control Panel\Accessibility\FilterKeys" -Name "Flags" -Type String -Value "122"
# Отключение визуальных эффектов (можно задать параметр Performance)
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects" -Name "VisualFXSetting" -Type DWord -Value 2
Значение 2 соответствует «Обеспечить наилучшее быстродействие».
Шаг 4. Управление службами и автозагрузкой
Службы можно массово отключать в PowerShell. Однако будьте осторожны: отключение критичных служб может нарушить работу системы.
Отключение служб диагностики и отслеживания (Diagnostic Tracking Service, dmwappushsvc):
powershell
Stop-Service DiagTrack -Force
Set-Service DiagTrack -StartupType Disabled
Stop-Service dmwappushservice -Force
Set-Service dmwappushservice -StartupType Disabled
Отключение редко используемых служб (факс, Xbox Live и т.п.):
powershell
$services = @("XblAuthManager", "XblGameSave", "XboxNetApiSvc", "XboxGipSvc", "Fax", "wisvc", "WSearch")
foreach ($svc in $services) {
Stop-Service $svc -Force -ErrorAction SilentlyContinue
Set-Service $svc -StartupType Disabled -ErrorAction SilentlyContinue
}
Управление автозагрузкой через PowerShell:
Список автозагрузок текущего пользователя:
powershell
Get-CimInstance Win32_StartupCommand | Select-Object Name, Command, Location, User
Отключение конкретной записи (требуется удалить из реестра или отключить задачу в планировщике). Для записей реестра:
powershell
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" -Name "SomeApp" -Force
Шаг 5. Очистка системы и восстановление хранилища компонентов
Стандартные средства обслуживания всегда под рукой.
Очистка временных файлов и корзины (PowerShell):
powershell
CleanMgr /sageset:1
CleanMgr /sagerun:1
или напрямую удалить временные папки:
powershell
Remove-Item -Path "$env:TEMP\*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item -Path "C:\Windows\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue
Восстановление системных файлов и образа (CMD от администратора):
cmd
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
Сжатие операционной системы для экономии места (Compact OS):
cmd
Compact.exe /CompactOS:always
Шаг 6. Создание собственного скрипта автоматизации
Чтобы не вводить команды вручную на каждом компьютере, можно сохранить весь блок в один файл Configure-Win10.ps1 и запускать от администратора. Примерный шаблон:
powershell
#Requires -RunAsAdministrator
# Скрипт базовой настройки Windows 10
Write-Host "Настройка конфиденциальности..." -ForegroundColor Green
# ... команды из шага 1 ...
Write-Host "Удаление UWP-приложений..." -ForegroundColor Green
# ... команды из шага 2 ...
Write-Host "Очистка системы..." -ForegroundColor Green
# ... команды шага 5 ...
Write-Host "Готово. Рекомендуется перезагрузить компьютер."
Сохраните скрипт и запускайте на целевых машинах через групповые политики (GPO) или систему управления конфигурациями. Перед массовым внедрением обязательно протестируйте на эталонной виртуальной машине.
Устранение распространённых проблем
| Симптом | Вероятная причина | Решение |
|---|---|---|
| После удаления приложений не работает поиск или меню «Пуск» | Удалено приложение Microsoft.Windows.ShellExperienceHost или windows.immersivecontrolpanel | Не удаляйте эти компоненты. Восстановите их командой Get-AppxPackage -AllUsers | ForEach { Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml" }. Перезагрузитесь. |
| При запуске PowerShell-команд появляется ошибка доступа | PowerShell запущен без прав администратора | Закройте окно и откройте от имени администратора. |
| После отключения служб перестала работать учётная запись Microsoft или синхронизация | Отключена служба wlidsvc или TokenBroker | Если вам нужна синхронизация, не отключайте эти службы. В противном случае включите их обратно: Set-Service wlidsvc -StartupType Manual. |
После выполнения Remove-AppxProvisionedPackage приложения не появляются у новых пользователей | Так и задумано, но, возможно, вы удалили нужное приложение | Определить имя удалённого пакета можно, посмотрев историю команд. Для восстановления используйте Add-AppxProvisionedPackage. |
| Команды реестра не дали эффекта | Не перезагружен процесс explorer.exe или сама система | Выполните Restart-Process explorer и перезагрузите компьютер. |
Для тех кто дочитал до конца вот полный скрипт PowerShell, объединяющий команды всех шагов, описанных в статье. Сохраните его в файл с расширением .ps1 (например, Win10-Baseline.ps1) и запускайте в среде PowerShell от имени администратора.
powershell
#Requires -RunAsAdministrator
<#
.SYNOPSIS
Скрипт базовой настройки Windows 10/11 для системных администраторов.
Отключает телеметрию, рекламу, ненужные службы, удаляет UWP-приложения,
настраивает интерфейс и выполняет очистку системы.
.DESCRIPTION
Этот скрипт выполняет операции, описанные в статье "Настройка Windows 10
через командную строку и PowerShell: скрытые возможности без сторонних программ".
Перед применением в продуктивном окружении протестируйте на одной машине.
Рекомендуется создать точку восстановления системы до запуска.
.NOTES
Автор: на основе статьи в техническом блоге
Версия: 1.0
#>
Write-Host "=============================================" -ForegroundColor Cyan
Write-Host " Базовая настройка Windows 10/11" -ForegroundColor Cyan
Write-Host "=============================================" -ForegroundColor Cyan
Write-Host ""
#region Шаг 1: Настройка конфиденциальности и отключение телеметрии
Write-Host "[1/5] Настройка конфиденциальности..." -ForegroundColor Green
# Отключение телеметрии на уровне безопасности (0 - только данные безопасности)
Write-Host " - Отключение телеметрии..." -ForegroundColor Gray
$telemetryPaths = @(
"HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection",
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\DataCollection",
"HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Policies\DataCollection"
)
foreach ($path in $telemetryPaths) {
if (-not (Test-Path $path)) {
New-Item -Path $path -Force | Out-Null
}
Set-ItemProperty -Path $path -Name "AllowTelemetry" -Type DWord -Value 0 -ErrorAction SilentlyContinue
}
# Отключение Cortana и веб-поиска в меню Пуск
Write-Host " - Отключение Cortana и веб-поиска..." -ForegroundColor Gray
$cortanaPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\Windows Search"
if (-not (Test-Path $cortanaPath)) {
New-Item -Path $cortanaPath -Force | Out-Null
}
Set-ItemProperty -Path $cortanaPath -Name "AllowCortana" -Type DWord -Value 0 -ErrorAction SilentlyContinue
Set-ItemProperty -Path $cortanaPath -Name "DisableWebSearch" -Type DWord -Value 1 -ErrorAction SilentlyContinue
Set-ItemProperty -Path $cortanaPath -Name "ConnectedSearchUseWeb" -Type DWord -Value 0 -ErrorAction SilentlyContinue
# Отключение рекламных идентификаторов
Write-Host " - Отключение рекламных идентификаторов..." -ForegroundColor Gray
$advertPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo"
if (-not (Test-Path $advertPath)) {
New-Item -Path $advertPath -Force | Out-Null
}
Set-ItemProperty -Path $advertPath -Name "Enabled" -Type DWord -Value 0 -ErrorAction SilentlyContinue
# Запрет доступа приложений к рекламному идентификатору
$privacyPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Privacy"
if (-not (Test-Path $privacyPath)) {
New-Item -Path $privacyPath -Force | Out-Null
}
Set-ItemProperty -Path $privacyPath -Name "TailoredExperiencesWithDiagnosticDataEnabled" -Type DWord -Value 0 -ErrorAction SilentlyContinue
# Отключение потребительских возможностей Windows
$cloudContentPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\CloudContent"
if (-not (Test-Path $cloudContentPath)) {
New-Item -Path $cloudContentPath -Force | Out-Null
}
Set-ItemProperty -Path $cloudContentPath -Name "DisableWindowsConsumerFeatures" -Type DWord -Value 1 -ErrorAction SilentlyContinue
Write-Host " Готово." -ForegroundColor Green
#endregion
#region Шаг 2: Удаление встроенных UWP-приложений
Write-Host "[2/5] Удаление UWP-приложений..." -ForegroundColor Green
# Список приложений для удаления (можно редактировать под свои требования)
$appsToRemove = @(
"*xbox*", # Xbox и сопутствующие
"*zune*", # Groove Music (Zune)
"*bing*", # Bing (погода, финансы, спорт)
"*skypeapp*", # Skype (UWP-версия)
"*officehub*", # Office Hub
"*onenote*", # OneNote
"*3d*", # 3D Builder, 3D Viewer
"*candy*", # Candy Crush
"*solitaire*", # Microsoft Solitaire Collection
"*mixedreality*", # Mixed Reality Portal
"*maps*", # Карты
"*yourphone*", # Your Phone
"*feedback*" # Feedback Hub
)
Write-Host " - Удаление приложений текущего пользователя..." -ForegroundColor Gray
foreach ($app in $appsToRemove) {
Get-AppxPackage -Name $app -ErrorAction SilentlyContinue | Remove-AppxPackage -ErrorAction SilentlyContinue
Write-Host " $app" -ForegroundColor DarkGray
}
Write-Host " - Удаление приложений из системного образа (provisioned)..." -ForegroundColor Gray
foreach ($app in $appsToRemove) {
Get-AppxProvisionedPackage -Online | Where-Object { $_.DisplayName -like $app } | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue
}
# Примечание: Microsoft Store, Calculator и Windows Terminal намеренно не удаляются.
Write-Host " Готово." -ForegroundColor Green
#endregion
#region Шаг 3: Настройка интерфейса и проводника
Write-Host "[3/5] Настройка интерфейса..." -ForegroundColor Green
# Отображение расширений файлов и скрытых папок
Write-Host " - Включение отображения расширений и скрытых файлов..." -ForegroundColor Gray
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "HideFileExt" -Type DWord -Value 0 -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "Hidden" -Type DWord -Value 1 -ErrorAction SilentlyContinue
# Запуск проводника в режиме "Этот компьютер"
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "LaunchTo" -Type DWord -Value 1 -ErrorAction SilentlyContinue
# Отключение быстрого доступа (удаление раздела, если существует)
Remove-Item -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\HomeFolderDesktop" -Force -ErrorAction SilentlyContinue
# Отключение залипания клавиш (Sticky Keys, Toggle Keys, Filter Keys)
Write-Host " - Отключение залипания клавиш..." -ForegroundColor Gray
Set-ItemProperty -Path "HKCU:\Control Panel\Accessibility\StickyKeys" -Name "Flags" -Type String -Value "506" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKCU:\Control Panel\Accessibility\ToggleKeys" -Name "Flags" -Type String -Value "58" -ErrorAction SilentlyContinue
Set-ItemProperty -Path "HKCU:\Control Panel\Accessibility\FilterKeys" -Name "Flags" -Type String -Value "122" -ErrorAction SilentlyContinue
# Установка визуальных эффектов на "Обеспечить наилучшее быстродействие"
Write-Host " - Настройка визуальных эффектов на производительность..." -ForegroundColor Gray
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects" -Name "VisualFXSetting" -Type DWord -Value 2 -ErrorAction SilentlyContinue
# Перезапуск проводника для применения части настроек
Write-Host " - Перезапуск проводника..." -ForegroundColor Gray
Stop-Process -Name explorer -Force -ErrorAction SilentlyContinue
Start-Sleep -Seconds 2
Start-Process explorer.exe
Write-Host " Готово." -ForegroundColor Green
#endregion
#region Шаг 4: Управление службами и автозагрузкой
Write-Host "[4/5] Отключение ненужных служб..." -ForegroundColor Green
# Список служб для отключения (добавляйте свои по необходимости)
$servicesToDisable = @(
"DiagTrack", # Диагностическое отслеживание
"dmwappushservice", # Служба push-уведомлений DMW
"XblAuthManager", # Xbox Live Auth Manager
"XblGameSave", # Xbox Live Game Save
"XboxNetApiSvc", # Xbox Live Networking
"XboxGipSvc", # Xbox Game Input Protocol
"Fax", # Факс
"wisvc", # Windows Insider Service
"WSearch", # Windows Search (если не нужен поиск)
"TrkWks", # Distributed Link Tracking Client
"lfsvc", # Служба геолокации
"MapsBroker", # Загрузка карт
"RemoteRegistry" # Удаленный реестр (редко нужен)
)
foreach ($svc in $servicesToDisable) {
Write-Host " - $svc..." -ForegroundColor Gray
Stop-Service $svc -Force -ErrorAction SilentlyContinue
Set-Service $svc -StartupType Disabled -ErrorAction SilentlyContinue
}
# Примечание: если поиск Windows нужен, закомментируйте 'WSearch'
Write-Host " Готово." -ForegroundColor Green
#endregion
#region Шаг 5: Очистка системы и восстановление хранилища компонентов
Write-Host "[5/5] Очистка системы..." -ForegroundColor Green
# Очистка временных папок
Write-Host " - Очистка временных файлов..." -ForegroundColor Gray
$tempPaths = @(
"$env:TEMP\*",
"C:\Windows\Temp\*",
"C:\Windows\Prefetch\*"
)
foreach ($tempPath in $tempPaths) {
Remove-Item -Path $tempPath -Recurse -Force -ErrorAction SilentlyContinue
}
# Запуск встроенной очистки диска (автоматический режим для системного диска)
Write-Host " - Запуск очистки диска..." -ForegroundColor Gray
Start-Process -FilePath "cleanmgr.exe" -ArgumentList "/sagerun:1" -Wait -NoNewWindow -ErrorAction SilentlyContinue
# Восстановление системных файлов и хранилища компонентов
Write-Host " - Проверка и восстановление системных файлов (SFC)..." -ForegroundColor Gray
sfc /scannow
Write-Host " - Восстановление образа системы (DISM)..." -ForegroundColor Gray
DISM /Online /Cleanup-Image /RestoreHealth
# Сжатие операционной системы (экономия места)
Write-Host " - Сжатие системных файлов (Compact OS)..." -ForegroundColor Gray
Compact.exe /CompactOS:always
Write-Host " Готово." -ForegroundColor Green
#endregion
Write-Host ""
Write-Host "=============================================" -ForegroundColor Cyan
Write-Host " Настройка завершена!" -ForegroundColor Cyan
Write-Host " Рекомендуется перезагрузить компьютер." -ForegroundColor Yellow
Write-Host "=============================================" -ForegroundColor Cyan
# Конец скрипта
Пояснения и меры предосторожности
- Скрипт безопасно применять на стандартной клиентской Windows 10/11. Он не удаляет критически важные компоненты (Microsoft Store, Калькулятор, Терминал) и не отключает службы, без которых система станет неработоспособной.
- Служба
WSearch(Windows Search) отключается; если поиск в меню «Пуск» и проводнике для вас критичен, закомментируйте или удалите эту строку из массива$servicesToDisable. - Перед запуском обязательно создайте точку восстановления системы (или полную резервную копию), как указано в статье.
- Скрипт запускает команды
sfcиDISM, которые могут потребовать подключение к интернету и занять длительное время. Если вы хотите пропустить восстановление образа, просто закомментируйте соответствующие строки. - Параметры провижининга приложений (
Remove-AppxProvisionedPackage) затрагивают только новых пользователей; уже существующие профили останутся без изменений, кроме удалённых из текущего пользователя приложений.
Скопируйте содержимое в текстовый редактор (например, VS Code), сохраните как Win10-Baseline.ps1 и запустите из PowerShell с повышенными правами:
powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
.\Win10-Baseline.ps1
Итог
Использование PowerShell и командной строки в качестве программы настройки windows 10 это гибкий, прозрачный и безопасный способ привести систему к корпоративным стандартам. Все изменения задокументированы в виде скриптов, легко воспроизводятся и откатываются. Такой подход не требует установки сторонних твикеров, удовлетворяет политикам безопасности и работает на всех актуальных версиях Windows 10 и 11. Администратор, освоивший приведённые команды, получает полный контроль над системой и может за минуту развернуть готовое рабочее окружение на десятках машин.







