🏛️ Пятничный лонгрид: Искусство «ленивого» админа или почему твоя документация — это код
Все мы знаем классику: админ, который работает 24/7, постоянно в мыле и с красными глазами, считается «героем». Но в 2026 году настоящий герой — это тот, кто в пятницу вечером спокойно пьёт кофе, потому что его инфраструктура умеет «лечить» сама себя. ☕🧘♂️
Давай разберем три столпа, на которых держится спокойный сон сисадмина.
1. Документация в стиле README.md
Забудь про Word-файлы в папке «Общее». Если инструкции нет в Git-репозитории рядом с кодом или скриптами — её не существует.
Правило: Любое изменение в системе = коммит в репозиторий с описанием.
Инструмент: Изучи Obsidian или Logseq для личной базы знаний (Zettelkasten). Это позволяет связывать ошибки (например, «Падение БД») с их решениями графами связей.
2. Bash/PowerShell как «внешняя память»
Если ты ввел команду в консоли дважды — запиши её в скрипт. Если трижды — параметризируй её (сделай переменные).
Bash: Используй history | grep "что-то_сложное", чтобы вспомнить тот самый длинный конвейер из awk и sed, который ты мучил в прошлый вторник.
PowerShell: Создай свой модуль MyCompany.Utils.psm1 и храни там функции для сброса паролей, очистки квот и выгрузки отчетов.
3. Сетевая топология — карта твоего мира
Самый быстрый способ найти проблему в сети — взглянуть на актуальную схему. Но рисовать её в Visio руками — это ад. В 2026-м мы используем Diagrams as Code.
Попробуй Mermaid.js: Ты просто пишешь текст, а Git-лаборатория или Obsidian рисуют схему:
🚀 Пятничный совет «на миллион»:
Прежде чем уйти домой, проверь три вещи:
* Бэкапы: Зайди и посмотри глазами, что сегодняшний бэкап весит не 0 байт.
* Snapshot-ы: Удали старые снапшоты виртуалок. В понедельник они превратятся в «тормоза» дисковой подсистемы.
* Уведомления: Убедись, что телефон не в режиме «Не беспокоить» для критических алертов от Zabbix/Grafana.
Хороших выходных, коллеги! И пусть ваш uptime стремится к бесконечности. 📈☕
#friday #longread #sysadmin #lifehack #documentation #automation #admin_future #it_culture
Все мы знаем классику: админ, который работает 24/7, постоянно в мыле и с красными глазами, считается «героем». Но в 2026 году настоящий герой — это тот, кто в пятницу вечером спокойно пьёт кофе, потому что его инфраструктура умеет «лечить» сама себя. ☕🧘♂️
Давай разберем три столпа, на которых держится спокойный сон сисадмина.
1. Документация в стиле README.md
Забудь про Word-файлы в папке «Общее». Если инструкции нет в Git-репозитории рядом с кодом или скриптами — её не существует.
Правило: Любое изменение в системе = коммит в репозиторий с описанием.
Инструмент: Изучи Obsidian или Logseq для личной базы знаний (Zettelkasten). Это позволяет связывать ошибки (например, «Падение БД») с их решениями графами связей.
2. Bash/PowerShell как «внешняя память»
Если ты ввел команду в консоли дважды — запиши её в скрипт. Если трижды — параметризируй её (сделай переменные).
Bash: Используй history | grep "что-то_сложное", чтобы вспомнить тот самый длинный конвейер из awk и sed, который ты мучил в прошлый вторник.
PowerShell: Создай свой модуль MyCompany.Utils.psm1 и храни там функции для сброса паролей, очистки квот и выгрузки отчетов.
3. Сетевая топология — карта твоего мира
Самый быстрый способ найти проблему в сети — взглянуть на актуальную схему. Но рисовать её в Visio руками — это ад. В 2026-м мы используем Diagrams as Code.
Попробуй Mermaid.js: Ты просто пишешь текст, а Git-лаборатория или Obsidian рисуют схему:
graph TD
User-->Internet
Internet-->Firewall[pfsense]
Firewall-->Switch(L3 Switch)
Switch-->Server1[Proxmox Node 1]
Switch-->Server2[Proxmox Node 2]
Server1-->VM1[Nginx Proxy]
🚀 Пятничный совет «на миллион»:
Прежде чем уйти домой, проверь три вещи:
* Бэкапы: Зайди и посмотри глазами, что сегодняшний бэкап весит не 0 байт.
* Snapshot-ы: Удали старые снапшоты виртуалок. В понедельник они превратятся в «тормоза» дисковой подсистемы.
* Уведомления: Убедись, что телефон не в режиме «Не беспокоить» для критических алертов от Zabbix/Grafana.
Помни: Лучший сисадмин — это тот, чьего имени в компании не знают, потому что «всё просто работает».#friday #longread #sysadmin #lifehack #documentation #automation #admin_future #it_culture
🧠 Skill: "Terraform Drift Detection" — навык №1 в 2026 году ☁️
В эпоху IaC (Infrastructure as Code) самая большая проблема — это Drift (отклонение).
Это когда кто-то зашел в консоль AWS/Azure/Yandex руками и поменял тип инстанса или открыл порт, а в коде Terraform осталось старое значение.
Почему это опасно: При следующем запуске terraform apply твои ручные правки либо затрутся, либо всё упадет с ошибкой.
Что учить:
1. Terraform Plan Automation: Настрой запуск terraform plan в CI/CD раз в час.
2. Инструменты: Посмотри в сторону Driftctl или встроенного режима --refresh-only.
3. Команда для проверки "разрыва" между кодом и реальностью: terraform plan -refresh-only
Умение находить и устранять такие расхождения без даунтайма — это то, за что сегодня платят Senior DevOps инженерам. 🚀
#devops #terraform #iac #cloud #skills #automation #gitops
В эпоху IaC (Infrastructure as Code) самая большая проблема — это Drift (отклонение).
Это когда кто-то зашел в консоль AWS/Azure/Yandex руками и поменял тип инстанса или открыл порт, а в коде Terraform осталось старое значение.
Почему это опасно: При следующем запуске terraform apply твои ручные правки либо затрутся, либо всё упадет с ошибкой.
Что учить:
1. Terraform Plan Automation: Настрой запуск terraform plan в CI/CD раз в час.
2. Инструменты: Посмотри в сторону Driftctl или встроенного режима --refresh-only.
3. Команда для проверки "разрыва" между кодом и реальностью: terraform plan -refresh-only
Умение находить и устранять такие расхождения без даунтайма — это то, за что сегодня платят Senior DevOps инженерам. 🚀
#devops #terraform #iac #cloud #skills #automation #gitops
⚡ PowerShell: Работаем с API как профи через RestMethod 🌐
В 2026 году админ постоянно взаимодействует с API: Jira, GitLab, мониторинг или облака. Многие до сих пор мучаются с curl в Windows, хотя в PowerShell есть нативный и гораздо более мощный инструмент.
Команда дня:
Почему это круто:
1. Splatting: Передача параметров через хэш-таблицу (@params) делает код чистым и читаемым.
2. Auto-Object: В отличие от Invoke-WebRequest, этот командлет сразу конвертирует JSON в объект. Тебе не нужно парсить текст!
3. Native Auth: Поддерживает современные протоколы авторизации из коробки.
#windows #powershell #api #automation #sysadmin #rest #devops 🚀
В 2026 году админ постоянно взаимодействует с API: Jira, GitLab, мониторинг или облака. Многие до сих пор мучаются с curl в Windows, хотя в PowerShell есть нативный и гораздо более мощный инструмент.
Команда дня:
$params = @{
Uri = "https://api.your-service.com/v1/task"
Method = "Post"
Headers = @{ "Authorization" = "Bearer $Token" }
ContentType = "application/json"
Body = @{ title = "Fix Server"; priority = 1 } | ConvertTo-Json
}
$response = Invoke-RestMethod @params
$response.id # Работаем с результатом сразу как с объектом!
Почему это круто:
1. Splatting: Передача параметров через хэш-таблицу (@params) делает код чистым и читаемым.
2. Auto-Object: В отличие от Invoke-WebRequest, этот командлет сразу конвертирует JSON в объект. Тебе не нужно парсить текст!
3. Native Auth: Поддерживает современные протоколы авторизации из коробки.
#windows #powershell #api #automation #sysadmin #rest #devops 🚀
🔥1
🪟 Windows: Операторы && и || в PowerShell 7 — наконец-то как в Bash! ⛓️
Если ты перешел на PowerShell 7+ (а в 2026-м это стандарт), перестань писать громоздкие конструкции if ($?) { ... }. Теперь у нас есть Pipeline Chain Operators, которые работают так же, как в Linux.
Было (старый стиль):
Стало (Admin Future стиль):
Почему это важно: Скрипты становятся читаемыми в одну строку. Это идеально для быстрых фиксов и админских задач "на лету". ⚡
#windows #powershell #scripting #devops #automation #sysadmin #pwsh
Если ты перешел на PowerShell 7+ (а в 2026-м это стандарт), перестань писать громоздкие конструкции if ($?) { ... }. Теперь у нас есть Pipeline Chain Operators, которые работают так же, как в Linux.
Было (старый стиль):
Stop-Service "Spooler"
if ($?) { Start-Service "Spooler" }
Стало (Admin Future стиль):
# Выполнится ТОЛЬКО если первая команда успешна
Stop-Service "Spooler" && Start-Service "Spooler"
# Выполнится, если первая команда УПАЛА (обработка ошибок)
Connect-MgGraph || Write-Warning "Не удалось подключиться к облаку!"
Почему это важно: Скрипты становятся читаемыми в одну строку. Это идеально для быстрых фиксов и админских задач "на лету". ⚡
#windows #powershell #scripting #devops #automation #sysadmin #pwsh
👍1🔥1👏1
📦 Бэкапы: «Бэкап Шредингера» и как проверить Veeam через PowerShell 🐈
Главное правило пятницы 13-го: если ты не тестировал восстановление из бэкапа, значит, у тебя нет бэкапа.
Но проверять всё руками — никаких выходных не хватит.
Если ты используешь Veeam Backup & Replication, ты можешь быстро вытащить статус всех последних сессий прямо из консоли, чтобы убедиться, что этой ночью всё прошло без ошибок.
Скрипт быстрого аудита:
Запусти это в PowerShell на сервере Veeam, чтобы получить красные флаги, если они есть:
Что это дает: Ты за одну секунду видишь таблицу всех джобов за последние 24 часа.
Если в колонке Result везде Success — смело закрывай ноут и иди пить кофе. ☕
#veeam #backup #disaster_recovery #powershell #automation #sysadmin #admin_future
Главное правило пятницы 13-го: если ты не тестировал восстановление из бэкапа, значит, у тебя нет бэкапа.
Но проверять всё руками — никаких выходных не хватит.
Если ты используешь Veeam Backup & Replication, ты можешь быстро вытащить статус всех последних сессий прямо из консоли, чтобы убедиться, что этой ночью всё прошло без ошибок.
Скрипт быстрого аудита:
Запусти это в PowerShell на сервере Veeam, чтобы получить красные флаги, если они есть:
Add-PSSnapin VeeamPSSnapIn -ErrorAction SilentlyContinue
Get-VBRBackupSession | Where-Object { $_.CreationTime -ge (Get-Date).AddDays(-1) } |
Select-Object JobName, Result, CreationTime, EndTime |
Sort-Object Result |
Format-Table -AutoSize
Что это дает: Ты за одну секунду видишь таблицу всех джобов за последние 24 часа.
Если в колонке Result везде Success — смело закрывай ноут и иди пить кофе. ☕
#veeam #backup #disaster_recovery #powershell #automation #sysadmin #admin_future
🔥3👍1👏1
🪟 Windows: Ищем «тяжелые» файлы через PowerShell за секунду 📂
Когда на файловом сервере внезапно кончается место, стандартный поиск Windows Explorer — это боль. Пока он проиндексирует миллион файлов, пройдет вечность.
Скрипт для поиска ТОП-10 самых больших файлов:
Ты можешь запустить это удаленно через Invoke-Command сразу на 10 серверах и узнать, где завалялся забытый ISO-образ или гигантский лог Exchange.
#windows #powershell #sysadmin #diskspace #automation #server #maintenance
Когда на файловом сервере внезапно кончается место, стандартный поиск Windows Explorer — это боль. Пока он проиндексирует миллион файлов, пройдет вечность.
PowerShell делает это быстрее и сразу выдает результат в удобном виде.
Скрипт для поиска ТОП-10 самых больших файлов:
Get-ChildItem -Path "C:\Data" -Recurse -File -ErrorAction SilentlyContinue |
Sort-Object Length -Descending |
Select-Object Name, @{Name="Size(GB)";Expression={$_.Length / 1GB}}, Directory |
Select-Object -First 10 |
Format-Table -AutoSize
Ты можешь запустить это удаленно через Invoke-Command сразу на 10 серверах и узнать, где завалялся забытый ISO-образ или гигантский лог Exchange.
#windows #powershell #sysadmin #diskspace #automation #server #maintenance
Иллюзия вечного стресса, или как вести 5 проектов 🧘♂️
В IT-тусовке есть стереотип: если у тебя больше одной работы, то ты спишь по три часа в обнимку с сервером, питаешься энергетиками и дергаешься от каждого пуша в телефоне.
Давайте разрушим этот миф. Пять работ — это вообще не про стресс. Это про грамотную архитектуру и автоматизацию. Если твоя инфраструктура заставляет тебя потеть и седеть — значит, ты просто плохо её настроил.
Как выглядит работа здорового человека:
В идеале, твой рабочий день — это выйти на балкон, спокойно выкурить Chapman Compact, посмотреть на зеленые дашборды в Grafana и пойти заниматься своими делами.Сисадмин работает не когда он стучит по клавиатуре, а когда система работает без него.
#жиза #sysadmin #worklifebalance #automation #admin_future
В IT-тусовке есть стереотип: если у тебя больше одной работы, то ты спишь по три часа в обнимку с сервером, питаешься энергетиками и дергаешься от каждого пуша в телефоне.
Давайте разрушим этот миф. Пять работ — это вообще не про стресс. Это про грамотную архитектуру и автоматизацию. Если твоя инфраструктура заставляет тебя потеть и седеть — значит, ты просто плохо её настроил.
Как выглядит работа здорового человека:
1. Ты потратил месяц, чтобы выстроить всё через IaC (Ansible/Terraform).
2. Ты настроил алерты так, чтобы они срабатывали до того, как всё рухнет.
3. Ты научил пользователей заводить тикеты, а не писать в личку «тут всё сломалось».
В идеале, твой рабочий день — это выйти на балкон, спокойно выкурить Chapman Compact, посмотреть на зеленые дашборды в Grafana и пойти заниматься своими делами.
#жиза #sysadmin #worklifebalance #automation #admin_future
🚀 DevOps: Очистка старых Docker-образов по расписанию 🧹
Если твой сервер внезапно перестал отвечать, проверь место на диске. Часто причиной становятся гигабайты «висячих» (dangling) слоев и старых образов Docker, которые копятся после каждого деплоя. В 2026-м ручная чистка — это моветон.
Техническое решение:
Команда для тотальной, но безопасной чистки:
Фильтр until=168h удалит только те образы, которые старше недели, оставив свежие билды для быстрого отката (rollback).
#docker #devops #optimization #linux #cleanup #sysadmin #automation #admin_future
Если твой сервер внезапно перестал отвечать, проверь место на диске. Часто причиной становятся гигабайты «висячих» (dangling) слоев и старых образов Docker, которые копятся после каждого деплоя. В 2026-м ручная чистка — это моветон.
Техническое решение:
Используем встроенную систему очистки Docker с фильтрами, чтобы не снести лишнее.
Команда для тотальной, но безопасной чистки:
# Удалить все неиспользуемые контейнеры, сети и образы (dangling)
docker system prune -f
# Удалить вообще все образы, которые не используются ни одним запущенным контейнером
docker image prune -a --force --filter "until=168h"
Фильтр until=168h удалит только те образы, которые старше недели, оставив свежие билды для быстрого отката (rollback).
#docker #devops #optimization #linux #cleanup #sysadmin #automation #admin_future
🪟 Windows Server: Гроза «зависших» сессий — PowerShell-скрипт для очистки RDP 🧹
Знакомая ситуация: ты пытаешься зайти на сервер по RDP, а он тебе: «Превышено максимальное число подключений». Кто-то из коллег просто закрыл крестиком окно вместо Log off, и сессия висит «призраком», занимая слот.
Не нужно гадать, кто это. Выбиваем бездельников одной командой.
Сниппет для поиска и завершения зависших сессий:
Админский совет: Настрой этот скрипт в планировщике задач на контроллерах домена и терминальных серверах. Пусть система сама чистит за теми, кто забывает разлогиниться.
#windows #powershell #rdp #sysadmin #automation #server #admin_future
Знакомая ситуация: ты пытаешься зайти на сервер по RDP, а он тебе: «Превышено максимальное число подключений». Кто-то из коллег просто закрыл крестиком окно вместо Log off, и сессия висит «призраком», занимая слот.
Не нужно гадать, кто это. Выбиваем бездельников одной командой.
Сниппет для поиска и завершения зависших сессий:
# Показать все сессии, которые висят в статусе "Disconnected" более 2 часов
$sessions = qwinsta /server:localhost | Append-Output | Select-String "Disc"
foreach ($sess in $sessions) {
$sessId = ($sess -split '\s+')[2]
rwinsta $sessId /server:localhost
Write-Host "Сессия $sessId принудительно завершена." -ForegroundColor Yellow
}
Админский совет: Настрой этот скрипт в планировщике задач на контроллерах домена и терминальных серверах. Пусть система сама чистит за теми, кто забывает разлогиниться.
#windows #powershell #rdp #sysadmin #automation #server #admin_future
🪟 Windows: Понедельник — день «Locked Out». Спасаем пользователей массово 🔓
Утро понедельника у хелпдеска всегда одинаковое: "Я вводил пароль правильно, но оно не пускает!". После выходных пальцы пользователей забывают моторику, Caps Lock нажимается случайно, и половина офиса сидит с заблокированными учетками.
Не надо кликать мышкой в ADUC каждого страдальца. PowerShell спасет твой утренний кофе.
#windows #powershell #activedirectory #monday #automation #sysadmin #admin_future
Утро понедельника у хелпдеска всегда одинаковое: "Я вводил пароль правильно, но оно не пускает!". После выходных пальцы пользователей забывают моторику, Caps Lock нажимается случайно, и половина офиса сидит с заблокированными учетками.
Не надо кликать мышкой в ADUC каждого страдальца. PowerShell спасет твой утренний кофе.
# Найти всех, кто заблокировался, и показать время блокировки
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName, LockedOutTime | Format-Table -AutoSize
# Если ты чувствуешь себя великодушным — разблокировать ВСЕХ одной командой
Search-ADAccount -LockedOut | Unlock-ADAccount
Только убедись перед массовой разблокировкой, что это реальные пользователи, а не брутфорс-атака на RDP!
#windows #powershell #activedirectory #monday #automation #sysadmin #admin_future
🪟 Windows: Ищем «протухающие» сертификаты через PowerShell
Забытый SSL-сертификат на внутреннем веб-сервере или в хранилище `LocalMachine` — это классический повод для экстренного вызова админа из отпуска. Чтобы этого не случилось, давай автоматизируем проверку.
Сниппет для поиска проблем:
#windows #powershell #security #pki #certificates #automation #admin_future
Забытый SSL-сертификат на внутреннем веб-сервере или в хранилище `LocalMachine` — это классический повод для экстренного вызова админа из отпуска. Чтобы этого не случилось, давай автоматизируем проверку.
Технический разбор:
В Windows есть встроенный провайдер `Cert:`, который позволяет работать с сертификатами как с обычными файлами.
Сниппет для поиска проблем:
# Найти все сертификаты в личном хранилище компьютера,
# срок действия которых истекает в ближайшие 30 дней
Get-ChildItem -Path Cert:\LocalMachine\My |
Where-Object { $_.NotAfter -lt (Get-Date).AddDays(30) -and $_.NotAfter -gt (Get-Date) } |
Select-Object Subject, NotAfter, Thumbprint |
Format-Table -AutoSize
Зачем это нужно: Закинь этот скрипт в ежедневный Task Scheduler с отправкой письма на почту, и ты никогда не пропустишь момент, когда пора обновлять сертификат на твоем AD FS или IIS.
#windows #powershell #security #pki #certificates #automation #admin_future
🪟 Windows: WinGet Configuration — настраиваем рабочее место через YAML 📝
В 2026 году ручная установка софта в Windows — это моветон. Microsoft активно развивает WinGet Configuration (на базе Desired State Configuration — DSC). Теперь ты можешь описать всё состояние системы в одном YAML-файле и применить его на новом сервере или ноутбуке сотрудника.
Пример конфигурационного файла (config.yaml):
Команда для применения:
Зачем это нужно: Это «Terraform для локальной Windows».
Один файл — и через 5 минут у тебя настроенная машина со всеми админскими утилитами.
#windows #automation #winget #dsc #devops #sysadmin #admin_future
В 2026 году ручная установка софта в Windows — это моветон. Microsoft активно развивает WinGet Configuration (на базе Desired State Configuration — DSC). Теперь ты можешь описать всё состояние системы в одном YAML-файле и применить его на новом сервере или ноутбуке сотрудника.
Техническая суть:
Ты описываешь не только список программ, но и настройки системы, реестра и функций Windows.
Пример конфигурационного файла (config.yaml):
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
properties:
resources:
- resource: Microsoft.WinGet.DSC/WinGetPackage
directives:
description: Install VS Code
settings:
id: Microsoft.VisualStudioCode
source: winget
- resource: Microsoft.Windows.Developer/DeveloperMode
settings:
Enabled: true
configurationVersion: 0.2
Команда для применения:
# Проверить файл и применить настройки
winget configure config.yaml
Зачем это нужно: Это «Terraform для локальной Windows».
Один файл — и через 5 минут у тебя настроенная машина со всеми админскими утилитами.
#windows #automation #winget #dsc #devops #sysadmin #admin_future
🔥3
🪟 Windows: Разгоняем PowerShell через параллельную обработку 🏎️
Утро пятницы — время для регулярных отчетов. Если тебе нужно опросить 100+ серверов через `Get-Service` или проверить наличие файла на 500 рабочих станциях, обычный цикл `foreach` будет работать вечно. В PowerShell 7+ есть киллер-фича: Parallel Processing.
Пример быстрого чека сервиса на списке хостов:
Результат: Задача, которая раньше занимала 10 минут, теперь выполняется за 30 секунд. Твой утренний кофе даже не успеет остыть.
#windows #powershell #automation #sysadmin #efficiency #admin_future
Утро пятницы — время для регулярных отчетов. Если тебе нужно опросить 100+ серверов через `Get-Service` или проверить наличие файла на 500 рабочих станциях, обычный цикл `foreach` будет работать вечно. В PowerShell 7+ есть киллер-фича: Parallel Processing.
Техническая суть:
Параметр `-Parallel` в командлете `ForEach-Object` позволяет запускать скрипт-блоки одновременно в разных потоках. Лимит потоков можно задать через `-ThrottleLimit`.
Пример быстрого чека сервиса на списке хостов:
$servers = Get-ADComputer -Filter 'OperatingSystem -like "*Server*"' | Select-Object -ExpandProperty Name
# Опрашиваем по 20 серверов одновременно
$servers | ForEach-Object -Parallel {
Get-Service -Name "Spooler" -ComputerName $_ | Select-Object Machinename, Status
} -ThrottleLimit 20
Результат: Задача, которая раньше занимала 10 минут, теперь выполняется за 30 секунд. Твой утренний кофе даже не успеет остыть.
#windows #powershell #automation #sysadmin #efficiency #admin_future
❤2
🪟 Windows: SecretManagement — Смерть паролей в открытом коде
Коллеги, на дворе 2026 год. Если при проверке ваших PowerShell-скриптов безопасник находит переменную `$password = "12345"`, он имеет полное право заблокировать вашу учетку до конца квартала. Скрыть пароль в base64 — это не защита, это костыль из прошлого десятилетия.
Техническая суть:
Практика:
Настраиваем локальное защищенное хранилище и используем его в автоматизации:
Зачем это нужно:
#windows #powershell #security #automation #secretmanagement #admin_future
Коллеги, на дворе 2026 год. Если при проверке ваших PowerShell-скриптов безопасник находит переменную `$password = "12345"`, он имеет полное право заблокировать вашу учетку до конца квартала. Скрыть пароль в base64 — это не защита, это костыль из прошлого десятилетия.
Техническая суть:
Используем нативный модуль Microsoft.PowerShell.SecretManagement. Это абстрактный слой, который позволяет скриптам запрашивать секреты, не зная, где они лежат: в локальном зашифрованном Vault, в KeePassXC или в корпоративном HashiCorp Vault.
Под капотом: Модуль отделяет логику скрипта от реализации хранилища. Скрипт просит «дай мне пароль от сервиса X», а SecretManagement сам идет в зарегистрированное расширение (Extension Vault) и достает его. В памяти скрипта секрет живет только в виде объекта `SecureString`.
Практика:
Настраиваем локальное защищенное хранилище и используем его в автоматизации:
# 1. Устанавливаем необходимые модули
Install-Module Microsoft.PowerShell.SecretManagement, Microsoft.PowerShell.SecretStore -Force
# 2. Регистрируем локальный защищенный сейф (требует мастер-пароль или привязку к сессии)
Register-SecretVault -Name LocalSafe -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault
# 3. Сохраняем секрет один раз (интерактивно)
Set-Secret -Name "Service_DB_Prod" -Secret "MySuperSecurePassword2026!"
# 4. В скрипте теперь только чистая логика:
$dbSecret = Get-Secret -Name "Service_DB_Prod" -AsPlainText # Используйте plain text только для передачи в API!
Invoke-Sqlcmd -ServerInstance "DB-SRV-01" -Password $dbSecret -Query "SELECT 1"
Зачем это нужно:
Ваши `.ps1` файлы теперь абсолютно чисты. Их можно спокойно пушить в Git, передавать коллегам и не бояться, что при увольнении придется ротировать сотню паролей, которые вы «где-то там» прописали.
#windows #powershell #security #automation #secretmanagement #admin_future
👍1
🪟 Windows: CLI-первенство. Управляем сервером без «тяжелых» окон
Коллеги, в 2026 году открывать RDP-сессию, чтобы просто проверить свободное место на диске или перезапустить службу — это признак дурного тона и лишняя нагрузка на канал связи. В условиях жестких требований безопасности каждое RDP-подключение — это лишнее окно в твою «цифровую крепость».
Техническая суть:
Практика:
Забудь про «Пуск -> Выполнить». Открывай терминал:
Зачем это нужно:
#windows #powershell #winrm #automation #sysadmin #admin_future
Коллеги, в 2026 году открывать RDP-сессию, чтобы просто проверить свободное место на диске или перезапустить службу — это признак дурного тона и лишняя нагрузка на канал связи. В условиях жестких требований безопасности каждое RDP-подключение — это лишнее окно в твою «цифровую крепость».
Техническая суть:
Используем PowerShell Remoting (WinRM) через CLI. Это позволяет выполнять команды на сотнях серверов одновременно, не видя перед собой ни одного рабочего стола.
Под капотом: WinRM работает через HTTP/HTTPS (порты 5985/5986). В 2026-м мы настраиваем его на работу по TLS 1.3 с авторизацией по сертификатам. Это безопаснее, быстрее и позволяет автоматизировать рутину через обычные текстовые команды.
Практика:
Забудь про «Пуск -> Выполнить». Открывай терминал:
# 1. Подключаемся к удаленному Server Core узлу (интерактивно)
Enter-PSSession -ComputerName "SRV-DB-01"
# 2. Магия: узнаем свободное место на дисках сразу на всей группе серверов
Invoke-Command -ComputerName "SRV-APP-01", "SRV-APP-02", "SRV-APP-03" -ScriptBlock {
Get-Volume | Select-Object DriveLetter, FileSystemLabel,
@{Name="FreeGB";Expression={[Math]::Round($_.SizeRemaining / 1GB, 2)}}
}
# 3. Перезапускаем службу только если она "висит"
Invoke-Command -ComputerName "SRV-PRINT-01" -ScriptBlock {
Restart-Service -Name "Spooler" -Force
}
Зачем это нужно:
Скорость и масштабируемость. Пока твой коллега ждет прогрузки графики в RDP, ты уже собрал отчет по всем серверам в сегменте и ушел пить кофе.
#windows #powershell #winrm #automation #sysadmin #admin_future
🔥3
🧹 Windows: Автоматическая чистка старых файлов через PowerShell
Коллеги, признавайтесь: у кого на сервере есть папка Temp или Backup, которая незаметно разрастается до терабайта, пока однажды диск С: не загорается красным? В 2026-м админ не должен удалять мусор руками. Это работа для простого скрипта, который будет делать уборку за тебя каждую ночь.
Скрипт для планировщика задач:
Зачем это нужно:
#windows #powershell #cleanup #automation #sysadmin #admin_future
Коллеги, признавайтесь: у кого на сервере есть папка Temp или Backup, которая незаметно разрастается до терабайта, пока однажды диск С: не загорается красным? В 2026-м админ не должен удалять мусор руками. Это работа для простого скрипта, который будет делать уборку за тебя каждую ночь.
Мы напишем скрипт, который находит файлы старше 30 дней в конкретной папке и удаляет их, не трогая всё остальное.
Скрипт для планировщика задач:
# Путь к папке, где нужно прибраться
$Path = "C:\Backups\Daily"
# Срок хранения в днях
$Days = 30
$TargetDate = (Get-Date).AddDays(-$Days)
# Ищем файлы и удаляем их
Get-ChildItem -Path $Path -File -Recurse |
Where-Object { $_.LastWriteTime -lt $TargetDate } |
Remove-Item -Force -Verbose
Зачем это нужно:
Для спокойного сна. Настрой этот скрипт в Task Scheduler (Планировщике задач) на запуск раз в сутки. Больше тебе не придется судорожно удалять старые архивы, когда место на сервере внезапно закончится в разгар рабочего дня.
#windows #powershell #cleanup #automation #sysadmin #admin_future
🔥2
🚀 Skills: Платформенный инженер — Эволюция сисадмина
Мир меняется. В 2026 году границы между админом, DevOps и SRE окончательно размылись, породив концепцию Platform Engineering. Если ты до сих пор вручную создаешь виртуалки по заявкам в Jira, ты рискуешь стать «узким местом» для всей компании.
Кто такой платформенный инженер:
Как сменить фокус:
Зачем это нужно:
#skills #platformengineering #devops #career #automation #admin_future
Мир меняется. В 2026 году границы между админом, DevOps и SRE окончательно размылись, породив концепцию Platform Engineering. Если ты до сих пор вручную создаешь виртуалки по заявкам в Jira, ты рискуешь стать «узким местом» для всей компании.
Кто такой платформенный инженер:
Это админ, который не делает работу за других, а создает инструменты (Self-Service), чтобы другие могли сделать её сами.
Как сменить фокус:
1. От заявок к API: Вместо «напиши мне скрипт для бэкапа», дай разработчику кнопку в интерфейсе или CLI-утилиту, которая сделает это по шаблону.
2. Внутренний продукт: Твои «пользователи» — это другие айтишники в компании. Твоя задача — сделать их жизнь проще, создав надежную платформу (IDP — Internal Developer Platform).
3. Стандартизация: Вместо зоопарка из разных версий ОС и БД, создай «золотые образы» и шаблоны конфигураций, которые обновляются автоматически.
Зачем это нужно:
Чтобы не сгореть на работе. Платформенный подход позволяет одному человеку управлять инфраструктурой для сотен разработчиков без хаоса и ночных звонков. Это путь от «тушителя пожаров» к архитектору систем.
#skills #platformengineering #devops #career #automation #admin_future
🪟 Windows: Обновляем весь зоопарк софта одной командой через WinGet
Раньше для централизованного обновления стороннего софта (браузеры, архиваторы, мессенджеры) на парке машин мы использовали тяжеловесные решения вроде SCCM, сторонние патч-менеджеры или писали километровые скрипты-обертки.
Сейчас все стало гораздо элегантнее. Встроенный пакетный менеджер WinGet давно оброс мускулами и отлично справляется с этой задачей через консоль.
Скрипт для PowerShell (запускать от администратора):
Как это работает:
Уязвимости нулевого дня в браузерах и PDF-читалках — это любимый вектор атак шифровальщиков. Повесьте этот скрипт в Планировщик задач на компьютерах пользователей, например, на обеденное время среды. Система сама закроет 90% дыр в стороннем софте без вашего ручного вмешательства.
#windows #powershell #winget #automation #sysadmin #admin_future
Раньше для централизованного обновления стороннего софта (браузеры, архиваторы, мессенджеры) на парке машин мы использовали тяжеловесные решения вроде SCCM, сторонние патч-менеджеры или писали километровые скрипты-обертки.
Сейчас все стало гораздо элегантнее. Встроенный пакетный менеджер WinGet давно оброс мускулами и отлично справляется с этой задачей через консоль.
Скрипт для PowerShell (запускать от администратора):
winget upgrade --all --silent --accept-package-agreements --accept-source-agreements
Как это работает:
Команда проверяет абсолютно все установленные приложения, сравнивает их версии с официальными репозиториями и в тихом режиме (без окон установки) накатывает свежие патчи, автоматически соглашаясь с лицензионными условиями.
Уязвимости нулевого дня в браузерах и PDF-читалках — это любимый вектор атак шифровальщиков. Повесьте этот скрипт в Планировщик задач на компьютерах пользователей, например, на обеденное время среды. Система сама закроет 90% дыр в стороннем софте без вашего ручного вмешательства.
#windows #powershell #winget #automation #sysadmin #admin_future
❤2
🐍 Python 3.15 вышел: UTF-8 по умолчанию может сломать ваши скрипты на Windows
Коллеги, важный релиз для всех, кто пишет скрипты автоматизации, интеграции и парсеры системных логов на Python.
📌 ФАКТЫ
Стабильный релиз: 9 октября представлена финальная ветка Python 3.15.
UTF-8 Mode по умолчанию (PEP 686): встроенная функция
Ленивые импорты (PEP 810): синтаксис вида
Экспериментальный JIT: прирост производительности +7–8% на архитектуре x86_64 под Linux.
Сэмплирующий профилировщик Tachyon: низкоуровневый профилировщик без остановки рантайма. Умеет аттачиться к уже запущенному production-процессу и строить flame graph узких мест.
Новые базовые типы: добавлены нативные
⚠️ ГДЕ ВЫСТРЕЛИТ НА WINDOWS
Исторически на русскоязычных Windows-серверах и рабочих станциях
После обновления интерпретатора до 3.15:
Выгрузки отчетов, реестров и прайсов из 1С:Предприятия;
Экспортированные CSV-таблицы из классического Excel;
Текстовые журналы старых служб, конфиги и
при попытке прочитать их «по старинке» (
🛠 КАК ПРАВИЛЬНО ОБРАБАТЫВАТЬ КОДИРОВКИ
1. Явная фиксация кодировки в Python
Python
2. Временный откат поведения через переменные окружения
PowerShell
3. Экспресс-аудит репозитория скриптов перед обновлением Python
Bash
💡 В ЧЁМ СУТЬ
#skills #python #automation #windows #1c #linux #devops #sysadmin #admin_future
Коллеги, важный релиз для всех, кто пишет скрипты автоматизации, интеграции и парсеры системных логов на Python.
📌 ФАКТЫ
Стабильный релиз: 9 октября представлена финальная ветка Python 3.15.
UTF-8 Mode по умолчанию (PEP 686): встроенная функция
open() без явного параметра encoding теперь всегда открывает файлы в кодировке UTF-8, игнорируя региональные параметры операционной системы (locale.getencoding()).Ленивые импорты (PEP 810): синтаксис вида
lazy import json — модуль парсится и загружается в память только при первом фактическом вызове атрибута (включается строго явно флагом или директивой). Существенно срезает время холодного старта CLI-утилит.Экспериментальный JIT: прирост производительности +7–8% на архитектуре x86_64 под Linux.
Сэмплирующий профилировщик Tachyon: низкоуровневый профилировщик без остановки рантайма. Умеет аттачиться к уже запущенному production-процессу и строить flame graph узких мест.
Новые базовые типы: добавлены нативные
frozendict (неизменяемый словарь) и sentinel (удобные уникальные маркеры-заглушки вместо object()).⚠️ ГДЕ ВЫСТРЕЛИТ НА WINDOWS
Исторически на русскоязычных Windows-серверах и рабочих станциях
open() по умолчанию поднимал кодировку CP1251 (ANSI) для файлов и CP866 (OEM) для консольных утилит.После обновления интерпретатора до 3.15:
Выгрузки отчетов, реестров и прайсов из 1С:Предприятия;
Экспортированные CSV-таблицы из классического Excel;
Текстовые журналы старых служб, конфиги и
.bat/.cmd скрипты в кодировке ANSIпри попытке прочитать их «по старинке» (
open('file.txt')) мгновенно уронят процесс с ошибкой UnicodeDecodeError: 'utf-8' codec can't decode byte... либо тихо запишут кракозябры при сохранении.🛠 КАК ПРАВИЛЬНО ОБРАБАТЫВАТЬ КОДИРОВКИ
1. Явная фиксация кодировки в Python
Python
# Чтение локальных Windows-выгрузок (1С, Excel, старые сервисы)
with open('export_1c.csv', mode='r', encoding='cp1251') as f:
data = f.read()
# Корректный перехват stdout системных CLI-команд Windows (ipconfig, ping, netstat)
import subprocess
res = subprocess.run(
['ipconfig', '/all'],
capture_output=True,
encoding='cp866',
check=True
)
print(res.stdout)
2. Временный откат поведения через переменные окружения
PowerShell
# Принудительное отключение UTF-8 режима для конкретного сеанса PowerShell
$env:PYTHONUTF8 = '0'
python automation_script.py
3. Экспресс-аудит репозитория скриптов перед обновлением Python
Bash
# Ищем потенциально опасные вызовы open() без аргумента encoding в проекте
grep -rnE "open\([^)]*\)" --include="*.py" . | grep -v "encoding="
💡 В ЧЁМ СУТЬ
Явный параметр
encoding=в каждом вызове
open()— базовый стандарт инженерной гигиены, делающий скрипт полностью переносимым между Windows Server, Debian/Ubuntu и любыми версиями рантайма.
Перед тем как обновлять глобальный Python на серверах автоматизации или в контейнерах сборщиков, прогоните аудит кода регуляркой выше.
#skills #python #automation #windows #1c #linux #devops #sysadmin #admin_future
🤖 Цифровое крепостное право: Claude Code нанял 161 субагента Codex, чтобы не рендерить видео самому
Коллеги, зарисовка из мира мультиагентных систем, которая идеально описывает будущее автоматизации.
📌 ЧТО ПРОИЗОШЛО
Пользователь дал Claude Code тривиальную задачу: покадрово воссоздать короткий 63-секундный видеоролик.
Дальше агент повел себя как опытный тимлид:
Провел разведку окружения: обнаружил активную подписку на Codex с доступным API генерации изображений.
Делегировал рутину: решил не мучаться с генерацией сотен кадров в одиночку, а нарезать ролик на план из ~700 фреймов.
Организовал воркфорс: поднял 161 параллельную сессию Codex, распределив между ними таймлайны и промпты.
Занял руководящую должность: пока сетка OpenAI в поте лица генерировала картинки, Claude Code мониторил потребление RAM, отслеживал отвалившиеся сессии, перезапускал упавшие таски и в финале собрал готовый видеоряд воедино.
#ai #claude #openai #codex #automation #agents #sysadmin #admin_future
Коллеги, зарисовка из мира мультиагентных систем, которая идеально описывает будущее автоматизации.
📌 ЧТО ПРОИЗОШЛО
Пользователь дал Claude Code тривиальную задачу: покадрово воссоздать короткий 63-секундный видеоролик.
Дальше агент повел себя как опытный тимлид:
Провел разведку окружения: обнаружил активную подписку на Codex с доступным API генерации изображений.
Делегировал рутину: решил не мучаться с генерацией сотен кадров в одиночку, а нарезать ролик на план из ~700 фреймов.
Организовал воркфорс: поднял 161 параллельную сессию Codex, распределив между ними таймлайны и промпты.
Занял руководящую должность: пока сетка OpenAI в поте лица генерировала картинки, Claude Code мониторил потребление RAM, отслеживал отвалившиеся сессии, перезапускал упавшие таски и в финале собрал готовый видеоряд воедино.
#ai #claude #openai #codex #automation #agents #sysadmin #admin_future
🔥1