PsGetSID.exe i inne sposoby na tłumaczenie nazwy konta na SID (i vice versa)

W administrowaniu systemami Windows czasem istnieje potrzeba przetłumaczenia nazwy użytkownika lub komputera, na jego unikalny identyfikator, czyli „SID” (Security Identifier Definition). Taka potrzeba może zajść na przykład, gdy Dziennik Zdarzeń wyświetla SID zamiast nazwy konta, lub gdy w tabeli uprawnień, po skasowaniu jakiegoś konta, pozostaje jedynie jego SID – a jestem pewien, że nasi czytelnicy mogliby dodac jeszcze kilka przykładów 🙂
Niestety systemy Windows nie specjalnie ułatwiają to zadanie. Na przykład, aby odczytać SIDy użytkowników, musimy nawigować do klucza rejestru:

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

..i przegladać kolejno wszystkie gałęzie z SID’ami w poszukiwaniu nazwy użytkownika ( a dokładniej ścieżki do jego profilu) w „ProfileImagePath”.
Wiersz poleceń i polecenie „WMIC” pwyświetli nam wszystkie lokalne konta i ich SID’y:

wmic useraccount get name,sid

Z użyciem filtrów, można zwrócić SID lub nazwę konkretnego konta lokalnego:

wmic useraccount get name,sid | findstr “Administrator”

wmic useraccount get name,sid | findstr “S-1-5-21-331181227-3838315910-2321129118-900”

Ale przyznajcie – nie jest to zbyt łatwe do zapamiętania 🙂

Co do sposobów na wyświetlenie SID’u komputera przez WMI – niestety tej informacji nie wyciągniemy, więc może od razu przejdźmy do narzędzia, które z SID’ami radzi sobie najlepiej.

Program PSGETSID.EXE jest kolejnym narzędziem z pakietu PSTOOLS, który jak wszystkie pozostałe elementy tego pakietu, działa w wierszu poleceń w systemach Windows.
Pakiet „PSTOOLS” autorstwa Marka Russinovich’a dostępny jest za darmo np. ze strony http://download.sysinternals.com/files/PSTools.zip.
PsGetSID.exe zwróci nam SID’y na podstawie nazw lub zamieni SID’y na nazwy dla kont lokalnych, domenowych i wbudowanych. Oto przykłady zastosowań tego narzędzia. Samo wpisanie nazwy PsGetSID.exe w wierszu poleceń, zwróci SID lokalnego komputera:

C:\Windows\System32\psgetsid
PsGetSid v1.44 – Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich
Sysinternals – www.sysinternals.com

SID for \\komputertestowy04:
S-1-5-21-339981200-3835588941-2338322778

Możemy też podać SID, a program zwróci nam nazwę obiektu (użytkownika lub komputera). Zadziała to dla użytkowników i komputera lokalnego oraz dla użytkowników domenowych – niestety SID’ów komputerów domenowych w ten sposób nie da się  przetłumaczyć na nazwę.

PsGetSID.exe S-1-5-21-339981200-3835588941-2338322778

Możemy wyświetlić też SID zdalnego komputera…

PsGetSID.exe \\komputer_zdalny

…kilku komputerów…

PsGetSID.exe \\komputer_zdalny1, \\komputer_zdalny2, \\komputer_zdalny3

…lub wielu komputerów w z pliku:

PsGetSID.exe @twoja_lista_maszyn.txt

Standardowo, w PSTOOLS można podawać poświadczenia użytkownika:

PsGetSID.exePsGetSID.exe \\komputer_zdalny –u nazwa_użytkownika –p hasło

Jeśli nie podamy parametru –p, PsGetSID.exe sam poprosi nas o wpisanie hasła.

Możemy również wyswietlać SID’u użytkowników. Sid lokalnie zalogowanego użytkownika wyświetlimy poleceniem:

PsGetSID.exe %username%

Podczas gdy SID’y komputerów mogliśmy wyświetlić masowo, niestety użytkowników lokalnych i domenowych musimy wyświetlać pojedynczo. Sid lokalnego administratora:

PsGetSID.exe administrator

SID dowolnego konta domenowego:

PsGetSID.exe domena\%username%

SID całej domeny zwrócimy poleceniem:

PsGetSID.exe nazwa_domeny

Jeżeli macie jakieś ciekawe uwagi co do „zabawy” SID’ami – piszcie 🙂

Łukasz Skalikow

Obecnie Manager IT. Przez lata byłem Inżynierem systemów. Jestem entuzjastą i specem od vSphere, Windows serwer, GPO. Od zawsze byłem zwolennikiem wiersza poleceń i automatyzacji. Obecnie, ze względu na pracę, rodzinę i wyjazdy służbowe, dużo mniej udzielam się na blogu, ale mam nadzieję, że pośród kilkuset porad opublikowanych na spece.it, wiele osób znajdzie dla siebie coś przydatnego :)

Przeczytaj także...

2 komentarze

  1. Krystian napisał(a):

    A jak zwrócić SID dla „Użytkownicy uwierzytelnieni”?

Dodaj komentarz