none
Como descobrir quem compartilhou uma pasta na rede? RRS feed

  • Pergunta

  • Sabendo-se o nome do computador, como descobrir quem compartilhou uma pasta na rede? Existe uma forma prática de automatizar esta consulta?

    Exemplo: Sabendo-se o nome do computador, eu consigo descobrir que adicionou um determinado usuário no grupo administradores consultado no log de Segurança do eventos do Windows.

    Vide um exemplo automatizado:

    '==========================================================================
    ' 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

    Fonte: http://www.dicasquefunfa.com.br/2012/08/audite-as-contas-que-foram-adicionadas.html

    Eu queria um parecido com esse para descobrir que compartilhou uma pasta na rede.

    Help please!!

    quinta-feira, 27 de setembro de 2012 15:31

Respostas

  • Scripts como este que você passou pegam informação fornecida pelo SO, e pelo artigo que passei só Windows 7 e Windows 2008 fornecem esta informação (ainda não sei sobre o Windows 8 e 2012, mas geralmente não anda pra trás).

    Fora isso acredito que só algum programa de terceiro que monitore a utilização do windows possa conseguir fazer isso.


    Fábio de Paula Junior

    sexta-feira, 28 de setembro de 2012 14:36
    Moderador

Todas as Respostas

  • Veja este artigo

    Audit File Share 

    http://technet.microsoft.com/en-us/library/dd772690(WS.10).aspx

    Se você souber qual id do evento vc precisa então é só modificar o script que vc enviou.

    Já fez algum teste de compartilhar uma pasta e vasculhar o event viewer em seguida?


    Fábio de Paula Junior

    quinta-feira, 27 de setembro de 2012 22:56
    Moderador
  • Oi Fábio!

    E eu sei o ID, é 578' or EventCode = '5145'

    Já fiz isso. No Windows 7 eu consigo. O problema é no XP. Ele registra apenas como uso de privilegio e não diz quem foi ou o nome da pasta.

    Já vir que pelo Log de evento no Windows XP não rola. Será que tem alguma outra forma?

    Obrigado!!

    sexta-feira, 28 de setembro de 2012 12:32
  • Scripts como este que você passou pegam informação fornecida pelo SO, e pelo artigo que passei só Windows 7 e Windows 2008 fornecem esta informação (ainda não sei sobre o Windows 8 e 2012, mas geralmente não anda pra trás).

    Fora isso acredito que só algum programa de terceiro que monitore a utilização do windows possa conseguir fazer isso.


    Fábio de Paula Junior

    sexta-feira, 28 de setembro de 2012 14:36
    Moderador
  •  Quando uma pasta ou impressora é compartilhada no XP, ele registra na categoria "Uso de Privilégio" sendo um evento (578) genérico.

    Acredito que no Windows XP não vai rolar mesmo.

    Obrigado pelo feedback Fábio!!

    segunda-feira, 1 de outubro de 2012 15:22