diff --git a/README.md b/README.md index 65dd781..4acc746 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,29 @@ # scripts -Диагностические скрипты для клиентских машин \ No newline at end of file +Диагностические и сервисные PowerShell-скрипты для клиентских машин (Windows). + +## Скрипты в корне репозитория + +| Файл | Назначение | Клиент | +|------|------------|--------| +| `diag1.ps1` | Быстрая диагностика ПК при вылетах игр и подозрении на диск: система, память (признаки XMP/EXPO), видеокарта и параметры TDR, диски и счётчики надёжности, SMART через smartctl (при отсутствии ставит smartmontools через winget), события журнала за 30 дней, тест скорости чтения файлов CS2, `chkdsk E: /scan`. Только от администратора. Отчёт — `Desktop\diag1.txt`. | клиент не указан | +| `diag2.ps1` | Полное чтение библиотек Steam для поиска сбойных и медленных файлов (в первую очередь Counter-Strike, Tsushima, Rome, Serious Sam, иначе вся библиотека), затем SMART для сравнения с diag1. Запускать, если diag1 не дал однозначного ответа; 10–25 мин на ~150 ГБ. Отчёт — `Desktop\diag2.txt`. | клиент не указан | +| `diag3.ps1` | Сбор улик сразу после вылета игры: события за 12 часов (TDR, креши, WHEA, Kernel-Power, BSOD), LiveKernelReports, очередь WER, минидампы, логи AMD Adrenalin, состояние GPU и схема питания, проверка чтения vanity-файлов CS2. Только от администратора. Отчёт — `Desktop\diag3.txt`. | клиент не указан | +| `fix-nic-powersave.ps1` | Отключает энергосбережение всех физических сетевых адаптеров (PnP-отключение, EEE / Green Ethernet и аналогичные ключи драйвера), Wake-on-LAN не трогает. Лечит link-флапы с периодом ~5 с. Заменяет fix-realtek-eee.ps1. При применении линк кратко падает — запускать только на машине, за которой никто не играет. | TrueGamers (клуб) | +| `mmfb-winrm.ps1` | Настраивает служебный доступ для удалённой поддержки по WinRM: скрытый локальный администратор (пароль берётся из переменной окружения или генерируется), сетевой профиль Private, включение PSRemoting с HTTP-listener, правило брандмауэра на 5985 только для частных и служебной сетей, запрет сна от сети, самопроверка и сводка в буфер обмена. Идемпотентен, ничего не скачивает. | клиент не указан | +| `sergey-filter.ps1` | Контент-фильтр на Windows: системный DNS на AdGuard DNS с приватным профилем (ID профиля задаётся в `$AGID` перед запуском; на Win11 — DoH с обязательной политикой), отключение собственного DoH и принудительный SafeSearch в Chrome/Edge/Яндекс.Браузере/Firefox, блокировка доменов Telegram через hosts, удаление Telegram и запрет его запуска (DisallowRun, на Pro — SRP), инструкция по настройке телефона на рабочий стол. MAX не блокируется. Режимы: `$UNDO=1` — откат, `$RESTORE_MAX=1` — вернуть MAX. | клиент не указан | +| `sergey-fix1.ps1` | Дополнение к sergey-filter.ps1 (правка от 16.09): правило NRPT, направляющее все имена в AdGuard DNS независимо от VPN, сброс кэша DNS, диагностика политик и DoH Яндекс.Браузера, проверка резолва тестовых доменов. | клиент не указан | +| `sergey-ssh-diag.ps1` | Диагностика, почему не доходит SSH по служебной сети (kit H225): службы sshd/WinRM, прослушиваемые порты 22/5985, правила брандмауэра, статус NetBird, процессы, службы, адаптеры и WFP-фильтры Amnezia (kill switch), ping до Мака. Результат — скриншот окна Олегу. | клиент не указан | +| `webinar-check.ps1` | Проверка ПК перед вебинарами МТС Линк (ex-Webinar.ru): DNS и TCP-доступ к серверам, UDP наружу (STUN), исходящая политика брандмауэра Windows, прокси/VPN, антивирус, версии браузеров, камера/микрофон и доступ приложений к ним, ОЗУ. | клиент не указан | + +## Запуск и общие замечания + +- Способ запуска и требования указаны в комментарии в шапке каждого скрипта. Большинство скриптов нужно запускать в PowerShell от имени администратора. +- Типовой запуск прямо из репозитория одной строкой: + + ```powershell + [Net.ServicePointManager]::SecurityProtocol='Tls12'; irm https://git.dttb.ru/oleg/scripts/raw/branch/main/<имя-скрипта>.ps1 | iex + ``` + +- Скрипты diag1–diag3 пишут полный отчёт на рабочий стол; присылать нужно файл целиком. +- В колонке «Клиент» указан только клиент, названный в самом скрипте. Если в скрипте клиент не назван, стоит «клиент не указан».