VBS/WSH/JS - Скрипт для отслеживания даты.

Ответить
Аватара пользователя
DMBS

VBS/WSH/JS - Скрипт для отслеживания даты.

Сообщение DMBS »

Всем здравствуйте ,хотел бы узнать есть ли возможность, с помощью скрипта написанного на VBS,

создать следующее:

Имеется Active Directory (AD). В ней находятся учетные записи пользователей, а также созданы группы пользователей.

Группы созданы для упрощения и объединения пользователей по отделам предприятия.

На каждую группу назначен свой отдел. В группу добавлены учетные записи пользователей конкретного отдела.

Возможно ли с помощью ADSI, если я правильно понимаю, взаимодействовать с объектами AD, которые бы мне возвращали свойство

"даты добавления учетных записей в указанную группу?"

Вообщем мне нужно узнать даты добавления учетных записей пользователей, какие и когда добавлены были в группу?

Может это можно узнать штатными средствами Windows Server?

Заранее спасибо!...
Аватара пользователя
Kazun

Re: VBS/WSH/JS - Скрипт для отслеживания даты.

Сообщение Kazun »

Для данной задачи потребуется включить аудит по событию 4728.
Event ID when a User is Added or Removed from Security-Enabled Global Group such as Domain Admins or Group Policy Creator Owners




Для PowerShell - можно использовать модуль PsEventLogWatcher и примерами использования
https://pseventlogwatcher.codeplex.c...ced%20Examples






Код:

Код: Выделить всё

$BookmarkStreamPath = "C:\Eventlogwatchers\EventsToCSV.stream"
$BookmarkToStartFrom = Get-BookmarkToStartFrom $BookmarkStreamPath
$EventLogQuery = New-EventLogQuery "ForwardedEvents"
$EventLogWatcher = New-EventLogWatcher $EventLogQuery $BookmarkToStartFrom 
$Action = {        
            $EventObj = New-Object psobject
            $EventObj | Add-Member noteproperty TimeCreated $EventRecord.TimeCreated
            $EventObj | Add-Member noteproperty ID $EventRecord.ID
            $EventObj | Add-Member noteproperty MachineName $EventRecord.MachineName
            $EventRecordXML.Event.EventData.Data | Where-Object {$_.name -ne $Null} | ForEach-Object {$EventObj | Add-Member noteproperty $_.name $_."#text"}
            switch ($EventObj.ID) 
            {         
                4728 {$Outfile = "SecurityGroup_MemberAdded.csv"}   
            }            
            If ($Outfile -ne $Null)
            {
                $EventObj | Convertto-CSV -Outvariable OutData -NoTypeInformation 
                $OutPath = "C:\EventLogWatchers\CSV\$Outfile"
                If (Test-Path $OutPath)
                {
                    $Outdata[1..($Outdata.count - 1)] | ForEach-Object {Out-File -InputObject $_ $OutPath -append}
                } else {
                    Out-File -InputObject $Outdata $OutPath
                }
            }
          } 
Register-EventRecordWrittenEvent $EventLogWatcher $BookmarkStreamPath -action $action -SourceIdentifier "EventsToCSV"
$EventLogWatcher.Enabled = $True
Аватара пользователя
DMBS

Re: VBS/WSH/JS - Скрипт для отслеживания даты.

Сообщение DMBS »

Спасибо,При включенном перехвате события в Аудите, оно ведь будет действовать с того момента, как мы активируем перехват этого события, а

а мне нужно посмотреть пользователей , которые были добавлены в группы около месяца назад.
Аватара пользователя
DMBS

Re: VBS/WSH/JS - Скрипт для отслеживания даты.

Сообщение DMBS »

Никак, т.к. в AD такая информация не хранится.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»