Канал про Kubernetes без ванильной теории. Только хардкор из бигтеха, опыт, набитый на реальных продах, щепотка IT-юмора и, конечно, мой кот Маркус — у него чуйка на баги.
Я — Виталий Лихачев, SRE в крупном голландском тревелтехе.
У себя на канале делюсь:
ℹ️ Мясом по Kubernetes: как оно на самом деле работает (и фейлится) в больших конторах.
ℹ️ Боевыми лайфхаками и граблями, собранными в энтерпрайзных траншеях.
ℹ️ Регулярными вебинарами и прямыми эфирами — живое общение, ответы на каверзные вопросы.
Если K8s для тебя – это не просто набор букв, а ежедневная задача (и боль, разумеется), то welcome, обсудим конфиги и не только.
➡️Канал «Kubernetes и кот Лихачева»
Я — Виталий Лихачев, SRE в крупном голландском тревелтехе.
У себя на канале делюсь:
ℹ️ Мясом по Kubernetes: как оно на самом деле работает (и фейлится) в больших конторах.
ℹ️ Боевыми лайфхаками и граблями, собранными в энтерпрайзных траншеях.
ℹ️ Регулярными вебинарами и прямыми эфирами — живое общение, ответы на каверзные вопросы.
Если K8s для тебя – это не просто набор букв, а ежедневная задача (и боль, разумеется), то welcome, обсудим конфиги и не только.
➡️Канал «Kubernetes и кот Лихачева»
👋 Всем админам доброго вечера!
Сегодня поделюсь приёмом, который реально спасает, когда пользователи жалуются на «медленный интернет» или «сетевые лаги». Чаще всего виноват вовсе не провайдер, а перегруженные сетевые интерфейсы на самом сервере.
🔥 Проверить статистику адаптеров можно так:
Команда показывает количество принятых/отправленных байт и ошибки на интерфейсе. Если видите рост
А если нужно онлайн-мониторинг, можно добавить цикл:
Так можно «подсматривать» за интерфейсом в реальном времени.
👉 @win_sysadmin
Сегодня поделюсь приёмом, который реально спасает, когда пользователи жалуются на «медленный интернет» или «сетевые лаги». Чаще всего виноват вовсе не провайдер, а перегруженные сетевые интерфейсы на самом сервере.
🔥 Проверить статистику адаптеров можно так:
Get-NetAdapterStatistics | Select-Object Name, ReceivedBytes, SentBytes, ReceivedErrors, OutboundErrors
Команда показывает количество принятых/отправленных байт и ошибки на интерфейсе. Если видите рост
ReceivedErrors или OutboundErrors - значит, проблемы в железе, драйвере или кабеле.А если нужно онлайн-мониторинг, можно добавить цикл:
while ($true) {
Get-NetAdapterStatistics -Name "Ethernet0" |
Select-Object Name, ReceivedErrors, OutboundErrors
Start-Sleep -Seconds 5
}
Так можно «подсматривать» за интерфейсом в реальном времени.
👉 @win_sysadmin
👍17
👋 Привет, админы!
Сегодня расскажу о небольшом, но полезном трюке для мониторинга дисков в Windows через PowerShell. Иногда места на сервере внезапно становится критически мало, и если не отследить вовремя - можно получить падение сервисов или невозможность сохранить логи.
Он показывает:
- Имя диска
- Свободное место (ГБ)
- Процент занятости
Можно добавить в планировщик задач и получать отчёт на почту или писать лог. А если подключить это к мониторингу (например, через Zabbix/PRTG), то сервер сам предупредит о критическом заполнении.
👉 @win_sysadmin
Сегодня расскажу о небольшом, но полезном трюке для мониторинга дисков в Windows через PowerShell. Иногда места на сервере внезапно становится критически мало, и если не отследить вовремя - можно получить падение сервисов или невозможность сохранить логи.
Get-PSDrive -PSProvider FileSystem | Select-Object Name,@{n="FreeGB";e={[math]::Round($_.Free/1GB,2)}},@{n="Used%";e={[math]::Round(100-($_.Free/$_.Used+ $_.Free)*100,2)}}
Он показывает:
- Имя диска
- Свободное место (ГБ)
- Процент занятости
Можно добавить в планировщик задач и получать отчёт на почту или писать лог. А если подключить это к мониторингу (например, через Zabbix/PRTG), то сервер сам предупредит о критическом заполнении.
👉 @win_sysadmin
👍13
👋 Всем коллегам доброго здравия!
На одном файловом сервере пользователи жаловались, что диск «то пустой, то переполнен». Оказалось, дело в том, что теневые копии (Shadow Copies) занимали кучу места, а местные админы об этом забыли (такое бывает 😐).
📌 Быстро проверяем текущее использование теневых копий:
А если хочется собрать инфу в более удобном виде через PowerShell:
Так сразу видно, сколько места уже занято и какой лимит стоит. Иногда достаточно почистить старые копии или уменьшить выделенный объем.
⚡ Чтобы удалить все теневые копии на диске
🚨 (Будьте осторожны — после этого пользователи уже не смогут восстановить файлы из предыдущих версий!)
👉 @win_sysadmin
На одном файловом сервере пользователи жаловались, что диск «то пустой, то переполнен». Оказалось, дело в том, что теневые копии (Shadow Copies) занимали кучу места, а местные админы об этом забыли (такое бывает 😐).
📌 Быстро проверяем текущее использование теневых копий:
vssadmin list shadowstorage
А если хочется собрать инфу в более удобном виде через PowerShell:
Get-CimInstance -ClassName Win32_ShadowStorage |
Select-Object Volume, AllocatedSpace, UsedSpace, MaxSpace |
Format-Table -AutoSize
Так сразу видно, сколько места уже занято и какой лимит стоит. Иногда достаточно почистить старые копии или уменьшить выделенный объем.
⚡ Чтобы удалить все теневые копии на диске
C:, можно использовать:
vssadmin delete shadows /for=C: /all /quiet
👉 @win_sysadmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤2🤬1
👋 Админы, всем доброго понедельника!
Сегодня напомню про недооценённый инструмент - PowerShell-диски (PSDrive). Это логические “диски” к разным хранилищам: файловая система (
🧭 Базовые команды:
(И да,
🧩 Создание своих “дисков”:
⚠️ Такие диски живут в текущей сессии. Хотите постоянно - добавьте
🧹 Удаление:
Нельзя удалить диск, если вы “на нём” (сначала
💡 Лайфхаки из практики:
- Держите короткие алиасы на длинные ветки реестра для быстрых правок.
- Для огляда системы делайте
- В профиле храните свои стандартные монтирования для админских задач.
👉 @win_sysadmin
Сегодня напомню про недооценённый инструмент - PowerShell-диски (PSDrive). Это логические “диски” к разным хранилищам: файловая система (
C:), реестр (HKCU:/HKLM:), сертификаты (Cert:) и т.д. С ними удобно навигироваться одинаково, одной логикой командлетов Location. 🧭 Базовые команды:
# Показать все доступные PSDrive
Get-PSDrive
# Отфильтровать только файловую систему
Get-PSDrive -PSProvider FileSystem
# Навигация по реестру как по папкам
Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
(И да,
Get-PSDrive покажет и провайдеры вроде Registry/Certificate/Environment - удобно для обзора). 🧩 Создание своих “дисков”:
# Монтируем удобный ярлык на папку
New-PSDrive -Name Tools -PSProvider FileSystem -Root "C:\Admin\Tools"
# Короткий путь к важной ветке реестра
New-PSDrive -Name CV -PSProvider Registry -Root HKLM:\Software\Microsoft\Windows\CurrentVersion
⚠️ Такие диски живут в текущей сессии. Хотите постоянно - добавьте
New-PSDrive в профиль ($PROFILE).🧹 Удаление:
Remove-PSDrive -Name Tools
Нельзя удалить диск, если вы “на нём” (сначала
Set-Location в другое место). 💡 Лайфхаки из практики:
- Держите короткие алиасы на длинные ветки реестра для быстрых правок.
- Для огляда системы делайте
Get-PSDrive | Format-Table Name,Provider,Root -Auto.- В профиле храните свои стандартные монтирования для админских задач.
👉 @win_sysadmin
👍10❤1
👋 Всем админам доброго вечера!
Продолжаю тему теневых копий в Windows - на этот раз чисто PowerShell-практика. Теневые копии (VSS) не раз спасали меня, когда нужно быстро вернуть удалённый файл без полноценного восстановления из бэкапа. Ниже - мой минималистичный «набор выживальщика»: создать снапшот, смонтировать, вытащить файл, почистить и настроить расписание.
🚀 Базовые операции VSS через PowerShell
Создать теневую копию тома C:
Список доступных теневых копий:
Смонтировать самую свежую копию в папку (удобно лазить по снапшоту проводником):
Вытянуть конкретный файл из последней копии (без монтирования):
Удалить конкретную теневую копию:
🧠 Управление хранилищем теневых копий
Проверить и ограничить размер:
👉 Если места мало - VSS начнёт сносить самые старые копии. Планируйте «MaxSize».
⏰ Планирование ежедневного снапшота (02:00)
🔒 Безопасность и мониторинг
- Рансомварь любит грохать VSS: ищите команды вроде
Логи: включите аудит создания процессов (Sysmon Event ID 1) и подпишите правила под эти утилиты и ключевые слова в командной строке.
- Ограничьте утилиты: на рабочих станциях, где VSS админам не нужен — AppLocker/WDAC для
- Журналы VSS: заглядывайте в Application и Microsoft-Windows-Volume Shadow Copy/Operational при сбоях провайдера.
🧩 Типичные затыки и лайфхаки
- Доступа нет к путям снапшота — добавляйте
- Недостаточно места — расширьте
- Нужны «предыдущие версии» для пользователей - ставьте
👉 @win_sysadmin
Продолжаю тему теневых копий в Windows - на этот раз чисто PowerShell-практика. Теневые копии (VSS) не раз спасали меня, когда нужно быстро вернуть удалённый файл без полноценного восстановления из бэкапа. Ниже - мой минималистичный «набор выживальщика»: создать снапшот, смонтировать, вытащить файл, почистить и настроить расписание.
🚀 Базовые операции VSS через PowerShell
Создать теневую копию тома C:
# PS 5.1/7+ (через CIM)
Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName Create `
-Arguments @{ Volume = 'C:\'; Context = 'ClientAccessible' } | Out-Null
Список доступных теневых копий:
Get-CimInstance Win32_ShadowCopy |
Sort-Object InstallDate -Descending |
Format-Table ID, VolumeName, InstallDate, ClientAccessible, DeviceObject -Auto
Смонтировать самую свежую копию в папку (удобно лазить по снапшоту проводником):
$sh = Get-CimInstance Win32_ShadowCopy | Sort-Object InstallDate -Desc | Select-Object -First 1
$mount = 'C:\ShadowMounts\C_latest'
New-Item -ItemType Directory -Path $mount -Force | Out-Null
$dev = ($sh.DeviceObject.TrimEnd('\')) + '\'
cmd /c "mklink /d `"$mount`" `"$dev`""
# Готово: открывайте C:\ShadowMounts\C_latest
Вытянуть конкретный файл из последней копии (без монтирования):
$path = 'C:\Data\report.xlsx' # что хотим вернуть
$sh = Get-CimInstance Win32_ShadowCopy | Sort-Object InstallDate -Desc | Select-Object -First 1
$rel = $path -replace '^[A-Za-z]:\\','' # убрать "C:\"
$src = Join-Path ( ($sh.DeviceObject.TrimEnd('\')) + '\' ) $rel
Copy-Item $src $path -Force
Удалить конкретную теневую копию:
$sh | Remove-CimInstance
🧠 Управление хранилищем теневых копий
Проверить и ограничить размер:
vssadmin list shadowstorage
vssadmin resize shadowstorage /For=C: /On=C: /MaxSize=20%
👉 Если места мало - VSS начнёт сносить самые старые копии. Планируйте «MaxSize».
⏰ Планирование ежедневного снапшота (02:00)
$cmd = 'powershell.exe'
$arg = '-NoProfile -WindowStyle Hidden -Command "Invoke-CimMethod -ClassName Win32_ShadowCopy -MethodName Create -Arguments @{Volume=''C:\'';Context=''ClientAccessible''} | Out-Null"'
$action = New-ScheduledTaskAction -Execute $cmd -Argument $arg
$trigger = New-ScheduledTaskTrigger -Daily -At 02:00
Register-ScheduledTask -TaskName 'Daily-VSS-C' -Action $action -Trigger $trigger -RunLevel Highest
На серверах с PowerShell 7 можно заменитьpowershell.exeнаpwsh.exe.
🔒 Безопасность и мониторинг
- Рансомварь любит грохать VSS: ищите команды вроде
vssadmin delete shadows /all /quiet, wmic shadowcopy delete, diskshadow.exe.Логи: включите аудит создания процессов (Sysmon Event ID 1) и подпишите правила под эти утилиты и ключевые слова в командной строке.
- Ограничьте утилиты: на рабочих станциях, где VSS админам не нужен — AppLocker/WDAC для
vssadmin.exe, wmic.exe, diskshadow.exe.- Журналы VSS: заглядывайте в Application и Microsoft-Windows-Volume Shadow Copy/Operational при сбоях провайдера.
🧩 Типичные затыки и лайфхаки
- Доступа нет к путям снапшота — добавляйте
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyN\ в исключения антивируса на время операций.- Недостаточно места — расширьте
shadowstorage или поменяйте диск-хранилище: /For=C: /On=D:.- Нужны «предыдущие версии» для пользователей - ставьте
Context='ClientAccessible' (или ClientAccessibleWriters для VSS-aware приложений).👉 @win_sysadmin
👍13🔥4❤2
🔥 Горящее предложение: распродажа выделенных серверов от 3900 рублей!
DLine Media сбросили цены на выделенные сервера - процессоры Intel Xeon различных моделей, DDR4 REG ECC, безлимитный трафик на порту, тарифы стартуют от 3900 рублей в месяц!
Подойдет для 1С Бухгалтерии, виртуализации или под хранение файлов - конфигурация сервера онлайн на сайте
Преимущества:
▪️серверное железо
◽️быстрые SSD диски
▪️неограниченный трафик до 1 GB/s
◽️цены в рублях (!)
▪️оплата по договору, картой или криптой
◽️защита от DDoS
▪️собственный ЦОД
◽️выделенный VLAN
▪️низкая стоимость
◽️установка любой ОС
▪️доступ к IPMI
◽️круглосуточная поддержка
▪️разрешено для VPN
Активация и настройка сервера за 5 минут на сайте:
https://tglink.io/589a94c6b556?erid=2W5zFHKEX3n
Торопитесь, конкуренты не дремлют 😈
DLine Media сбросили цены на выделенные сервера - процессоры Intel Xeon различных моделей, DDR4 REG ECC, безлимитный трафик на порту, тарифы стартуют от 3900 рублей в месяц!
Подойдет для 1С Бухгалтерии, виртуализации или под хранение файлов - конфигурация сервера онлайн на сайте
Преимущества:
▪️серверное железо
◽️быстрые SSD диски
▪️неограниченный трафик до 1 GB/s
◽️цены в рублях (!)
▪️оплата по договору, картой или криптой
◽️защита от DDoS
▪️собственный ЦОД
◽️выделенный VLAN
▪️низкая стоимость
◽️установка любой ОС
▪️доступ к IPMI
◽️круглосуточная поддержка
▪️разрешено для VPN
Активация и настройка сервера за 5 минут на сайте:
https://tglink.io/589a94c6b556?erid=2W5zFHKEX3n
Торопитесь, конкуренты не дремлют 😈
🔥3❤1👍1
👋 Всем админам доброго вечера!
Сегодня разберем автоматическое обновление групповых политик (GPO) на клиентах без необходимости ждать стандартного обновления (которое бывает раз в 90 минут + случайное отклонение до 30 минут).
🔥 Если вам нужно срочно применить новую политику, используйте:
Но что, если нужно обновить политику на всех компьютерах домена сразу? Тут поможет PowerShell:
А если нужно массово обновить политики на всех машинах в OU? Тогда можно так:
🔹 gpupdate
🔹 Invoke-GPUpdate - удобен для удаленного обновления GPO.
🔹 Комбинация с Get-ADComputer - идеальна для массового обновления в домене.
👉 @win_sysadmin
Сегодня разберем автоматическое обновление групповых политик (GPO) на клиентах без необходимости ждать стандартного обновления (которое бывает раз в 90 минут + случайное отклонение до 30 минут).
🔥 Если вам нужно срочно применить новую политику, используйте:
gpupdate /force
Но что, если нужно обновить политику на всех компьютерах домена сразу? Тут поможет PowerShell:
Invoke-GPUpdate -Computer "ИмяКомпьютера" -RandomDelayInMinutes 0
А если нужно массово обновить политики на всех машинах в OU? Тогда можно так:
Get-ADComputer -Filter * -SearchBase "OU=Computers,DC=domain,DC=local" | ForEach-Object {
Invoke-GPUpdate -Computer $_.Name -RandomDelayInMinutes 0 -AsJob
}
🔹 gpupdate
/force - хорош для локального применения. 🔹 Invoke-GPUpdate - удобен для удаленного обновления GPO.
🔹 Комбинация с Get-ADComputer - идеальна для массового обновления в домене.
👉 @win_sysadmin
👍16🔥3👎2
🎥 Вебинар по Linux: "Linux Monitoring: как отслеживать и анализировать производительность"
☝️ На вебинаре вы узнаете:
- Основные категории мониторинга: ресурсы, процессы, сеть, логи
- Инструменты для мониторинга в Linux: top, htop, iostat, vmstat, sar, netstat, dstat
- Как собирать и анализировать метрики с помощью системных и сторонних инструментов
💪 В результате вебинара вы:
- Научитесь собирать и анализировать ключевые метрики системы
- Сможете выявлять узкие места и потенциальные проблемы заранее
- Попробуете комбинировать разные инструменты для комплексного мониторинга
⏰ Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional"
👉 Для участия зарегистрируйтесь: https://vk.cc/cPMfON
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
☝️ На вебинаре вы узнаете:
- Основные категории мониторинга: ресурсы, процессы, сеть, логи
- Инструменты для мониторинга в Linux: top, htop, iostat, vmstat, sar, netstat, dstat
- Как собирать и анализировать метрики с помощью системных и сторонних инструментов
💪 В результате вебинара вы:
- Научитесь собирать и анализировать ключевые метрики системы
- Сможете выявлять узкие места и потенциальные проблемы заранее
- Попробуете комбинировать разные инструменты для комплексного мониторинга
⏰ Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional"
👉 Для участия зарегистрируйтесь: https://vk.cc/cPMfON
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👋 Привет, админы!
Сегодня разберем одну из самых неприятных ситуаций – когда пользователи жалуются, что их учетные записи блокируются без видимых причин. Разбираешься в логах – а там Event ID 4740 с минимумом информации. Что делать?
🔥 PowerShell спасает! Вот скрипт, который поможет быстро найти источник блокировки:
Этот код просканирует журнал безопасности, найдет все события 4740 (блокировка учетной записи) и покажет кто именно заблокировал пользователя. Если видите странные IP-адреса или подозрительные устройства – пора разбираться!
💡 Если хотите автоматически мониторить блокировки и получать уведомления, можно настроить Scheduled Task с этим скриптом или завязать на SIEM.
👉 @win_sysadmin
Сегодня разберем одну из самых неприятных ситуаций – когда пользователи жалуются, что их учетные записи блокируются без видимых причин. Разбираешься в логах – а там Event ID 4740 с минимумом информации. Что делать?
🔥 PowerShell спасает! Вот скрипт, который поможет быстро найти источник блокировки:
$LockedUser = "[email protected]" # Замените на нужный аккаунт
Get-WinEvent -LogName Security | Where-Object {
$_.Id -eq 4740 -and $_.Message -match $LockedUser
} | Select-Object TimeCreated, @{n="Источник";e={($_.Properties[1].Value)}}
Этот код просканирует журнал безопасности, найдет все события 4740 (блокировка учетной записи) и покажет кто именно заблокировал пользователя. Если видите странные IP-адреса или подозрительные устройства – пора разбираться!
💡 Если хотите автоматически мониторить блокировки и получать уведомления, можно настроить Scheduled Task с этим скриптом или завязать на SIEM.
👉 @win_sysadmin
👍16
👋 Привет, админы!
Сегодня разберем скрытых пожирателей ресурсов в Windows и как их быстро выявить.
Бывает, сервер вроде бы работает, но периодически подтормаживает. CPU не загружен, RAM в норме, диск не трещит, а лаги есть. В таких случаях я первым делом проверяю скрытые потребители ресурсов, которых не видно в обычном диспетчере задач.
🔥 Вот парочка полезных команд в PowerShell, которые помогут найти виновника:
1️⃣ Процессы с аномально высоким потреблением дескрипторов (например, утечки в сервисах):
Если видите процесс с сотнями тысяч дескрипторов – это тревожный звоночек.
2️⃣ Проверка использования сети процессами (чтобы вычислить неожиданно болтливые службы):
Выяснит, какие процессы держат максимум соединений. Особенно полезно, если сервер внезапно грузит сеть.
3️⃣ Файлы, которые держит процесс (можно отследить, кто блокирует файлы или грузит диск):
Это поможет найти виновника, если диск занят, но не ясно, кто именно активничает.
👉 @win_sysadmin
Сегодня разберем скрытых пожирателей ресурсов в Windows и как их быстро выявить.
Бывает, сервер вроде бы работает, но периодически подтормаживает. CPU не загружен, RAM в норме, диск не трещит, а лаги есть. В таких случаях я первым делом проверяю скрытые потребители ресурсов, которых не видно в обычном диспетчере задач.
🔥 Вот парочка полезных команд в PowerShell, которые помогут найти виновника:
1️⃣ Процессы с аномально высоким потреблением дескрипторов (например, утечки в сервисах):
Get-Process | Sort-Object -Property Handles -Descending | Select-Object -First 10
Если видите процесс с сотнями тысяч дескрипторов – это тревожный звоночек.
2️⃣ Проверка использования сети процессами (чтобы вычислить неожиданно болтливые службы):
Get-NetTCPConnection | Group-Object -Property OwningProcess | Sort-Object Count -Descending | Select-Object -First 10
Выяснит, какие процессы держат максимум соединений. Особенно полезно, если сервер внезапно грузит сеть.
3️⃣ Файлы, которые держит процесс (можно отследить, кто блокирует файлы или грузит диск):
Get-Process | Sort-Object -Property Handles -Descending | Select-Object -First 10
Это поможет найти виновника, если диск занят, но не ясно, кто именно активничает.
👉 @win_sysadmin
👍12🔥4
👋 Привет, админы!
В небольших организациях часто бывает так: компьютер списали, из домена вывели, а учетку в AD забыли удалить. Со временем таких “осиротевших” записей становится всё больше - и вот уже список объектов в AD раздувается, мешает управлению и порождает бардак.
Найти такие "забытые" объекты можно с помощью встроенного инструмента PowerShell.
📌 Скрипт ниже ищет компьютеры, которые не логинились в домен 90+ дней, сохраняет список в файл и отправляет его через SMTP:
✅ Идеально запускать такой скрипт по расписанию через Task Scheduler раз в месяц!
👉 @win_sysadmin
В небольших организациях часто бывает так: компьютер списали, из домена вывели, а учетку в AD забыли удалить. Со временем таких “осиротевших” записей становится всё больше - и вот уже список объектов в AD раздувается, мешает управлению и порождает бардак.
Найти такие "забытые" объекты можно с помощью встроенного инструмента PowerShell.
📌 Скрипт ниже ищет компьютеры, которые не логинились в домен 90+ дней, сохраняет список в файл и отправляет его через SMTP:
# Настройки
$days = 90
$time = (Get-Date).AddDays(-$days)
$exportPath = "C:\Scripts\StaleComputers.csv"
# Поиск устаревших компьютеров
$computers = Get-ADComputer -Filter {LastLogonDate -lt $time -and Enabled -eq $true} -Properties LastLogonDate |
Select-Object Name, LastLogonDate, DistinguishedName
# Экспорт в CSV
$computers | Export-Csv -Path $exportPath -NoTypeInformation -Encoding UTF8
# Параметры SMTP
$smtpServer = "smtp.yourdomain.local"
$from = "[email protected]"
$to = "[email protected]"
$subject = "Отчет: Устаревшие учетные записи компьютеров"
$body = "Во вложении список компьютеров, не входивших в домен более $days дней."
# Отправка письма
Send-MailMessage -From $from -To $to -Subject $subject -Body $body -SmtpServer $smtpServer -Attachments $exportPath
✅ Идеально запускать такой скрипт по расписанию через Task Scheduler раз в месяц!
👉 @win_sysadmin
👍17
👋 Привет, админы!
Недавно нужно было срочно найти, кто и когда отключил службу Windows Defender на одном из серверов. В журнале событий куча мусора, стандартный просмотр через Event Viewer - то ещё удовольствие 😅
В таких случаях PowerShell - наше всё. Вот короткий и полезный скрипт, который спас меня:
📌 Что делает этот скрипт:
- Фильтрует события
- Ищет по ключевым словам в сообщении (
- Показывает, когда именно служба была остановлена.
🔥 Быстро, удобно и без GUI. Кстати, таким образом можно отслеживать отключения любых критичных сервисов.
👉 @win_sysadmin
Недавно нужно было срочно найти, кто и когда отключил службу Windows Defender на одном из серверов. В журнале событий куча мусора, стандартный просмотр через Event Viewer - то ещё удовольствие 😅
В таких случаях PowerShell - наше всё. Вот короткий и полезный скрипт, который спас меня:
Get-WinEvent -LogName "System" -FilterXPath "*[System[Provider[@Name='Service Control Manager'] and (EventID=7036)]]" |
Where-Object { $_.Message -like "*Windows Defender*" -and $_.Message -like "*stopped*" } |
Select-Object TimeCreated, Message
📌 Что делает этот скрипт:
- Фильтрует события
7036 - это смена состояния служб;- Ищет по ключевым словам в сообщении (
stopped и Windows Defender);- Показывает, когда именно служба была остановлена.
🔥 Быстро, удобно и без GUI. Кстати, таким образом можно отслеживать отключения любых критичных сервисов.
👉 @win_sysadmin
🔥14👍6
Облако ITENTIS CLOUD: технологии топов, цена без наценки (и живая поддержка!)
Нашли брендовую вещь в надежном маркете на 30% дешевле? Вот и мы так же. 😉
ITENTIS CLOUD — не "бюджетный" вариант. Это ВСЕ те же технологии, что у Яндекса, Mail или VK (VPC, Kubernetes, S3, снимки, автомасштабирование), но...
🔥 ...ЗНАЧИТЕЛЬНО ДЕШЕВЛЕ! 🔥
Зачем платить за бренд? Получите то же самое (а кое-что лучше) и сэкономьте. Не верите? Сравните тарифы! Надежные дата-центры Tier III, как у всех.
И главное — наша поддержка. Вот где мы их РЕАЛЬНО обходим:
💩 У них: очереди, боты, ответ "в течение 24 часов".
😍 У нас: живой, компетентный специалист 24/7. Не бот! Настоящий человек, который РАЗБЕРЕТСЯ. Ответ за минуты. Сложный Kubernetes? Объясним и поможем. Это наш стандарт.
Что вы получаете за меньшие деньги:
1. Та же "начинка": все ключевые технологии (VPC, Kubernetes, S3 и т.д.) — как у топов.
2. Надежность: Tier III, 2FA, шифрование, брандмауэры.
3. Скорость: запуск кластера быстрее доставки пиццы.
4. Простой контроль: интуитивное управление.
5. ГЛАВНОЕ: цена, от которой улыбнетесь + поддержка, которая реально спасает.
"А подвох?" Да нигде!
▶️14 дней БЕСПЛАТНО: протестируйте всё.
▶️БЕСПЛАТНАЯ миграция: перенесем ваши проекты без простоев.
▶️Гарантия возврата: риск — ноль.
‼️ Понравится? Расскажите друзьям! Реферальная программа: за каждого клиента — бонус или скидка. Без мишуры.
Итог: ITENTIS CLOUD = Технологии топов + Честная цена + Человеческая поддержка 24/7.
Хватит переплачивать и ждать ответа! Получите максимум.
👉 Действуйте выгодно:
1. Сравните тарифы: https://itentis.cloud
2. Пишите:
🤖 Telegram-бот: @itentis_bot (Фраза: "Хочу облако дешевле Яндекса!")
✉️ Почта: [email protected]
3. Скажите: "Читал пост про ЭКОНОМИЮ в облаке!" 🚀(Получите бонус!)
4. Присоединяйтесь: https://t.iss.one/+6drq5hdZoRpmMWIy
https://itentis.ru Мощное облако. Честная цена. Люди на связи.
Реклама. ООО "АВАНГАРД", ОГРН 1107746046550, erid: 2VtzqwA4MKj
Нашли брендовую вещь в надежном маркете на 30% дешевле? Вот и мы так же. 😉
ITENTIS CLOUD — не "бюджетный" вариант. Это ВСЕ те же технологии, что у Яндекса, Mail или VK (VPC, Kubernetes, S3, снимки, автомасштабирование), но...
🔥 ...ЗНАЧИТЕЛЬНО ДЕШЕВЛЕ! 🔥
Зачем платить за бренд? Получите то же самое (а кое-что лучше) и сэкономьте. Не верите? Сравните тарифы! Надежные дата-центры Tier III, как у всех.
И главное — наша поддержка. Вот где мы их РЕАЛЬНО обходим:
💩 У них: очереди, боты, ответ "в течение 24 часов".
😍 У нас: живой, компетентный специалист 24/7. Не бот! Настоящий человек, который РАЗБЕРЕТСЯ. Ответ за минуты. Сложный Kubernetes? Объясним и поможем. Это наш стандарт.
Что вы получаете за меньшие деньги:
1. Та же "начинка": все ключевые технологии (VPC, Kubernetes, S3 и т.д.) — как у топов.
2. Надежность: Tier III, 2FA, шифрование, брандмауэры.
3. Скорость: запуск кластера быстрее доставки пиццы.
4. Простой контроль: интуитивное управление.
5. ГЛАВНОЕ: цена, от которой улыбнетесь + поддержка, которая реально спасает.
"А подвох?" Да нигде!
▶️14 дней БЕСПЛАТНО: протестируйте всё.
▶️БЕСПЛАТНАЯ миграция: перенесем ваши проекты без простоев.
▶️Гарантия возврата: риск — ноль.
‼️ Понравится? Расскажите друзьям! Реферальная программа: за каждого клиента — бонус или скидка. Без мишуры.
Итог: ITENTIS CLOUD = Технологии топов + Честная цена + Человеческая поддержка 24/7.
Хватит переплачивать и ждать ответа! Получите максимум.
👉 Действуйте выгодно:
1. Сравните тарифы: https://itentis.cloud
2. Пишите:
🤖 Telegram-бот: @itentis_bot (Фраза: "Хочу облако дешевле Яндекса!")
✉️ Почта: [email protected]
3. Скажите: "Читал пост про ЭКОНОМИЮ в облаке!" 🚀(Получите бонус!)
4. Присоединяйтесь: https://t.iss.one/+6drq5hdZoRpmMWIy
https://itentis.ru Мощное облако. Честная цена. Люди на связи.
Реклама. ООО "АВАНГАРД", ОГРН 1107746046550, erid: 2VtzqwA4MKj
👍2
👋 Привет, админы!
Нужно было выключить группу компьютеров в конце дня, чтобы не гоняли лишнее электричество. Ручками заходить на каждый - удовольствие ниже среднего, поэтому сразу пошёл через PowerShell.
🔥 Вот скрипт, который пробегает по списку имен и выключает их удалённо:
✅ В файле
💡 Не забудь, чтобы всё сработало, на удалённых ПК должна быть включена служба WMI и разрешён доступ через брандмауэр. И конечно, запускай от имени администратора.
👉 @win_sysadmin
Нужно было выключить группу компьютеров в конце дня, чтобы не гоняли лишнее электричество. Ручками заходить на каждый - удовольствие ниже среднего, поэтому сразу пошёл через PowerShell.
🔥 Вот скрипт, который пробегает по списку имен и выключает их удалённо:
$computers = Get-Content "C:\Scripts\pc_list.txt"
foreach ($pc in $computers) {
try {
Write-Host "Выключаю $pc..." -ForegroundColor Yellow
Stop-Computer -ComputerName $pc -Force -ErrorAction Stop
Write-Host "$pc выключен." -ForegroundColor Green
} catch {
Write-Host "Не удалось выключить $pc: $_" -ForegroundColor Red
}
}
✅ В файле
pc_list.txt - просто список имен или IP адресов, по одному на строку. 💡 Не забудь, чтобы всё сработало, на удалённых ПК должна быть включена служба WMI и разрешён доступ через брандмауэр. И конечно, запускай от имени администратора.
👉 @win_sysadmin
👍10👎1
👋 Привет, админы!
Есть очень простой и полезный трюк, который помогает выявить подозрительные подключения к вашему Windows-серверу - особенно актуально, если сервер доступен извне.
🔥 Проверить активные входящие подключения можно командой:
А чтобы узнать, какой процесс стоит за каждым подключением, дополним это:
📌 Этот способ помогает быстро выявить:
- необычные подключения к RDP или кастомным портам;
- неизвестные процессы, которые “висят” в сети;
- потенциальный бэкдор или троян.
Поставьте это на регулярный мониторинг через таск или скрипт с логом в файл.
👉 @win_sysadmin
Есть очень простой и полезный трюк, который помогает выявить подозрительные подключения к вашему Windows-серверу - особенно актуально, если сервер доступен извне.
🔥 Проверить активные входящие подключения можно командой:
Get-NetTCPConnection -State Established | Where-Object { $_.RemoteAddress -ne '127.0.0.1' } |
Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess |
Sort-Object -Property RemoteAddress
А чтобы узнать, какой процесс стоит за каждым подключением, дополним это:
Get-NetTCPConnection -State Established |
Where-Object { $_.RemoteAddress -ne '127.0.0.1' } |
ForEach-Object {
$proc = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[PSCustomObject]@{
RemoteAddress = $_.RemoteAddress
RemotePort = $_.RemotePort
LocalPort = $_.LocalPort
ProcessName = $proc.ProcessName
PID = $_.OwningProcess
}
} | Sort-Object RemoteAddress
📌 Этот способ помогает быстро выявить:
- необычные подключения к RDP или кастомным портам;
- неизвестные процессы, которые “висят” в сети;
- потенциальный бэкдор или троян.
Поставьте это на регулярный мониторинг через таск или скрипт с логом в файл.
👉 @win_sysadmin
👍14
👋 Привет, админы!
Как быстро понять, кто и когда логинился на сервер или важную машину? Особенно если подозрения на взлом или кто-то заходит в неурочное время (хотя сам так делаю, как правило ночью).
Данный PowerShell-скрипт вытащит логи входа в систему (
📌
📌 Можно заменить на
📌 Или убрать фильтр, чтобы увидеть всё.
Полезно для расследований, мониторинга активности админов, а ещё, если нужно зафиксировать "кто заходил ночью" 😅 (главное на себя не выйти 😂)
👉 @win_sysadmin
Как быстро понять, кто и когда логинился на сервер или важную машину? Особенно если подозрения на взлом или кто-то заходит в неурочное время (хотя сам так делаю, как правило ночью).
Данный PowerShell-скрипт вытащит логи входа в систему (
Event ID 4624) из журнала безопасности:
Get-WinEvent -FilterHashtable @{
LogName = 'Security';
Id = 4624;
StartTime = (Get-Date).AddDays(-1)
} | ForEach-Object {
$xml = [xml]$_.ToXml()
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
AccountName = $xml.Event.EventData.Data | Where-Object {$_.Name -eq "TargetUserName"} | Select-Object -ExpandProperty '#text'
IPAddress = $xml.Event.EventData.Data | Where-Object {$_.Name -eq "IpAddress"} | Select-Object -ExpandProperty '#text'
LogonType = $xml.Event.EventData.Data | Where-Object {$_.Name -eq "LogonType"} | Select-Object -ExpandProperty '#text'
}
} | Where-Object { $_.AccountName -ne "ANONYMOUS LOGON" -and $_.LogonType -eq "10" } | Sort-Object TimeCreated
📌
LogonType = 10 - это удалённый интерактивный вход (RDP). 📌 Можно заменить на
2, если нужен локальный интерактивный логон. 📌 Или убрать фильтр, чтобы увидеть всё.
Полезно для расследований, мониторинга активности админов, а ещё, если нужно зафиксировать "кто заходил ночью" 😅 (главное на себя не выйти 😂)
👉 @win_sysadmin
👍16❤3
👋 Привет, админы!
Сегодня покажу, как быстро найти и перезапустить зависший сервис через PowerShell.
📌Бывают случаи, когда сервис вроде как "работает", статус Running, но по факту не отвечает или не выполняет свои задачи. Такое бывает с агентами резервного копирования, антивирусами и даже SQL Server.
Ниже скрипт, который мне помогает выявить такие "зомби-сервисы" и перезапустить их:
💡 Это особенно полезно на тех серверах, где нет стороннего мониторинга, а время реагирования критично.
👉 @win_sysadmin
Сегодня покажу, как быстро найти и перезапустить зависший сервис через PowerShell.
📌Бывают случаи, когда сервис вроде как "работает", статус Running, но по факту не отвечает или не выполняет свои задачи. Такое бывает с агентами резервного копирования, антивирусами и даже SQL Server.
Ниже скрипт, который мне помогает выявить такие "зомби-сервисы" и перезапустить их:
$serviceName = "Имя_сервиса"
$svc = Get-Service -Name $serviceName
if ($svc.Status -eq "Running") {
$process = Get-WmiObject Win32_Service | Where-Object { $_.Name -eq $serviceName }
if ($process.ProcessId -ne 0) {
Write-Host "Сервис запущен с PID $($process.ProcessId). Перезапускаем..."
Restart-Service -Name $serviceName -Force
} else {
Write-Host "PID не найден. Возможна проблема – проверь вручную!"
}
} else {
Write-Host "Сервис не запущен. Статус: $($svc.Status)"
}
💡 Это особенно полезно на тех серверах, где нет стороннего мониторинга, а время реагирования критично.
👉 @win_sysadmin
👍10
📕 Бэкап для администратора Windows: ошибки, риски и лучшие практики для системных администраторов, инженеров технической поддержки и начинающих IT-специалистов.
На открытом уроке 9 октября в 20:00 мск мы разберем как правильно и эффективно организовать резервное копирование в Windows.
📗 На вебинаре вы:
1. Сможете выбрать подходящую стратегию резервного копирования.
2. Попробуете использовать встроенные инструменты Windows для бэкапа.
📘 В результате на практике разберетесь, как тестировать и проверять работоспособность резервных копий и как отличать надёжный бэкап от «фикции».
👉 Регистрация и подробности о курсе Администратор Windows: https://vk.cc/cQahzf
Все участники открытого урока получат скидку на курс "Администратор Windows"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
На открытом уроке 9 октября в 20:00 мск мы разберем как правильно и эффективно организовать резервное копирование в Windows.
📗 На вебинаре вы:
1. Сможете выбрать подходящую стратегию резервного копирования.
2. Попробуете использовать встроенные инструменты Windows для бэкапа.
📘 В результате на практике разберетесь, как тестировать и проверять работоспособность резервных копий и как отличать надёжный бэкап от «фикции».
👉 Регистрация и подробности о курсе Администратор Windows: https://vk.cc/cQahzf
Все участники открытого урока получат скидку на курс "Администратор Windows"
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👋 Привет, админы!
Как массово проверить статус служб на нескольких серверах?
Причём не просто глянуть, работают или нет, а убедиться, что определённые критически важные сервисы (типа
Ниже собственно скрипт
Удобно, когда нужно быстро прогнать по десятку машин.
👉 @win_sysadmin
Как массово проверить статус служб на нескольких серверах?
Причём не просто глянуть, работают или нет, а убедиться, что определённые критически важные сервисы (типа
w32time, WinRM, TermService) действительно в состоянии Running. Ниже собственно скрипт
$servers = @("server1", "server2", "server3")
$servicesToCheck = @("w32time", "WinRM", "TermService")
foreach ($server in $servers) {
Write-Host "🔍 Проверка $server" -ForegroundColor Cyan
foreach ($service in $servicesToCheck) {
$status = Get-Service -ComputerName $server -Name $service -ErrorAction SilentlyContinue
if ($status.Status -eq 'Running') {
Write-Host "$service: OK" -ForegroundColor Green
} else {
Write-Host "$service: НЕ РАБОТАЕТ!" -ForegroundColor Red
}
}
Write-Host ""
}
Удобно, когда нужно быстро прогнать по десятку машин.
👉 @win_sysadmin
👍12
👋 Привет, админы!
Проверяем, включен ли Secure Boot на машине.
Если вернёт
Хочу напомнить, что Secure Boot - один из базовых элементов защиты от загрузки неподписанных (вредоносных) загрузчиков. Особенно актуально в среде, где есть автозагрузка ISO, PXE или кастомные live-образы.
А чтобы прогнать это по сети - можно использовать PowerShell Remoting:
Либо через
👉 @win_sysadmin
Проверяем, включен ли Secure Boot на машине.
Confirm-SecureBootUEFI
Если вернёт
True - Secure Boot активен. False - выключен. А если вылетает ошибка, значит либо UEFI не используется, либо железо/OS не поддерживают Secure Boot.Хочу напомнить, что Secure Boot - один из базовых элементов защиты от загрузки неподписанных (вредоносных) загрузчиков. Особенно актуально в среде, где есть автозагрузка ISO, PXE или кастомные live-образы.
А чтобы прогнать это по сети - можно использовать PowerShell Remoting:
Invoke-Command -ComputerName SERVER01 -ScriptBlock { Confirm-SecureBootUEFI }
Либо через
Enter-PSSession, если хотите вручную посмотреть на конкретной машине.👉 @win_sysadmin
👍7