Показать полную графическую версию : Мониторинг изменений в AD
Хотелось бы узнать, каким образом (без доп. ПО) можно мониторить изменений групп в AD (создание их или удаление).
Стандартные политики аудита - Computer Configuration\Windows Settings\Security Settings\Local Policies\Audit Policy
К примеру, Audit directory service access (http://technet.microsoft.com/en-us/library/cc960052.aspx)
Ivan Bardeen
22-09-2009, 14:08
Включить аудит audit account management в default domain controller policy
В результате в security log на контроллерах домена будут появляться следующие события:
http://technet.microsoft.com/ru-ru/library/cc737542(WS.10).aspx
Ещё вопросик, создал в планировщике заданий - уведомления на электронную почту.
Возможно ли в тексте уведомления использовать переменные из лога события для получения более подробной информации - кем и что создано? Или вложить лог файл к письму?
Файл можно прикрепить, но мне нужен только текущий лог события.
Кстати, вот некоторые полезные идентификаторы событий для Windows Server 2008R2:
ID=4741 Создание компьютера в домене
ID=4743 Удаление компьютера из домена
ID=4728 Доббавление в группу безопасности
ID=4729 Удаление из группы безопасности
ID=4720 Создание пользователя
ID=4726 Удаление пользователя
ID=4740 Блокировка учетной записи
ID=4767 Разблокировка учетной записи
ID= 4722 Включение учетной записи
ID=4725 Отключение учетной записи
sea707, я создаю в планировщике контроллера задание, например, на создание пользователя (User Account Created), триггер — по событию 4720, журнал Security, действие — запуск скрипта Powershell:
$Subject = "A user account was created"
$Theme = "A user account was created:"
$Server = "smtp.office365.com"
$From = "test@firma.ru"
$To = "admin@firma.ru"
$encoding = [System.Text.Encoding]::UTF8
$secpasswd = ConvertTo-SecureString "Str0Ng_P@ssw0rD" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ($From, $secpasswd)
$Body = Get-WinEvent -maxevents 1 -FilterHashtable @{LogName = "Security";ID = 4720;StartTime = (Get-Date).AddSeconds(-60)} | Select TimeCreated,`
@{n = "Account name";e = {([xml]$_.ToXml()).Event.EventData.Data | ?{$_.Name -eq "TargetUserName"} | %{$_.'#text'}}}, `
@{n="Display name";e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq "DisplayName"}| %{$_.'#text'}}}, `
@{n="UPN name";e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq "UserPrincipalName"}| %{$_.'#text'}}}, `
@{n="Created by";e={([xml]$_.ToXml()).Event.EventData.Data | ? {$_.Name -eq "SubjectUserName"}| %{$_.'#text'}}}, `
@{n="DC";e={([xml]$_.ToXml()).Event.System.Computer}}
$body = $body -replace "@{" -replace "}" -replace "=", ": " -replace ";","`n" -replace "TimeCreated","Time Created" -replace "^","`n"
$BodyM = $Body
Send-MailMessage -From $From -To $To -SmtpServer $server -Body "$Theme `n$BodyM" -Subject $Subject -Encoding $encoding -Port "587" -Credential $mycreds -UseSsl
У нас на работе почтовик на Office365, но я думаю, что не составит труда подставить свои данные.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.