Start-Transcript для полного лога сессии — 19 июня 2026 г. в 12:03:10.906
Start-Transcript для полного лога сессии При отладке сложных сценариев или аудите действий администратора бывает нужно сохранить полный вывод консоли — включая команды, ошибки и результаты. Встроенный командлет Start-Transcript делает это автоматически. Начать запись сессии в файл: Start-Transcript -Path "C:\Logs\mysession.log" Добавить временную метку к имени файла (чтобы не перезаписывать): $logname = "C:\Logs\session_$(Get-Date -Format 'yyyyMMdd_HHmmss').log" Start-Transcript -Path $logname Остановить запись: Stop-Transcript Пример для отладки скрипта: Start-Transcript -Path "C:\debug\log.txt" -Append # Ваш потенциально проблемный код Get-Service "Spooler" Stop-Transcript Что попадает в лог: 🟢Все введённые команды; 🟢Вывод команд (включая ошибки и предупреждения); 🟢Время начала и окончания команд; 🟢Сообщения Write-Host и Write-Output. Важные нюансы: 🟢Запись не перехватывает вывод из внешних консольных программ (типа ping.exe), но фиксирует сам вызов; 🟢Командлет не работает в изолированных сессиях (например, в Invoke-Command -Session); 🟢По умолчанию файл перезаписывается, используйте ключ -Append для дозаписи. Добавьте автоматический Start-Transcript в свой профиль PowerShell ($PROFILE), чтобы логировать каждую сессию. Это спасёт, если вы случайно закроете окно, а потом захотите вспомнить, какую команду выполняли пять минут назад. #кмд @pcTeapot

