👋 Привет, админы!

👋 Привет, админы! | 🔁 Новости из телеграм - Ghostbase News

👋 Привет, админы!

Недавно попался кейс на проде: скрипты, запускаемые через планировщик задач, начали зависать без ошибок. Вручную всё работало идеально. Начал копать — оказалось, дело в окружении задачи, которое отличается от интерактивной сессии.

Чтобы быстрее дебажить такие ситуации, я добавил в скрипт логирование переменных окружения и директории запуска. Вот минимальный шаблон, который теперь всегда кладу в начало таких задач:

$log = "C:\Logs\startup-debug-$(Get-Date -Format 'yyyyMMdd-HHmmss').log"

@"

Start Time: $(Get-Date)

User: $env:USERNAME

Computer: $env:COMPUTERNAME

WorkingDir: $(Get-Location)

ScriptPath: $PSCommandPath

ENV_VARS:

$(Get-ChildItem env: | Out-String)

"@ | Out-File -FilePath $log -Encoding UTF8

🔥 Благодаря этому сразу видно, под кем и откуда запускается задача. Часто проблема оказывается в банальной нехватке прав или в том, что планировщик стартует скрипт из C:\Windows\System32, а не откуда мы ожидали.

💬 А у вас были случаи, когда скрипт в Task Scheduler вел себя не так, как вручную? Как отлавливаете такие баги? Делитесь своим опытом!

👉 @win_sysadmin