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

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

رفتن به کانال در Telegram

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

نمایش بیشتر
3 087
مشترکین
-124 ساعت
-67 روز
-830 روز
آرشیو پست ها
👋 Привет, админы! Нужно было настроить автологин для одного стендового сервера в изолированной сети - без домена, без пользователей, просто чтобы поднимался нужный софт после перезагрузки. Решается это через редактирование реестра:

$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

👋 Привет, админы! Проверяем, включен ли 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

👋 Привет, админы! Как массово проверить статус служб на нескольких серверах? Причём не просто глянуть, работают или нет, а убедиться, что определённые критически важные сервисы (типа 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

📕 Бэкап для администратора Windows: ошибки, риски и лучшие практики для системных администраторов, инженеров технической под
📕 Бэкап для администратора Windows: ошибки, риски и лучшие практики для системных администраторов, инженеров технической поддержки и начинающих IT-специалистов. На открытом уроке 9 октября в 20:00 мск мы разберем как правильно и эффективно организовать резервное копирование в Windows. 📗 На вебинаре вы: 1. Сможете выбрать подходящую стратегию резервного копирования. 2. Попробуете использовать встроенные инструменты Windows для бэкапа. 📘 В результате на практике разберетесь, как тестировать и проверять работоспособность резервных копий и как отличать надёжный бэкап от «фикции». 👉 Регистрация и подробности о курсе Администратор Windows: https://vk.cc/cQahzf Все участники открытого урока получат скидку на курс "Администратор Windows" Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

👋 Привет, админы! Сегодня покажу, как быстро найти и перезапустить зависший сервис через 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

👋 Привет, админы! Как быстро понять, кто и когда логинился на сервер или важную машину? Особенно если подозрения на взлом или кто-то заходит в неурочное время (хотя сам так делаю, как правило ночью). Данный 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

👋 Привет, админы! Есть очень простой и полезный трюк, который помогает выявить подозрительные подключения к вашему 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

👋 Привет, админы! Нужно было выключить группу компьютеров в конце дня, чтобы не гоняли лишнее электричество. Ручками заходить на каждый - удовольствие ниже среднего, поэтому сразу пошёл через 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

Облако ITENTIS CLOUD: технологии топов, цена без наценки (и живая поддержка!) Нашли брендовую вещь в надежном маркете на 30%
Облако 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 (Фраза: "Хочу облако дешевле Яндекса!") ✉️ Почта: sales@itentis.ru 3. Скажите: "Читал пост про ЭКОНОМИЮ в облаке!" 🚀(Получите бонус!) 4. Присоединяйтесь: https://t.me/+6drq5hdZoRpmMWIy https://itentis.ru Мощное облако. Честная цена. Люди на связи. Реклама. ООО "АВАНГАРД", ОГРН 1107746046550, erid: 2VtzqwA4MKj

👋 Привет, админы! Недавно нужно было срочно найти, кто и когда отключил службу 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

👋 Привет, админы! В небольших организациях часто бывает так: компьютер списали, из домена вывели, а учетку в 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

👋 Привет, админы! Сегодня разберем скрытых пожирателей ресурсов в 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

👋 Привет, админы! Сегодня разберем одну из самых неприятных ситуаций – когда пользователи жалуются, что их учетные записи бл
👋 Привет, админы! Сегодня разберем одну из самых неприятных ситуаций – когда пользователи жалуются, что их учетные записи блокируются без видимых причин. Разбираешься в логах – а там 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

🎥 Вебинар по Linux: "Linux Monitoring: как отслеживать и анализировать производительность" ☝️ На вебинаре вы узнаете: - Осно
🎥 Вебинар по Linux: "Linux Monitoring: как отслеживать и анализировать производительность" ☝️ На вебинаре вы узнаете: - Основные категории мониторинга: ресурсы, процессы, сеть, логи - Инструменты для мониторинга в Linux: top, htop, iostat, vmstat, sar, netstat, dstat - Как собирать и анализировать метрики с помощью системных и сторонних инструментов 💪 В результате вебинара вы: - Научитесь собирать и анализировать ключевые метрики системы - Сможете выявлять узкие места и потенциальные проблемы заранее - Попробуете комбинировать разные инструменты для комплексного мониторинга ⏰ Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional" 👉 Для участия зарегистрируйтесь: https://vk.cc/cPMfON Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

👋 Всем админам доброго вечера! Сегодня разберем автоматическое обновление групповых политик (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

🔥 Горящее предложение: распродажа выделенных серверов от 3900 рублей! DLine Media сбросили цены на выделенные сервера - проц
🔥 Горящее предложение: распродажа выделенных серверов от 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 Торопитесь, конкуренты не дремлют 😈

👋 Всем админам доброго вечера! Продолжаю тему теневых копий в 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

Только налил кофе — а в почте уже 148 писем. И тикеты посыпались: — «Это вирус?» — «Почему клиент в спаме?» Знакомо? 👉 Spamo
Только налил кофе — а в почте уже 148 писем. И тикеты посыпались: — «Это вирус?» — «Почему клиент в спаме?» Знакомо? 👉 Spamorez режет мусор ещё до ящика: 🛡 99,9% спама и фишинга в карантине 🔒 Проверяет даже архивы с паролями 👨💻 Пользователи сами чистят карантин → тикетов меньше ⚙️ Любая почта: Exchange, 365, Google, Postfix 👍Установка за 15 минут Итог: почта чище, у ИТ и ИБ — минус головная боль. 🚀 Проверьте на своём домене — месяц бесплатно: https://www.spamorez.ru/  

👋 Админы, всем доброго понедельника! Сегодня напомню про недооценённый инструмент - 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

👋 Всем коллегам доброго здравия! На одном файловом сервере пользователи жаловались, что диск «то пустой, то переполнен». Оказалось, дело в том, что теневые копии (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