Como saber a conta de usuário do SID do Windows?

4

Quando você olha a chave de registro HKEY_USERS , cada subchave (representando as configurações de cada usuário) é algo como S-1-5-18, que é chamado de SID , eu suponho.

Como sei qual SID é para qual conta de usuário?

    
por Piotr Dobrogost 11.01.2011 / 20:27

6 respostas

4

Como associar um nome de usuário a um identificador de segurança (SID)

Open Registry Editor and navigate to:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion \ProfileList

Under the ProfileList key, you will see the SIDs. By selecting each one individually, you can look at the value entry and see what user name is associated with that particular SID.
    
por 11.01.2011 / 20:38
5

Também é possível usar PsGetSid também.

    
por 11.01.2011 / 20:41
1

Eu uso o seguinte Script VB, em vez de instalar utilitários adicionais. Eu não posso levar crédito pelos componentes individuais, apenas a combinação deles:

Lookup_SID.vbs

strComputer = "."
Set objWMIService = GetObject("winmgmts:\" & strComputer & "\root\cimv2")

UserName = UserInput( "Enter the user name:", "" )
Domain = UserInput( "Enter the domain / PC name:", "")

Set objAccount = objWMIService.Get _
("Win32_UserAccount.Name='" & UserName & "',Domain='" & Domain & "'")
Call UserInput( "The SID for " & Domain & "\" & UserName & " is: ", objAccount.SID )

Function UserInput( myPrompt, default_text )
' This function prompts the user for some input.
' When the script runs in CSCRIPT.EXE, StdIn is used,
' otherwise the VBScript InputBox( ) function is used.
' myPrompt is the the text used to prompt the user for input.
' The function returns the input typed either on StdIn or in InputBox( ).
' Written by Rob van der Woude
' http://www.robvanderwoude.com
    ' Check if the script runs in CSCRIPT.EXE
    If UCase( Right( WScript.FullName, 12 ) ) = "\CSCRIPT.EXE" Then
        ' If so, use StdIn and StdOut
        WScript.StdOut.Write myPrompt & " "
        UserInput = WScript.StdIn.ReadLine
    Else
        ' If not, use InputBox( )
        UserInput = InputBox( myPrompt,, default_text )
    End If
End Function
    
por 10.01.2014 / 16:23
0

Veja as chaves em NT \ CurrentVersion \ ProfileList de HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows

    
por 05.12.2013 / 01:05
0

Powershell eu encontrei em outro lugar na internet (não tem fonte original):

$objSID = New-Object System.Security.Principal.SecurityIdentifier("S-1-5-21-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxx-xxxxxx") 
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount]) 
$objUser.Value

Além disso, esse link pode ter algum valor: Detalhes sobre SIDs

    
por 01.09.2016 / 20:50
0

Abra uma janela cmd e digite o seguinte comando

wmic useraccount where name='USERID' get sid

onde USERID é o nome de usuário cujo SID você está procurando.

    
por 12.04.2018 / 23:17