👋 Привет, админы!
Из личного опыта: один сервер Windows Server 2019 стал жутко тормозить, при этом процессор был свободен, а памяти хватало. Логично — лезем в
Чтобы быстро найти виновника, я использовал PowerShell:
Эта команда показывает топ процессов по дисковым операциям. У меня оказался какой-то бэкапный агент, который ушёл в бесконечный цикл.
⚡ В таких случаях бывает полезно и вот это:
- чтобы понять, кто именно засирает диск записями.
📌 В итоге отключил глючный сервис, нагрузка упала, сервер ожил.
💬 А вы как мониторите дисковую активность? Используете PowerShell, perfmon, сторонние тулзы вроде iometer, Sysinternals Process Explorer?
👉 @win_sysadmin
Из личного опыта: один сервер Windows Server 2019 стал жутко тормозить, при этом процессор был свободен, а памяти хватало. Логично — лезем в
Resource Monitor и видим: диск забит I/O под завязку.Чтобы быстро найти виновника, я использовал PowerShell:
Get-Process | Sort-Object -Property IOReadBytes -Descending | Select-Object -First 10 Name, Id, IOReadBytes, IOWriteBytes
Эта команда показывает топ процессов по дисковым операциям. У меня оказался какой-то бэкапный агент, который ушёл в бесконечный цикл.
⚡ В таких случаях бывает полезно и вот это:
Get-Process | Sort-Object -Property IOWriteBytes -Descending | Select-Object -First 10 Name, Id, IOWriteBytes
- чтобы понять, кто именно засирает диск записями.
📌 В итоге отключил глючный сервис, нагрузка упала, сервер ожил.
💬 А вы как мониторите дисковую активность? Используете PowerShell, perfmon, сторонние тулзы вроде iometer, Sysinternals Process Explorer?
👉 @win_sysadmin
👍12❤4
👋 Привет, админы!
Однажды произошел интересный случай: Windows Server 2019 начал странно грузить диск - процент активности подскакивает до 100%, а скорость чтения/записи при этом смешная. Сначала подумал на «умирающий» HDD, но диск был SSD и в порядке.
🔍 Виновником оказался Superfetch (SysMain) - служба, которая подгружает часто используемые данные в память. На рабочих станциях это иногда ускоряет запуск приложений, но на сервере с ограниченными ресурсами может наоборот создать узкое место.
📌 Быстро проверить, кто именно грузит диск, можно так:
А отключить SysMain - вот так:
После этого нагрузка сразу упала, сервер задышал нормально.
⚡ Совет: если замечаете постоянные пики дисковой активности без реальной нагрузки - первым делом проверьте службы, а не гоните сразу менять диск.
💬 А у вас было такое, что служебные процессы Windows больше мешали, чем помогали? Какие отключаете в первую очередь?
👉 @win_sysadmin
Однажды произошел интересный случай: Windows Server 2019 начал странно грузить диск - процент активности подскакивает до 100%, а скорость чтения/записи при этом смешная. Сначала подумал на «умирающий» HDD, но диск был SSD и в порядке.
🔍 Виновником оказался Superfetch (SysMain) - служба, которая подгружает часто используемые данные в память. На рабочих станциях это иногда ускоряет запуск приложений, но на сервере с ограниченными ресурсами может наоборот создать узкое место.
📌 Быстро проверить, кто именно грузит диск, можно так:
Get-Process | Sort-Object IOReadBytes, IOWriteBytes -Descending |
Select-Object -First 10 -Property ProcessName, Id, IOReadBytes, IOWriteBytes
А отключить SysMain - вот так:
Stop-Service -Name "SysMain" -Force
Set-Service -Name "SysMain" -StartupType Disabled
После этого нагрузка сразу упала, сервер задышал нормально.
⚡ Совет: если замечаете постоянные пики дисковой активности без реальной нагрузки - первым делом проверьте службы, а не гоните сразу менять диск.
💬 А у вас было такое, что служебные процессы Windows больше мешали, чем помогали? Какие отключаете в первую очередь?
👉 @win_sysadmin
🔥10❤1
Бесплатный урок по Apache Kafka⭐️
Учим работать с реальными исходными данными, а не на теоретических примерах.
✅Расскажем про язык Кафки: топики, партиции, продюсеры-консьюмеры, кластер, ноды.
✅Рассмотрим: как работают очереди сообщений, сколько должно быть консьюмеров для эффективной вычитки, как повысить надёжность кластера с помощью репликации данных.
✅Покажем, как развернуть кластер Кафки на своём ПК с 3 нодами, schema-registry и авторизацией.
Обычно в инструкциях кластер из 1 ноды, зукипера и 1 брокера, но это не наш путь, смотрим сразу на практике.
Забрать урок👉🏻в боте
Учим работать с реальными исходными данными, а не на теоретических примерах.
✅Расскажем про язык Кафки: топики, партиции, продюсеры-консьюмеры, кластер, ноды.
✅Рассмотрим: как работают очереди сообщений, сколько должно быть консьюмеров для эффективной вычитки, как повысить надёжность кластера с помощью репликации данных.
✅Покажем, как развернуть кластер Кафки на своём ПК с 3 нодами, schema-registry и авторизацией.
Обычно в инструкциях кластер из 1 ноды, зукипера и 1 брокера, но это не наш путь, смотрим сразу на практике.
Забрать урок👉🏻в боте
❤3
👋 Привет, админы!
На работе как-то столкнулся с интересным случаем, Windows Server начал вести себя странно - пользователи жалуются, что вход по RDP занимает целую вечность. Сервисы работают, сеть стабильная, но авторизация тупит жутко.
Оказалось, что дело в перегруженном профиле пользователя. Когда в профиле копятся гигабайты мусора (кэш браузеров, временные файлы, старые AppData), система тратит уйму времени на его прогрузку.
🔥 Быстро посмотреть размеры профилей можно через PowerShell:
Эта команда выдаст список профилей и их размер в гигабайтах. Очень наглядно видно, чей профиль «разжирел» и тормозит загрузку.
✅ Решение простое: либо чистим профиль, либо выносим тяжелые данные на сетевые диски. В особо запущенных случаях - удаляем и создаем новый профиль (но аккуратно, чтобы пользователь не потерял важное).
💬 А у вас были такие ситуации? Как боретесь с раздутыми профилями - руками, GPO или сторонними тулзами?
👉 @win_sysadmin
На работе как-то столкнулся с интересным случаем, Windows Server начал вести себя странно - пользователи жалуются, что вход по RDP занимает целую вечность. Сервисы работают, сеть стабильная, но авторизация тупит жутко.
Оказалось, что дело в перегруженном профиле пользователя. Когда в профиле копятся гигабайты мусора (кэш браузеров, временные файлы, старые AppData), система тратит уйму времени на его прогрузку.
🔥 Быстро посмотреть размеры профилей можно через PowerShell:
Get-CimInstance Win32_UserProfile |
Select-Object LocalPath,@{Name="SizeGB";Expression={"{0:N2}" -f (($_.GetDiskUsage().Size)/1GB)}} |
Sort-Object SizeGB -Descending |
Out-GridView
Эта команда выдаст список профилей и их размер в гигабайтах. Очень наглядно видно, чей профиль «разжирел» и тормозит загрузку.
✅ Решение простое: либо чистим профиль, либо выносим тяжелые данные на сетевые диски. В особо запущенных случаях - удаляем и создаем новый профиль (но аккуратно, чтобы пользователь не потерял важное).
💬 А у вас были такие ситуации? Как боретесь с раздутыми профилями - руками, GPO или сторонними тулзами?
👉 @win_sysadmin
👍8🔥4🤔3
👋 Привет, админы!
Сегодня вспомнил еще один кейс, пользователи жаловались, что RDP подключение стало "подвисать" или разрывается, а на сервере при этом всё вроде бы нормально.
🔥 Быстрый способ проверить, кто сейчас подключен по RDP и откуда, - это команда:
Она покажет список активных сессий, пользователей и их состояния.
Если хочется автоматизировать и видеть больше деталей (например, IP-адреса подключений), то можно использовать PowerShell:
А если нужно посмотреть, с какого IP-шника юзер коннектится, то тут уже помогает журнал событий:
👉 @win_sysadmin
Сегодня вспомнил еще один кейс, пользователи жаловались, что RDP подключение стало "подвисать" или разрывается, а на сервере при этом всё вроде бы нормально.
🔥 Быстрый способ проверить, кто сейчас подключен по RDP и откуда, - это команда:
quser
Она покажет список активных сессий, пользователей и их состояния.
Если хочется автоматизировать и видеть больше деталей (например, IP-адреса подключений), то можно использовать PowerShell:
Get-CimInstance Win32_LogonSession -Filter "LogonType = 10" |
ForEach-Object {
$logon = $_
Get-CimAssociatedInstance -InputObject $logon -ResultClassName Win32_LoggedOnUser |
ForEach-Object {
[PSCustomObject]@{
User = $_.Antecedent.Name
Domain = $_.Antecedent.Domain
LogonId = $logon.LogonId
StartTime = $logon.StartTime
}
}
}
А если нужно посмотреть, с какого IP-шника юзер коннектится, то тут уже помогает журнал событий:
Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational" |
Where-Object { $_.Id -eq 1149 } |
Select-Object TimeCreated, @{n='User';e={$_.Properties[1].Value}}, @{n='IP';e={$_.Properties[2].Value}} |
Sort-Object TimeCreated -Descending | Select-Object -First 10
👉 @win_sysadmin
🔥10👍7
👋 Привет, админы!
Мини-лайфхак из области hardening. Один из первых шагов при проверке безопасности сервера - убедиться, что в локальной группе Administrators нет лишних пользователей. Иногдп туда "по ошибке" добавляют кого угодно - от сервисных аккаунтов до обычных юзеров.
🛠️ Проверить состав группы можно так:
Команда сразу покажет всех участников: локальных пользователей, группы и даже доменные аккаунты, если машина в AD.
Для быстрой проверки в доменной среде удобно прогнать скрипт сразу по всем серверам:
Так можно сразу отловить "левые" учётки на всех узлах.
💡Добавьте регулярный аудит этой группы в свои скрипты мониторинга или через GPO/Defender for Identity. Часто именно здесь прячется backdoor.
👉 @win_sysadmin
Мини-лайфхак из области hardening. Один из первых шагов при проверке безопасности сервера - убедиться, что в локальной группе Administrators нет лишних пользователей. Иногдп туда "по ошибке" добавляют кого угодно - от сервисных аккаунтов до обычных юзеров.
🛠️ Проверить состав группы можно так:
Get-LocalGroupMember -Group "Administrators"
Команда сразу покажет всех участников: локальных пользователей, группы и даже доменные аккаунты, если машина в AD.
Для быстрой проверки в доменной среде удобно прогнать скрипт сразу по всем серверам:
$servers = @("srv01","srv02","srv03")
foreach ($s in $servers) {
Invoke-Command -ComputerName $s -ScriptBlock {
Write-Host "===== $env:COMPUTERNAME ====="
Get-LocalGroupMember -Group "Administrators"
}
}
Так можно сразу отловить "левые" учётки на всех узлах.
💡Добавьте регулярный аудит этой группы в свои скрипты мониторинга или через GPO/Defender for Identity. Часто именно здесь прячется backdoor.
👉 @win_sysadmin
👍7❤1
👋 Привет, админы!
Про RDP-подключение. Пользователь жаловался: "Не могу зайти на сервер, пишет, что компьютер недоступен". Ну классика жанра 🙂
Первым делом я всегда проверяю - доступен ли порт 3389. Самый быстрый способ:
Если порт закрыт — либо фаервол, либо служба RDP не стартовала. Проверяем:
Если статус
А бывает ещё подстава: на сервере включён RDP, но Network Level Authentication (NLA) ломает вход. Тогда в свойствах системы нужно временно снять галочку "Разрешить подключения только с компьютеров с проверкой подлинности на уровне сети".
🔥 Лайфхак: когда не уверен, что RDP жив, можно с клиента быстро дернуть:
И сразу видно - запускается сессия или нет.
💬 Коллеги, а у вас какая самая "подлая" причина падения RDP встречалась? Может, сертификаты, шифрование или GPO? Делитесь историями!
👉 @win_sysadmin
Про RDP-подключение. Пользователь жаловался: "Не могу зайти на сервер, пишет, что компьютер недоступен". Ну классика жанра 🙂
Первым делом я всегда проверяю - доступен ли порт 3389. Самый быстрый способ:
Test-NetConnection -ComputerName server01 -Port 3389
Если порт закрыт — либо фаервол, либо служба RDP не стартовала. Проверяем:
Get-Service -Name TermService
Если статус
Stopped, то поднимаем:
Start-Service -Name TermService
А бывает ещё подстава: на сервере включён RDP, но Network Level Authentication (NLA) ломает вход. Тогда в свойствах системы нужно временно снять галочку "Разрешить подключения только с компьютеров с проверкой подлинности на уровне сети".
🔥 Лайфхак: когда не уверен, что RDP жив, можно с клиента быстро дернуть:
mstsc /v:server01
И сразу видно - запускается сессия или нет.
💬 Коллеги, а у вас какая самая "подлая" причина падения RDP встречалась? Может, сертификаты, шифрование или GPO? Делитесь историями!
👉 @win_sysadmin
👍8🔥2❤1
🇷🇺 100% российская разработка
INFRAX — платформа all-in-one для управления ИТ-инфраструктурой:
✅ Мониторинг инфраструктуры (ITOM)
✅ Удаленный доступ для сотрудников и привилегированных пользователей
✅ Обработка заявок пользователей (ServiceDesk)
✅ База знаний с разграничением доступа к категориям (публичные и закрытые)
✅ Автоматизация (скрипты и планировщик)
✅ Контроль привилегированных пользователей. Видеозапись сессий RDP/SSH/VNC. (PAM)
✅ Управление доступами. Доступ ко всем корпоративным сервисам через одну учетку (IAM)
БЕСПЛАТНО до 100 пользователей! 🎁
👉 Попробовать INFRAX
Реклама. ООО «АУДИТ-ТЕЛЕКОМ», ОГРН 1167746696776, erid: 2Vtzqv8Ag74
INFRAX — платформа all-in-one для управления ИТ-инфраструктурой:
✅ Мониторинг инфраструктуры (ITOM)
✅ Удаленный доступ для сотрудников и привилегированных пользователей
✅ Обработка заявок пользователей (ServiceDesk)
✅ База знаний с разграничением доступа к категориям (публичные и закрытые)
✅ Автоматизация (скрипты и планировщик)
✅ Контроль привилегированных пользователей. Видеозапись сессий RDP/SSH/VNC. (PAM)
✅ Управление доступами. Доступ ко всем корпоративным сервисам через одну учетку (IAM)
БЕСПЛАТНО до 100 пользователей! 🎁
👉 Попробовать INFRAX
Реклама. ООО «АУДИТ-ТЕЛЕКОМ», ОГРН 1167746696776, erid: 2Vtzqv8Ag74
❤2👎2
👋 Всем админам доброго вечера!
Бывает такое, что сервер достался “по наследству”, всё вроде работает, но внутри - куча сюрпризов. Один из самых частых - в локальных администраторах сидят учётки, о которых никто и не помнит.
🔥 Для быстрой диагностики можно прогнать вот такой скрипт:
Здесь сразу видно: это локальный пользователь, доменный, или кто-то притащен через группу. Поле
А если нужно найти только “подозрительных” локальных юзеров, можно сделать так:
👌 Очень полезно проверять такие вещи на серверах после изменений или перед аудитом безопасности. У меня однажды всплыл старый техаккаунт с правами админа, который никто не использовал уже несколько лет.
👉 @win_sysadmin
Бывает такое, что сервер достался “по наследству”, всё вроде работает, но внутри - куча сюрпризов. Один из самых частых - в локальных администраторах сидят учётки, о которых никто и не помнит.
🔥 Для быстрой диагностики можно прогнать вот такой скрипт:
$admins = Get-LocalGroupMember -Group "Administrators"
$admins | Select-Object Name, ObjectClass, PrincipalSource
Здесь сразу видно: это локальный пользователь, доменный, или кто-то притащен через группу. Поле
PrincipalSource подскажет, откуда взялся доступ.А если нужно найти только “подозрительных” локальных юзеров, можно сделать так:
$admins | Where-Object { $_.ObjectClass -eq 'User' -and $_.PrincipalSource -eq 'Local' }
👌 Очень полезно проверять такие вещи на серверах после изменений или перед аудитом безопасности. У меня однажды всплыл старый техаккаунт с правами админа, который никто не использовал уже несколько лет.
👉 @win_sysadmin
👍10🔥6
👋 Привет, админы!
Нашел интересную статью, делюсь!
Примеры скриптов PowerShell для системного администрирования
Темы:
Управление дисками и файлами
Настройка текущего расположения (Set-Location)
Сохранение и отзыв последних расположений (Push-Location и Pop-Location)
Работа с файлами и папками. Получение списка файлов и папок, содержащихся в папке.
Копирование файлов и папок
Создание файлов и папок
Удаление всех файлов и папок, содержащихся в папке
Подключение локальной папки как диска
Чтение текстового файла в массив
Работа с файлами, папками и разделами реестра
Перечисление файлов, папок и разделов реестра (Get-ChildItem)
Перечисление всех элементов в контейнере (-Recurse)
Фильтрация элементов по имени (-Name)
Принудительное перечисление скрытых элементов (-Force)
Сопоставление имен элементов с подстановочными знаками
Исключение элементов (-Exclude)
Смешение параметров Get-ChildItem
Работа с записями реестра. Создание списков записей реестра.
Получение одной записи реестра
Настройка одной записи реестра
Создание новых записей реестра
Переименование записей реестра
Удаление записей реестра
https://bookflow.ru/primery-skriptov-powershell-dlya-sistemnogo-administrirovaniya/
👉 @win_sysadmin
Нашел интересную статью, делюсь!
Примеры скриптов PowerShell для системного администрирования
Темы:
Управление дисками и файлами
Настройка текущего расположения (Set-Location)
Сохранение и отзыв последних расположений (Push-Location и Pop-Location)
Работа с файлами и папками. Получение списка файлов и папок, содержащихся в папке.
Копирование файлов и папок
Создание файлов и папок
Удаление всех файлов и папок, содержащихся в папке
Подключение локальной папки как диска
Чтение текстового файла в массив
Работа с файлами, папками и разделами реестра
Перечисление файлов, папок и разделов реестра (Get-ChildItem)
Перечисление всех элементов в контейнере (-Recurse)
Фильтрация элементов по имени (-Name)
Принудительное перечисление скрытых элементов (-Force)
Сопоставление имен элементов с подстановочными знаками
Исключение элементов (-Exclude)
Смешение параметров Get-ChildItem
Работа с записями реестра. Создание списков записей реестра.
Получение одной записи реестра
Настройка одной записи реестра
Создание новых записей реестра
Переименование записей реестра
Удаление записей реестра
https://bookflow.ru/primery-skriptov-powershell-dlya-sistemnogo-administrirovaniya/
Если у вас есть свои интересные ресурсы, просьба накидать к этому посту в комменты.👉 @win_sysadmin
👍8❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Где будет всё ИТ-комьюнити этой осенью?
На IT Elements! Конференции, сделанной айтишниками для айтишников.
10–11 сентября площадка в третий раз станет точкой притяжения тех, кто реально делает ИТ в России. В этом году в фокусе — критически важные направления отрасли: инфраструктура, сети и кибербезопасность, а также данные и AI/ML.
Тематические треки:
▪️Инфраструктура: антихрупкость в архитектуре, инфраструктура для ИИ, отечественные решения, защита, стратегии, ключевые платформы (гибридные облака, БД, хранилища), контейнеры и Kubernetes.
▪️Сети: будущее сетей, сервис, ЦОДы для ИИ, VXLAN, балансировка, UC, управление.
▪️Кибербезопасность: киберустойчивость, импортозамещение NGFW, безопасная разработка, управление уязвимостями, мониторинг инцидентов, киберучения.
▪️Данные и ИИ: Data-driven-инфраструктура, миграция на LakeHouse, Big Data, автоматизация разработки, MES-оптимизация, корпоративные GPT-ассистенты и агенты, ESM-системы.
Формат: офлайн в Москве или онлайн.
Участие бесплатное, по предварительной регистрации.
На IT Elements! Конференции, сделанной айтишниками для айтишников.
10–11 сентября площадка в третий раз станет точкой притяжения тех, кто реально делает ИТ в России. В этом году в фокусе — критически важные направления отрасли: инфраструктура, сети и кибербезопасность, а также данные и AI/ML.
Тематические треки:
▪️Инфраструктура: антихрупкость в архитектуре, инфраструктура для ИИ, отечественные решения, защита, стратегии, ключевые платформы (гибридные облака, БД, хранилища), контейнеры и Kubernetes.
▪️Сети: будущее сетей, сервис, ЦОДы для ИИ, VXLAN, балансировка, UC, управление.
▪️Кибербезопасность: киберустойчивость, импортозамещение NGFW, безопасная разработка, управление уязвимостями, мониторинг инцидентов, киберучения.
▪️Данные и ИИ: Data-driven-инфраструктура, миграция на LakeHouse, Big Data, автоматизация разработки, MES-оптимизация, корпоративные GPT-ассистенты и агенты, ESM-системы.
Формат: офлайн в Москве или онлайн.
Участие бесплатное, по предварительной регистрации.
❤1👍1
👋 Привет, админы!
На днях поймал «скрытый» источник проблем: сервер вроде живой, патчи ставятся, но после обновлений часть софта ведёт себя странно. Виновник - ожидающая перезагрузка (pending reboot), про которую забыли. Решил поделиться быстрой проверкой по паре десятков машин.
🔥 Функция PowerShell, которая показывает признаки pending reboot локально или удалённо (через WinRM):
⚙️ Пример использования по списку серверов и экспорт в отчёт:
💡Аккуратный перезапуск только тех, у кого
Итог: такой мини-аудит часто спасает от «мистики» после патчей и помогает планировать окна на рестарт.
💬 А вы как отслеживаете pending reboot в проде - через Zabbix/PRTG, скриптами по расписанию или отдаёте это WSUS/Intune? Поделитесь практикой!
👉 @win_sysadmin
На днях поймал «скрытый» источник проблем: сервер вроде живой, патчи ставятся, но после обновлений часть софта ведёт себя странно. Виновник - ожидающая перезагрузка (pending reboot), про которую забыли. Решил поделиться быстрой проверкой по паре десятков машин.
🔥 Функция PowerShell, которая показывает признаки pending reboot локально или удалённо (через WinRM):
function Test-PendingReboot {
[CmdletBinding()]
param(
[string[]]$ComputerName = $env:COMPUTERNAME
)
Invoke-Command -ComputerName $ComputerName -ScriptBlock {
$cbs = Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending'
$wu = Test-Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\RebootRequired'
$pfr = (Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' `
-Name 'PendingFileRenameOperations' -ErrorAction SilentlyContinue
).PendingFileRenameOperations
$pendingFile = ($pfr -is [array] -and $pfr.Count -gt 0) -or ($pfr -is [string] -and $pfr.Length -gt 0)
$rename = (Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName' `
-Name 'ComputerName' -ErrorAction SilentlyContinue
).ComputerName -ne
(Get-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName' `
-Name 'ComputerName' -ErrorAction SilentlyContinue
).ComputerName
[PSCustomObject]@{
ComputerName = $env:COMPUTERNAME
CBS = $cbs
WindowsUpdate = $wu
PendingFile = $pendingFile
Rename = $rename
Pending = $cbs -or $wu -or $pendingFile -or $rename
}
} | Sort-Object Pending -Descending, ComputerName
}
⚙️ Пример использования по списку серверов и экспорт в отчёт:
$servers = 'srv01','srv02','srv03'
Test-PendingReboot -ComputerName $servers |
Tee-Object -FilePath .\PendingReboot.csv
💡Аккуратный перезапуск только тех, у кого
Pending -eq $true (сначала обязательно с -WhatIf!):
$toReboot = Test-PendingReboot -ComputerName $servers | Where-Object Pending
$toReboot.ComputerName | Restart-Computer -Force -Wait -For PowerShell -Timeout 600 -Delay 5 -WhatIf
Итог: такой мини-аудит часто спасает от «мистики» после патчей и помогает планировать окна на рестарт.
💬 А вы как отслеживаете pending reboot в проде - через Zabbix/PRTG, скриптами по расписанию или отдаёте это WSUS/Intune? Поделитесь практикой!
👉 @win_sysadmin
🔥9👍6
🗓 10 сентября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «CI/CD на основе GitLab».
🎯 На вебинаре разберем:
👥 Кому будет интересно:
- Начинающим DevOps-инженерам — вы получите базовое понимание архитектуры GitLab и научитесь разворачивать его под разные задачи
- DevOps-практикам, которые уже используют GitLab и хотят повысить стабильность и отказоустойчивость
- Инженерам по внедрению CI/CD, которым важно понять, как масштабировать GitLab в корпоративной среде
🎯 Что вы получите:
- Понимание, как развернуть GitLab оптимально под свои задачи
- Понимание, как правильно выбрать среду (Docker vs Kubernetes) для развёртывания
- Практические советы по стабильности, резервированию и отказоустойчивости GitLab-инсталляций
🔗 Ссылка на регистрацию: https://vk.cc/cPbfM7
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👋 Привет, админы!
Недавно был случай: RDP сессия вроде поднимается, но сразу выкидывает ошибку. Пользователь уверен, что "сервер умер", но на деле виновата была… сетевая политика шифрования.
Когда возникают такие проблемы, я начинаю с базовой диагностики:
1️⃣ Проверяю, что на сервере реально включен RDP:
Если вернёт
2️⃣ Проверяю, не задушил ли доступ фаервол:
Все правила должны быть включены (
3️⃣ И финальная проверка - соответствует ли клиент требуемому уровню шифрования. Иногда помогает понизить уровень на сервере:
(где
🔥 Итог: в моём случае стояло
💬 А у вас часто встречаются проблемы именно из-за криптополитик и сертификатов при RDP? Или в проде сразу подкручиваете свои шаблоны GPO?
👉 @win_sysadmin
Недавно был случай: RDP сессия вроде поднимается, но сразу выкидывает ошибку. Пользователь уверен, что "сервер умер", но на деле виновата была… сетевая политика шифрования.
Когда возникают такие проблемы, я начинаю с базовой диагностики:
1️⃣ Проверяю, что на сервере реально включен RDP:
(Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server").fDenyTSConnections
Если вернёт
1 - значит подключения запрещены. Лечим так:
Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name fDenyTSConnections -Value 0
2️⃣ Проверяю, не задушил ли доступ фаервол:
Get-NetFirewallRule -DisplayGroup "Remote Desktop"
Все правила должны быть включены (
Enabled : True).3️⃣ И финальная проверка - соответствует ли клиент требуемому уровню шифрования. Иногда помогает понизить уровень на сервере:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name SecurityLayer -Value 1
(где
0 – без шифрования, 1 – RDP Security Layer, 2 – SSL).🔥 Итог: в моём случае стояло
2 (SSL), а сертификат был битый. Переключил на 1, и вход сразу заработал.💬 А у вас часто встречаются проблемы именно из-за криптополитик и сертификатов при RDP? Или в проде сразу подкручиваете свои шаблоны GPO?
👉 @win_sysadmin
👍11❤2🔥2
👋 Привет, админы!
Накидал быстрый чек-скриптl, который опрашивает хосты/порты и показывает, когда сертификат сгорит.
Быстрый чек одного хоста
Скан нескольких целей + статус
Плюс: можно крутить по расписанию в Task Scheduler и слать уведомления, если
👉 @win_sysadmin
Накидал быстрый чек-скриптl, который опрашивает хосты/порты и показывает, когда сертификат сгорит.
Быстрый чек одного хоста
$HostName = 'site.contoso.com'
$Port = 443
$tcp = [Net.Sockets.TcpClient]::new($HostName, $Port)
$ssl = [Net.Security.SslStream]::new($tcp.GetStream(), $false, { $true })
$ssl.AuthenticateAsClient($HostName)
$cert = [Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate)
[pscustomobject]@{
Host = $HostName
Port = $Port
Subject = $cert.Subject
NotAfter = $cert.NotAfter
DaysLeft = [math]::Floor(($cert.NotAfter - (Get-Date)).TotalDays)
}
$ssl.Dispose(); $tcp.Close()
Скан нескольких целей + статус
$targets = @(
'site1.contoso.com:443',
'mail.contoso.com:993',
'rdgw.contoso.com:443'
)
$result = foreach ($t in $targets) {
$host,$port = $t.Split(':',2)
try {
$tcp = [Net.Sockets.TcpClient]::new($host,[int]$port)
$ssl = [Net.Security.SslStream]::new($tcp.GetStream(), $false, { $true })
$ssl.AuthenticateAsClient($host)
$cert = [Security.Cryptography.X509Certificates.X509Certificate2]::new($ssl.RemoteCertificate)
$days = [math]::Floor(($cert.NotAfter - (Get-Date)).TotalDays)
[pscustomobject]@{
Host = $host
Port = [int]$port
CN = $cert.GetNameInfo('SimpleName',$false)
NotAfter = $cert.NotAfter
DaysLeft = $days
Status = if ($days -le 14) { '🔥 expiring ≤14d' }
elseif ($days -le 30) { '⚠️ <30d' }
else { '✅ ok' }
}
}
catch {
[pscustomobject]@{
Host=$host; Port=[int]$port; CN=$null; NotAfter=$null; DaysLeft=$null
Status="❌ error: $($_.Exception.Message)"
}
}
finally {
if ($ssl) { $ssl.Dispose() }
if ($tcp) { $tcp.Close() }
}
}
$result | Sort-Object DaysLeft | Format-Table -AutoSize
# Для отчёта:
# $result | Export-Csv .\tls_report.csv -NoTypeInformation -Encoding UTF8
Плюс: можно крутить по расписанию в Task Scheduler и слать уведомления, если
DaysLeft ≤ 30. Спасает от «неожиданных» падений продакшна.👉 @win_sysadmin
👍9❤1
👋 Привет, админы!
Сегодня хочу поделиться полезным набором приёмов из PowerShell, которые помогают собирать информацию о компьютерах в сети. Часто это нужно при инвентаризации, аудитах или когда приходится быстро проверить состояние сразу нескольких машин.
🔥 Пример базового скрипта для сбора информации:
👉 Такой скрипт выдаст:
- имя и модель ПК,
- производителя,
- объём RAM,
- версию ОС, разрядность,
- время последней загрузки.
💡 Если нужно массово собирать данные, удобнее результаты складывать в CSV:
В итоге получаем аккуратный файл с данными по всем машинам, который можно открыть в Excel и фильтровать по любым параметрам.
💬 А как вы ведёте инвентаризацию парка машин? Excel, CMDB, Intune, SCCM или свои самописные скрипты?
👉 @win_sysadmin
Сегодня хочу поделиться полезным набором приёмов из PowerShell, которые помогают собирать информацию о компьютерах в сети. Часто это нужно при инвентаризации, аудитах или когда приходится быстро проверить состояние сразу нескольких машин.
🔥 Пример базового скрипта для сбора информации:
$computers = "PC1","PC2","PC3"
foreach ($c in $computers) {
Write-Host "Собираю данные с $c..."
Get-WmiObject -Class Win32_ComputerSystem -ComputerName $c |
Select-Object Name, Manufacturer, Model, TotalPhysicalMemory
Get-WmiObject -Class Win32_OperatingSystem -ComputerName $c |
Select-Object Caption, Version, OSArchitecture, LastBootUpTime
}
👉 Такой скрипт выдаст:
- имя и модель ПК,
- производителя,
- объём RAM,
- версию ОС, разрядность,
- время последней загрузки.
💡 Если нужно массово собирать данные, удобнее результаты складывать в CSV:
$results = foreach ($c in $computers) {
Get-WmiObject -Class Win32_OperatingSystem -ComputerName $c |
Select-Object PSComputerName, Caption, Version, LastBootUpTime
}
$results | Export-Csv "C:\Temp\computers.csv" -NoTypeInformation -Encoding UTF8
В итоге получаем аккуратный файл с данными по всем машинам, который можно открыть в Excel и фильтровать по любым параметрам.
💬 А как вы ведёте инвентаризацию парка машин? Excel, CMDB, Intune, SCCM или свои самописные скрипты?
👉 @win_sysadmin
👍10🔥3
Канал про 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