Иконка настроек Помощник по настройке ПК

Набор команд и инструкций для настройки и обслуживания Windows через PowerShell

Требования к версии PowerShell

Большинство команд на этой странице совместимы со стандартным Windows PowerShell 5.1, который встроен в Windows 10 и 11. Чтобы проверить вашу версию, выполните команду $PSVersionTable.

Однако, для работы некоторых современных и производительных утилит, таких как "Сканер ЛВС с отчетом", требуется PowerShell 7.2 или новее. Рекомендуется установить последнюю версию для полной совместимости со всеми скриптами.

🚀 Как запустить PowerShell от имени Администратора

Большинство команд на этой странице требуют прав администратора. Выберите любой удобный способ:

Способ 1: Через меню «Пуск» (самый простой)

  1. Нажмите клавишу Win (с логотипом Windows) или откройте меню «Пуск».
  2. Начните печатать PowerShell.
  3. В результатах поиска нажмите правой кнопкой мыши на "Windows PowerShell" и выберите "Запуск от имени администратора".

Способ 2: Через меню опытного пользователя (самый быстрый)

  1. Нажмите сочетание клавиш Win + X.
  2. В появившемся меню выберите "Терминал Windows (Администратор)" или "Windows PowerShell (Администратор)".

Способ 3: Через окно "Выполнить"

  1. Нажмите Win + R, чтобы открыть окно "Выполнить".
  2. Введите powershell.
  3. Теперь, не нажимая "OK", зажмите клавиши Ctrl + Shift и нажмите Enter.

⚙️ Установка и обновление PowerShell

Эти команды используют Диспетчер пакетов Windows (winget) для установки последней версии PowerShell. Этот способ рекомендуется Microsoft.

Установить последнюю стабильную версию (winget)

Эта команда установит последнюю официальную версию PowerShell.

winget install --id Microsoft.PowerShell --source winget

Установить предварительную (preview) версию (winget)

Используйте эту команду, чтобы получить доступ к новейшим функциям, которые еще находятся в разработке.

winget install --id Microsoft.PowerShell.Preview --source winget

Установить через PowerShell (альтернативный способ)

Этот скрипт скачает и установит последнюю стабильную версию 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, запущенном от имени Администратора.

Шаг 1: Основное решение (для 99% случаев)

Этот универсальный скрипт решает большинство проблем с правами. Он меняет владельца и предоставляет доступ всем пользователям, работая на Windows с любым языком.

Если Шаг 1 не помог...

Если основной скрипт выдал ошибку, это значит, что у папки есть более глубокие проблемы. Используйте инструменты ниже, чтобы их исправить, а затем снова попробуйте выполнить Шаг 1.

Инструмент А: Снятие атрибута "Только для чтения"

Иногда папки имеют скрытый флаг "Только для чтения", который блокирует любые изменения. Эта команда принудительно его снимает.

Инструмент Б: Полный сброс прав и наследования

Данный способ применяется, если у папки "сломан" механизм наследования прав от родителя. Команда полностью сбрасывает все старые, "застрявшие" права.

Генератор правила для Брандмауэра

Создайте разрешающее правило в брандмауэре Windows, чтобы открыть порт для приложений или игр.

Готовая команда для PowerShell (запустить от Администратора):

Команда для проверки статуса порта:

Анализ размера папок

Эта утилита показывает размеры всех подпапок в указанной директории, сортируя их от самой большой к самой маленькой. Помогает быстро найти, что занимает место на диске.

Готовая команда для PowerShell (запустить от Администратора):

Поиск файлов и текста

Эта утилита поможет найти файлы по имени, расширению или тексту внутри них. Если поле "Текст для поиска" оставить пустым, будет выполнен поиск только по имени файла.

Готовая команда для PowerShell:

Сканер ЛВС с отчетом

Эта утилита создает и открывает HTML-отчет. В отчете: клик по IP-адресу откроет его в новой вкладке

Готовая команда для PowerShell:

🌐 Управление DNS

Просмотр текущих DNS-серверов

Показывает, какие DNS используются для каждого сетевого подключения.

Get-DnsClient | Select-Object InterfaceAlias, ServerAddresses

Сброс кэша DNS

Очищает локальный кэш DNS. Полезно, если сайты открываются неправильно после смены DNS.

Clear-DnsClientCache

Удаление всех DNS (возврат к автоматическим)

Сбрасывает настройки DNS для указанного адаптера на "Получать автоматически" (по DHCP).

Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ResetServerAddresses

