На днях столкнулся с задачей: нужно быстро выгрузить список локальных администраторов со всех серверов в домене. А главное — автоматизировать это дело, чтобы можно было регулярно мониторить, не появилось ли чего лишнего.
🔥 Делюсь своим рабочим скриптом на PowerShell:
$servers = Get-Content ".\servers.txt"
foreach ($server in $servers) {
try {
$admins = Get-LocalGroupMember -ComputerName $server -Group "Administrators"
$admins | Select-Object @{Name="Server";Expression={$server}}, Name, ObjectClass | Export-Csv -Append -NoTypeInformation -Path ".\admins_report.csv"
} catch {
Write-Warning "Не удалось подключиться к $server: $_"
}
}
📌 Что делает скрипт:
- Берёт список серверов из
servers.txt- Для каждого получает участников группы
Administrators- Сохраняет результат в CSV-отчёт с привязкой к имени сервера
✅ Использую это как базу для аудита. Можно, например, сравнивать отчёты в динамике или парсить на наличие неожиданных аккаунтов.
💡 Кстати, если вы используете AD, можно ещё и
net localgroup Administrators /domain дергать через Invoke-Command, но локально — быстрее и надежнее.💬 А вы как следите за локальными админами? Может, есть свои хитрости или используете GPO + Restricted Groups?
👉 @win_sysadmin