Audite as contas que foram adicionadas no grupo administradores

VBScript para auditar as contas que foram adicionadas no grupo administrador. Esse script ler o log de segurança do windows e em seguida informa quem foi adicionado no grupo administrador e quem adicionou. Essa consulta é realizada pelo ID de evento 636 para o Windows XP e o ID 4732 para o Windows7. O resultado é gerado em  um arquivo TXT salvo na pasta  "c:\LOG_SEG" na linha 35. Para conferir copie o código a baixo e cole no Notepad, em seguida salve como Nome.VBS



'==========================================================================
' LINGUAGEM: VBScript'
' NAME:  CABRUNCO - VERSÃO: 1.2
' AUTHOR: DICAS QUE FUNFA
' DATE : 00/08/2012
' by: http://dicasquefunfa.com.br
'==========================================================================
Option Explicit
'Menu----------------------------------------------
Dim objmenu, username, wshshell, fso
'--------------------------------------------------
Dim objFSO, objFolder, objFile, objWMI, objItem, objShell
Dim strComputer, strFileName, strFileOpen, strFolder, strPath
Dim intEvent, intNumberID, intRecordNum, colLoggedEvents
Dim intEventType, strLogType

Set WshShell = WScript.CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

' --------------------------------------------------------
' Defini o nome da pasta e do arquivo
strComputer = InputBox("Digite o nome do computador", "CABRUNCO Caça as Bruxas e Não-Conformidades")
strFileName = "\Log_Seg.txt"
strFolder = "C:\LOG_SEG"
strPath = strFolder & strFileName
' -----------------------------------------------------
' Seção para criar a pasta e salvar o arquivo.
' Criar o File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")

' strFolder, Verifica se a pasta existe 
If objFSO.FolderExists(strFolder) Then
Set objFolder = objFSO.GetFolder(strFolder)
Else
Set objFolder = objFSO.CreateFolder(strFolder)
WScript.Echo "Pasta Criada Com Sucesso! " & strFolder
End If

If objFSO.FileExists(strFolder & strFileName) Then
Set objFolder = objFSO.GetFolder(strFolder)
Else
Set objFile = objFSO.CreateTextFile(strFolder & strFileName)
Wscript.Echo "Arquivo criado com Sucesso! " & strFolder & strFileName
End If 
' --------------------------------------------------
' Comandos vitais
set objFile = nothing
set objFolder = nothing
' ----------------------------------------------------
' Escreve no arquivo
Wscript.Echo " Pressione OK e aguarde 30 segundos "
Set strFileOpen = objFso.CreateTextFile(strPath, True)
' ----------------------------------------------------------
Set objWMI = GetObject("winmgmts:" _ 
& "{impersonationLevel=impersonate,(Security)}!\\" _  
& strComputer & "\root\cimv2") 
Set colLoggedEvents = objWMI.ExecQuery _ 
("Select * from Win32_NTLogEvent Where Logfile = 'Security' AND EventCode = '636' or EventCode = '4732'" ) 
'------------------------------------------------------------------------------------------
For Each objItem in colLoggedEvents
strFileOpen.WriteLine("Category: " & objItem.Category _
& " string " & objItem.CategoryString) 
strFileOpen.WriteLine("ComputerName: " & objItem.ComputerName)
strFileOpen.WriteLine("Data: " & objItem.TimeWritten)
strFileOpen.WriteLine("Logfile: " & objItem.Logfile _ 
& " source " & objItem.SourceName) 
strFileOpen.WriteLine("EventCode: " & objItem.EventCode) 
strFileOpen.WriteLine("EventType: " & objItem.EventType) 
strFileOpen.WriteLine("Type: " & objItem.Type) 
strFileOpen.WriteLine("User: " & objItem.User) 
strFileOpen.WriteLine("Message: " & objItem.Message)
strFileOpen.WriteLine (" ")
intRecordNum = intRecordNum +1
Next
'Confirma se o script foi concluído e abre o arquivo
Set objShell = CreateObject("WScript.Shell")
objShell.run ("Explorer" &" " & strPath & "\" )
'-------------------------------------------------------------------
WScript.Quit




Comentários

LEIA-ME

Criar ferramentas e scripts que facilitam seu trabalho no dia a dia, solucionar problemas, documentar tudo e criar o passo a passo de como resolver, é uma tarefa que requer tempo e disposição. Por esse motivo, precisamos de sua contribuição.




Apesar de não ser obrigatória, a sua doação é muito importante para continuarmos criando ferramentas, scripts e procedimentos!
Com sua contribuição manteremos o funcionamento e desenvolvimento dessas e outras soluções.