Quem ingressou em um computador em um domínio

3

Existe uma maneira fácil de determinar qual conta de usuário foi usada para unir um computador a um domínio?

    
por AndyM 30.11.2009 / 17:27

4 respostas

3

Post antigo, mas pergunta relevante. O objeto de computador terá um SID anexado de qual objeto o criou. Use ADSIedit para isso. Além disso, o registro de auditoria do AD: link

    
por 04.12.2014 / 13:10
2

Procure a ID de evento 645 no log de eventos de segurança nos controladores de domínio locais. O evento incluirá um nome de usuário.

Você deve ter a auditoria de eventos configurada para capturar esses eventos.

Mais informações aqui: link link

    
por 30.11.2009 / 20:47
0

A maneira mais fácil pode ser examinar os logs no computador cliente que ingressou para ver quem estava conectado quando o computador ingressou ou o servidor que serve como Controlador de Domínio Primário.

Se a auditoria de eventos estiver ativada, você também poderá ver lá.

    
por 30.11.2009 / 17:57
0

Eu estava procurando por algo semelhante e não consegui encontrar uma resposta clara. Eu encontrei algumas soluções alternativas que podem ajudar os outros.

olhando para NetSetup.log na pasta windows \ debug. Aqui está um pequeno código que você pode executar a partir do seu computador:

$NoInfo = $null
$Offline = $null
$List = $null

#Get-Content unknowns.txt | foreach {
Get-ADComputer  -Filter 'OperatingSystem -like "*Windows server*"' -Properties * | foreach {
    $FQDN = $_.DNSHostName 
    $Path = "\$FQDN\c'$\Windows\debug\NetSetup.log"
    if (Test-Connection $FQDN -Count 1 -ErrorAction SilentlyContinue) { 
        if (Test-Path $Path) {
            write-host "'n'nChecking $FQDN..."        
            $User = ($($(Select-String -Path $Path -Pattern "lpAccount: " -CaseSensitive)  -split " ")[3])
            $User
            [array]$List += Write-Output $FQDN";"$User

        } 
    else {[array]$NoInfo += $FQDN}
    } 
    else {[array]$Offline += $FQDN}
    #sleep 5
}
$list

Como alternativa, se você tiver o servidor vCenter, tente simplesmente abaixo em um VMCLI do VMware. A pessoa que criou a máquina virtual provavelmente ingressou no computador para o domínio.

No meu ambiente, os resultados foram muito precisos:

$servername = Read-host "Enter server name"
$Events = Get-VIEvent -Entity $servername -Types info -MaxSamples 999999999

    foreach ($event in $events) {
        $test = $true
        if ($event.fullFormattedMessage -match "Deploying $servername on host") {
            Write-Host ("'n$servername is created by User " + $event.username + " at: " + $event.createdTime)
            Write-Host ("'nEvent Details:'n--------------'n" + $event.fullFormattedMessage)
            $OwnerList +=  New-Object -TypeName psobject -Property @{Servername=$servername;Username=$event.username;CreationTime=$event.createdTime;EventMsg=$event.fullFormattedMessage;Estimated="No"}
            $test = $false
        }

        elseif ($event.fullFormattedMessage -like "Clone of*completed") {
            Write-Host ("'n$servername is created by User " + $event.username + " at: " + $event.createdTime)
            Write-Host ("'nEvent Details:'n--------------'n" + $event.fullFormattedMessage)
            $OwnerList +=  New-Object -TypeName psobject -Property @{Servername=$servername;Username=$event.username;CreationTime=$event.createdTime;EventMsg=$event.fullFormattedMessage;Estimated="No"}
            $test = $false
        }
        elseif ($event.fullFormattedMessage -match "Creating $servername on host") {
            Write-Host ("'n$servername is created by User " + $event.username + " at: " + $event.createdTime)
            Write-Host ("'nEvent Details:'n--------------'n" + $event.fullFormattedMessage)
            $OwnerList +=  New-Object -TypeName psobject -Property @{Servername=$servername;Username=$event.username;CreationTime=$event.createdTime;EventMsg=$event.fullFormattedMessage;Estimated="No"}
            $test = $false
        }
    }


if ($test -eq $true) {
    Write-Host "'nWarning: Unable to find the server owner" -BackgroundColor Yellow -ForegroundColor Black
    Write-Host "Note: Following entries are estimates only." -BackgroundColor Yellow -ForegroundColor Black
    Write-Host "Recommendations:"

    $lastevent = (Get-VIEvent -Entity $servername -MaxSamples 999999999 | Select-Object -last 1)
    if ($lastevent.username -ne $null -and $lastevent.username) {

        Write-Host ("'n$servername is created by User " + $lastevent.username + " at: " + $lastevent.createdTime)
        Write-Host ("'nEvent Details:'n--------------'n" + $lastevent.fullFormattedMessage)
        $OwnerList +=  New-Object -TypeName psobject -Property @{Servername=$servername;Username=$lastevent.username;CreationTime=$lastevent.createdTime;EventMsg=$lastevent.fullFormattedMessage;Estimated="Yes"}
    }

    $events = $Events | sort CreatedTime
    :loop foreach ($event in $events) { 
        $event.username
        if ($event.username -ne $null -and $event.username) {
            Write-Host ("'n$servername is created by User " + $event.username + " at: " + $event.createdTime)
            Write-Host ("'nEvent Details:'n--------------'n" + $event.fullFormattedMessage)
            $OwnerList +=  New-Object -TypeName psobject -Property @{Servername=$servername;Username=$event.username;CreationTime=$event.createdTime;EventMsg=$event.fullFormattedMessage;Estimated="Yes"}
            break loop
        }
    }
}

A saída é semelhante a esta

    
por 29.05.2018 / 21:12