ar
Feedback
Системный Администратор Windows

Системный Администратор Windows

الذهاب إلى القناة على Telegram

🖥️ Windows для системных администраторов: управление, оптимизация, безопасность. Полезные советы, лайфхаки, PowerShell-скрипты, автоматизация и практические решения для работы с серверами и рабочими станциями. Авторский канал.

إظهار المزيد
3 086
المشتركون
لا توجد بيانات24 ساعات
-77 أيام
-830 أيام

جاري تحميل البيانات...

القنوات المماثلة
لا توجد بيانات
هل تواجه مشاكل؟ يرجى تحديث الصفحة أو الاتصال بمدير الدعم الخاص بنا.
الإشارات الواردة والصادرة
---
---
---
---
---
---
جذب المشتركين
يونيو '26
يونيو '26
+7
في 0 قنوات
مايو '26
+39
في 0 قنوات
Get PRO
أبريل '26
+51
في 0 قنوات
Get PRO
مارس '26
+49
في 2 قنوات
Get PRO
فبراير '26
+70
في 0 قنوات
Get PRO
يناير '26
+86
في 1 قنوات
Get PRO
ديسمبر '25
+117
في 1 قنوات
Get PRO
نوفمبر '25
+248
في 33 قنوات
Get PRO
أكتوبر '25
+167
في 4 قنوات
Get PRO
سبتمبر '25
+279
في 37 قنوات
Get PRO
أغسطس '25
+160
في 3 قنوات
Get PRO
يوليو '25
+289
في 28 قنوات
Get PRO
يونيو '25
+316
في 21 قنوات
Get PRO
مايو '25
+424
في 45 قنوات
Get PRO
أبريل '25
+466
في 39 قنوات
Get PRO
مارس '25
+1 436
في 39 قنوات
التاريخ
نمو المشتركين
الإشارات
القنوات
10 يونيو0
09 يونيو+1
08 يونيو0
07 يونيو+1
06 يونيو+1
05 يونيو0
04 يونيو0
03 يونيو+1
02 يونيو+1
01 يونيو+2
منشورات القناة
👋 Привет, админы! Нужно было настроить автологин для одного стендового сервера в изолированной сети - без домена, без пользователей, просто чтобы поднимался нужный софт после перезагрузки. Решается это через редактирование реестра:

$RegPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
Set-ItemProperty -Path $RegPath -Name "AutoAdminLogon" -Value "1"
Set-ItemProperty -Path $RegPath -Name "DefaultUsername" -Value "UserName"
Set-ItemProperty -Path $RegPath -Name "DefaultPassword" -Value "UserPassword"
Set-ItemProperty -Path $RegPath -Name "DefaultDomainName" -Value "$env:COMPUTERNAME"
⚠️ Обратите внимание: пароль хранится в открытом виде в реестре (DefaultPassword), поэтому использовать это стоит только в безопасной среде. 🛡️ Есть ещё один способ - через netplwiz, но он не автоматизируется скриптами. А если хотите чуть безопаснее — можно использовать специальные учетные записи без доступа к сети и минимальными правами. 🔄 После внесения изменений — либо ребут, либо shutdown /r /t 0 для применения. 👉 @win_sysadmin

2
👋 Привет, админы! Как массово проверить статус служб на нескольких серверах? Причём не просто глянуть, работают или нет, а убедиться, что определённые критически важные сервисы (типа 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
490
3
👋 Привет, админы! Сегодня покажу, как быстро найти и перезапустить зависший сервис через 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
752
4
👋 Привет, админы! Как быстро понять, кто и когда логинился на сервер или важную машину? Особенно если подозрения на взлом или кто-то заходит в неурочное время (хотя сам так делаю, как правило ночью). Данный 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
876
5
👋 Привет, админы! Есть очень простой и полезный трюк, который помогает выявить подозрительные подключения к вашему 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
1 036
6
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
742
7
👋 Привет, админы! Нужно было выключить группу компьютеров в конце дня, чтобы не гоняли лишнее электричество. Ручками заходить на каждый - удовольствие ниже среднего, поэтому сразу пошёл через 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
796
8
👋 Привет, админы! Недавно нужно было срочно найти, кто и когда отключил службу 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
1 057
9
👋 Привет, админы! В небольших организациях часто бывает так: компьютер списали, из домена вывели, а учетку в 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 = "report@yourdomain.local" $to = "admin@yourdomain.local" $subject = "Отчет: Устаревшие учетные записи компьютеров" $body = "Во вложении список компьютеров, не входивших в домен более $days дней." # Отправка письма Send-MailMessage -From $from -To $to -Subject $subject -Body $body -SmtpServer $smtpServer -Attachments $exportPath ✅ Идеально запускать такой скрипт по расписанию через Task Scheduler раз в месяц! 👉 @win_sysadmin
1 213
10
👋 Привет, админы! Сегодня разберем скрытых пожирателей ресурсов в 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
1 180
11
👋 Привет, админы! Сегодня разберем одну из самых неприятных ситуаций – когда пользователи жалуются, что их учетные записи бл
👋 Привет, админы! Сегодня разберем одну из самых неприятных ситуаций – когда пользователи жалуются, что их учетные записи блокируются без видимых причин. Разбираешься в логах – а там Event ID 4740 с минимумом информации. Что делать? 🔥 PowerShell спасает! Вот скрипт, который поможет быстро найти источник блокировки: $LockedUser = "user@domain.com" # Замените на нужный аккаунт 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
1 061
12
👋 Всем админам доброго утра! Сегодня разберем автоматическое обновление групповых политик (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
1 013
13
👋 Всем админам доброго вечера! Продолжаю тему теневых копий в 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
897
14
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы
668
15
👋 Админы, всем доброго понедельника! Сегодня напомню про недооценённый инструмент - 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
0
16
👋 Привет, админы! Сегодня расскажу о небольшом, но полезном трюке для мониторинга дисков в 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
0
17
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии 📌 https://max.ru/progjob Вакансии в IT Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Бонус 📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы
0
18
👋 Всем админам доброго вечера! Сегодня поделюсь приёмом, который реально спасает, когда пользователи жалуются на «медленный интернет» или «сетевые лаги». Чаще всего виноват вовсе не провайдер, а перегруженные сетевые интерфейсы на самом сервере. 🔥 Проверить статистику адаптеров можно так: 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
0
19
👋 Привет, админы! Сегодня хочу поделиться полезным набором приёмов из 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
0
20
👋 Привет, админы! Накидал быстрый чек-скрипт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
0