Примечание: Замените "Ethernet" на имя вашего подключения (например, "Wi-Fi").

🎮 Xbox DNS (для работы ИИ-моделей)

Команда для PowerShell

Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("176.99.11.77", "80.78.247.254")

DNS-адреса для ручной настройки

176.99.11.77
80.78.247.254

🔍 Google DNS

Команда для PowerShell

Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("8.8.8.8", "8.8.4.4")

DNS-адреса для ручной настройки

8.8.8.8
8.8.4.4

🔒 Cloudflare DNS

Команда для PowerShell

Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses ("1.1.1.1", "1.0.0.1")

DNS-адреса для ручной настройки

1.1.1.1
1.0.0.1

🌐 Настройка безопасного DNS в браузере

Технология "Безопасный DNS" (DNS-over-HTTPS) шифрует ваши DNS-запросы, повышая приватность.

xbox-dns.ru/dns-query
dns.google/dns-query
cloudflare-dns.com/dns-query

Инструкция для Chrome / Яндекс.Браузера / Edge

  1. Откройте Настройки вашего браузера.
  2. Перейдите в раздел "Безопасность" или "Конфиденциальность и безопасность".
  3. Найдите пункт "Использовать безопасный DNS-сервер".
  4. Выберите опцию "С помощью..." или "Настраиваемый".
  5. В появившееся поле вставьте скопированную ссылку.

📡 Сетевые команды

Включить общий доступ к файлам

Разрешает общий доступ к файлам и принтерам в локальной сети

netsh advfirewall firewall set rule group="Общий доступ к файлам и принтерам" new enable=Yes

Сброс сетевого стека

Полный сброс сетевых настроек Windows

netsh winsock reset

Сброс TCP/IP стека

Сбрасывает настройки TCP/IP протокола

netsh int ip reset

Освободить IP-адрес

Освобождает текущий IP-адрес

ipconfig /release

Обновить IP-адрес

Запрашивает новый 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

Проверка диска C:

Проверяет диск на ошибки и исправляет их

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

Перезапуск службы Windows Update

Перезапускает службу обновлений Windows

Restart-Service -Name wuauserv

Остановка службы Windows Update

Останавливает службу обновлений

Stop-Service -Name wuauserv

Запуск службы Windows Update

Запускает службу обновлений 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

Перезапускает DHCP клиент

Restart-Service -Name Dhcp

Детальный отчет о службах в HTML

Создает интерактивный 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

Отключить уведомления Windows

Отключает всплывающие уведомления

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)}}

Топ процессов по CPU

Показывает процессы, загружающие процессор

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

Скрипт для сбора детальной информации

Собирает и выводит подробный отчет о системе, процессоре, памяти, дисках, сети и видеокарте.

# --- Системная информация ---
# ... (и так далее, полный скрипт будет скопирован)

🛡️ Безопасность и антивирус

Быстрое сканирование Defender

Запускает быстрое сканирование Windows Defender

Start-MpScan -ScanType QuickScan

Полное сканирование Defender

Запускает полное сканирование системы

Start-MpScan -ScanType FullScan

Обновить определения вирусов

Обновляет базы данных Windows Defender

Update-MpSignature

Статус Windows Defender

Показывает состояние защиты системы

Get-MpPreference | Select-Object RealTimeProtectionEnabled, DisableBehaviorMonitoring, DisableIOAVProtection

Проверка целостности системы

DISM проверка целостности образа Windows

DISM /Online /Cleanup-Image /CheckHealth

Восстановление целостности системы

DISM восстановление поврежденных файлов

DISM /Online /Cleanup-Image /RestoreHealth

Показать статус брандмауэра

Проверяет состояние Windows Firewall

Get-NetFirewallProfile | Select-Object Name, Enabled

Включить брандмауэр

Включает Windows Firewall для всех профилей

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True

💡 Полезные советы по безопасности

  1. Регулярно обновляйте систему: Используйте Windows Update для получения последних исправлений безопасности.
  2. Создавайте точки восстановления: Особенно перед установкой нового ПО или изменением системных настроек.
  3. Используйте сложные пароли: Комбинируйте буквы, цифры и специальные символы.
  4. Включите двухфакторную аутентификацию: Где это возможно, особенно для важных аккаунтов.
  5. Регулярно сканируйте систему: Запускайте полное сканирование антивируса минимум раз в неделю.
✅ Скопировано в буфер обмена!

PowerShell Эксперт