Помощник по настройке ПКНабор команд и инструкций для настройки и обслуживания Windows через PowerShell
Большинство команд на этой странице совместимы со стандартным Windows PowerShell 5.1, который встроен в Windows 10 и 11. Чтобы проверить вашу версию, выполните команду $PSVersionTable.
Однако, для работы некоторых современных и производительных утилит, таких как "Сканер ЛВС с отчетом", требуется PowerShell 7.2 или новее. Рекомендуется установить последнюю версию для полной совместимости со всеми скриптами.
Большинство команд на этой странице требуют прав администратора. Выберите любой удобный способ:
Win (с логотипом Windows) или откройте меню «Пуск».PowerShell.Win + X.Win + R, чтобы открыть окно "Выполнить".powershell.Ctrl + Shift и нажмите Enter.Эти команды используют Диспетчер пакетов Windows (winget) для установки последней версии PowerShell. Этот способ рекомендуется Microsoft.
Эта команда установит последнюю официальную версию PowerShell.
winget install --id Microsoft.PowerShell --source winget
Используйте эту команду, чтобы получить доступ к новейшим функциям, которые еще находятся в разработке.
winget install --id Microsoft.PowerShell.Preview --source winget
Этот скрипт скачает и установит последнюю стабильную версию PowerShell 7 с GitHub. Требует PowerShell 5.1 или выше.
# Команда для принудительного использования современного протокола шифрования (TLS 1.2)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# --- Основной скрипт установки ---
$ProgressPreference = 'SilentlyContinue'
try {
$apiUrl = 'https://api.github.com/repos/PowerShell/PowerShell/releases/latest'
$asset = (Invoke-RestMethod -Uri $apiUrl).assets | `
Where-Object { $_.name -like 'PowerShell-*-win-x64.msi' } | Select-Object -First 1
if (-not $asset) { throw 'Не удалось найти MSI-файл для x64 в последнем релизе.' }
$downloadUrl = $asset.browser_download_url
$msiPath = Join-Path $env:TEMP $asset.name
Write-Host "Скачиваю $($asset.name)..."
Invoke-WebRequest -Uri $downloadUrl -OutFile $msiPath
Write-Host "Запускаю тихую установку..."
Start-Process msiexec.exe -ArgumentList "/i `"$msiPath`" /quiet" -Wait
Remove-Item $msiPath -ErrorAction SilentlyContinue
Write-Host "Готово! Чтобы проверить, откройте новый терминал и выполните: pwsh --version" -ForegroundColor Green
}
catch {
Write-Host "Произошла ошибка: $($_.Exception.Message)" -ForegroundColor Red
}
Если после переустановки Windows у вас нет доступа к файлам ("Отказано в доступе"), следуйте этому руководству. Все команды нужно выполнять в PowerShell, запущенном от имени Администратора.
Этот универсальный скрипт решает большинство проблем с правами. Он меняет владельца и предоставляет доступ всем пользователям, работая на Windows с любым языком.
Если основной скрипт выдал ошибку, это значит, что у папки есть более глубокие проблемы. Используйте инструменты ниже, чтобы их исправить, а затем снова попробуйте выполнить Шаг 1.
Иногда папки имеют скрытый флаг "Только для чтения", который блокирует любые изменения. Эта команда принудительно его снимает.
Данный способ применяется, если у папки "сломан" механизм наследования прав от родителя. Команда полностью сбрасывает все старые, "застрявшие" права.
Создайте разрешающее правило в брандмауэре Windows, чтобы открыть порт для приложений или игр.
Эта утилита показывает размеры всех подпапок в указанной директории, сортируя их от самой большой к самой маленькой. Помогает быстро найти, что занимает место на диске.
Эта утилита поможет найти файлы по имени, расширению или тексту внутри них. Если поле "Текст для поиска" оставить пустым, будет выполнен поиск только по имени файла.
Эта утилита создает и открывает HTML-отчет. В отчете: клик по IP-адресу откроет его в новой вкладке
Эта утилита генерирует комплексный скрипт для оптимизации Windows. Он автоматически определяет объем ОЗУ, тип диска (SSD/HDD) и настраивает оптимальный размер файла подкачки на указанном вами диске. Также применяются дополнительные твики для повышения производительности.
Важно: Скрипт вносит серьезные изменения в систему. Запускайте его от имени Администратора. После выполнения потребуется перезагрузка.
Показывает, какие DNS используются для каждого сетевого подключения.
Get-DnsClient | Select-Object InterfaceAlias, ServerAddresses
Очищает локальный кэш DNS. Полезно, если сайты открываются неправильно после смены DNS.
Clear-DnsClientCache
Сбрасывает настройки DNS для указанного адаптера на "Получать автоматически" (по DHCP).
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddresses
Примечание: Замените "Ethernet" на имя вашего подключения (например, "Wi-Fi").
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("176.99.11.77", "80.78.247.254")
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8", "8.8.4.4")
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("77.88.8.1", "77.88.8.8")
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("1.1.1.1", "1.0.0.1")
Технология "Безопасный DNS" (DNS-over-HTTPS) шифрует ваши DNS-запросы, повышая приватность.
Разрешает общий доступ к файлам и принтерам в локальной сети
netsh advfirewall firewall set rule group="Общий доступ к файлам и принтерам" new enable=YesПолный сброс сетевых настроек Windows
netsh winsock resetСбрасывает настройки TCP/IP протокола
netsh int ip resetОсвобождает текущий IP-адрес
ipconfig /releaseЗапрашивает новый IP-адрес у DHCP сервера
ipconfig /renewОтображает все сетевые подключения и их статус
Get-NetAdapterПроверяет подключение к серверу с указанным портом
Test-NetConnection google.com -Port 80Отображает таблицу маршрутизации сети
route printУдаляет временные файлы пользователя
Get-ChildItem -Path $env:TEMP -Recurse | Remove-Item -Force -Recurse -ErrorAction SilentlyContinueСканирует и восстанавливает поврежденные системные файлы
sfc /scannowПроверяет диск на ошибки и исправляет их
chkdsk C: /fОптимизирует размещение файлов на диске
Optimize-Volume -DriveLetter C -DefragПолностью очищает корзину для всех дисков
Clear-RecycleBin -ForceПоказывает информацию о всех дисках
Get-DiskПерезагружает компьютер через 60 секунд
shutdown /r /t 60Принудительно обновляет системное время. Требуется запуск PowerShell от имени Администратора.
Скрипт выполняет полный сброс службы времени Windows, если служба отключена или повреждена.
# Данный скрипт:
# 1. Включает службу (ставит тип запуска 'Авто')
# 2. Запускает ее
# 3. Настраивает надежный сервер времени
# 4. Ждет 5 секунд
# 5. Принудительно синхронизирует время
# 6. Показывает отчет о том, с каким сервером прошла синхронизация
# 7. Выводит финальное системное время
Set-Service -Name W32Time -StartupType Automatic
Start-Service -Name W32Time -ErrorAction SilentlyContinue
w32tm /config /manualpeerlist:'pool.ntp.org,0x8' /syncfromflags:manual /update
Write-Host 'Пауза 5 секунд, чтобы служба применила настройки...'
Start-Sleep -Seconds 5
w32tm /resync /force
# --- Вывод отчета о результате ---
Write-Host '--- Проверка статуса синхронизации ---' -ForegroundColor Green
w32tm /query /status
Write-Host '--- Текущее системное время ---' -ForegroundColor Green
Get-Date
Перезапускает службу обновлений Windows
Restart-Service -Name wuauservОстанавливает службу обновлений
Stop-Service -Name wuauservЗапускает службу обновлений Windows
Start-Service -Name wuauservПерезапускает диспетчер печати
Restart-Service -Name Spooler -ForceПерезапускает службу Windows Audio
Restart-Service -Name AudioSrvПоказывает все службы и их статус
Get-Service | Sort-Object Status,NameПоказывает службы, запускающиеся автоматически
Get-Service | Where-Object {$_.StartType -eq "Automatic"}Перезапускает DHCP клиент
Restart-Service -Name Dhcp
Создает интерактивный HTML-отчет. В колонке "Путь запуска" отображается полный путь к файлу с аргументами командной строки.
Внимание: для служб в `svchost.exe` отображается общее потребление ресурсов всего процесса.
Работа с реестром требует особой осторожности! Неправильные изменения могут привести к нестабильности системы. Обязательно создайте точку восстановления перед внесением изменений.
Создает точку восстановления системы
Checkpoint-Computer -Description "Manual Restore Point"Минимизирует сбор данных Windows
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name "AllowTelemetry" -Value 0Включает отображение скрытых файлов в проводнике
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "Hidden" -Value 1Отображает расширения для всех типов файлов
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" -Name "HideFileExt" -Value 0Показывает программы в автозапуске
Get-CimInstance -ClassName Win32_StartupCommand | Select-Object Name, Command, LocationЗапускает regedit для ручного редактирования
regeditОтключает всплывающие уведомления
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\PushNotifications" -Name "ToastEnabled" -Value 0Убирает задержку при открытии меню
Set-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name "MenuShowDelay" -Value 0Показывает подробную информацию о CPU
Get-CimInstance -ClassName Win32_Processor | Select-Object Name, NumberOfCores, MaxClockSpeedПоказывает использование оперативной памяти
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object @{Name="Total RAM (GB)";Expression={[math]::Round($_.TotalVisibleMemorySize/1MB,2)}}, @{Name="Free RAM (GB)";Expression={[math]::Round($_.FreePhysicalMemory/1MB,2)}}Планирует проверку RAM при следующей перезагрузке
mdschedПоказывает свободное место на всех дисках
Get-Volume | Where-Object {$_.DriveType -eq "Fixed"} | Select-Object DriveLetter, @{Name="Size (GB)";Expression={[math]::Round($_.Size/1GB,2)}}, @{Name="Free (GB)";Expression={[math]::Round($_.SizeRemaining/1GB,2)}}Показывает процессы, загружающие процессор
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10 ProcessName, CPU, WorkingSetПоказывает процессы, потребляющие больше всего RAM
Get-Process | Sort-Object WorkingSet -Descending | Select-Object -First 10 ProcessName, @{Name='RAM (MB)';Expression={[math]::Round($_.WorkingSet/1MB,2)}}Показывает температуру жестких дисков (если поддерживается)
Get-CimInstance -Namespace root/wmi -ClassName MSStorageDriver_ATAPISmartData | ForEach-Object { $_.VendorSpecific }Показывает, как долго работает компьютер без перезагрузки
Get-CimInstance -ClassName Win32_OperatingSystem | Select-Object @{Name="Uptime";Expression={(Get-Date) - $_.LastBootUpTime}}Собирает всю основную информацию в одной команде (ОС, ЦП, ОЗУ, BIOS и др.)
Get-ComputerInfoСобирает и выводит подробный отчет о системе, процессоре, памяти, дисках, сети и видеокарте.
# --- Системная информация ---
# ... (и так далее, полный скрипт будет скопирован)
Запускает быстрое сканирование Windows Defender
Start-MpScan -ScanType QuickScanЗапускает полное сканирование системы
Start-MpScan -ScanType FullScanОбновляет базы данных Windows Defender
Update-MpSignatureПоказывает состояние защиты системы
Get-MpPreference | Select-Object RealTimeProtectionEnabled, DisableBehaviorMonitoring, DisableIOAVProtectionDISM проверка целостности образа Windows
DISM /Online /Cleanup-Image /CheckHealthDISM восстановление поврежденных файлов
DISM /Online /Cleanup-Image /RestoreHealthПроверяет состояние Windows Firewall
Get-NetFirewallProfile | Select-Object Name, EnabledВключает Windows Firewall для всех профилей
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True