Archiv der Kategorie: Workaround

UNBLOG Tutorials Usability and Addons Integration with Technical Workarounds and Tutorials for Professionals.

Benutzer SID abfragen

Windows Benutzer SID abfragen mit wmic useraccount get

Für System Administratoren ist das abfragen von Informationen zur Umgebung und Konfiguration eine alltägliche Arbeit. Eine dieser Information ist die SID (Security Identifier), diese von Windows zur Identifikation von Benutzer und Gruppen verwendet wird. Benutzernamen in einem Netzwerk können doppelt vorhanden sein, damit es zu keinem Konflikt kommt, wird jedem Benutzer eine eindeutige SID zugewiesen.

Bei der zuwiesung der Benutzer Rechte, verwendet Windows die dafür definierte SID. Eine SID ist ungefähr so aufgebaut wie ein GUID (Globally Unique Identifier), das jedes Objekt bei Windows besitzt. Die Benutzer SIDs erhalten aber ausschließlich sicherheitsrelevate Objekte, da die SID zur Echtheitsbestätigung verwendet wird.

Durch diese SID wird der Benutzer im ganzen Netzwerk identifiziert. Auch wenn der Name des Benutzer geändert wird, bleibt die SID bestehen, wird der Benutzer im Netzwerk gelöscht, wird seine SID aufgehoben.

Aufbau meiner Benutzer SID

S-1-5-21–4147432549-3588766049-1627529166-1001

Die SID (Security Identifier) Token haben folgende Bedeutungen:

SEs handelt sich um eine SID
1Revisionsnummer
5Identifier Authority
18Systemprofile
19Localservice
20NetworkService
21Benutzerprofile
4147432549-3588766049-1627529166Domain ID, Computer ID
1001Benutzer ID (RID)

Tabelle mit SID der Systemkonten

Alle Benutzer SID abfragen

Möchte man nun die SID aller Benutzerkonten abfragen, geht das mit folgendem Befehl in einem Command Prompt Win+Rcmd

wmic useraccount get sid,name

Es werden alle SIDs und Benutzernamen ausgegeben.

C:\>wmic useraccount get sid,name
Name                SID
Administrator
S-1-5-21-4147432549-3588766049-1627529166-500
DefaultAccount
S-1-5-21-4147432549-3588766049-1627529166-503
john
S-1-5-21-4147432549-3588766049-1627529166-1001
Gast
S-1-5-21-4147432549-3588766049-1627529166-501

Hier die SIDs der lokalen Konten. Bei einer abfrage in einer Netzwerk Domäne können es einige mehr sein.

Computer- und Domänen-SIDs bestehen aus einer Basis-SID und einer relativen ID (RID), die an die Basis-SID angehängt wird. Wenn der Computer einer Domäne angehört, kommt eine andere SID ins Spiel. Der Computer verfügt weiterhin über eine eigene Computer-SID und eigene lokale Konten und Gruppen, ist jedoch auch Mitglied einer Domäne und verfügt daher über eine SID, die das Computerkonto in dieser Domäne darstellt. Die SID eines Computerkonto besteht aus der SID des Administratorenkonto, abzüglich der RID, die letzten 3 bit oder 4 bit (500) entfallen.

Spezifische Benutzer SID abfragen

Soll gezielt die SID eines Benutzers abgefragt werden, zum Beispiel seine eigene SID, kann dies mit folgendem Command abgerfagt werden.

wmic useraccount where name='%username%' get name,sid

Möchte man die SID eines anderen Benutzers wissen, kann anstelle von %username% ein Benutzer angegeben werden, zB, john.

Mit folgendem Befehl lässt sich die SID des mit dem gerade angemeldeten Benutzer in einer AD-Domäne feststellen.

wmic useraccount where (name='%username%' and domain='%userdomain%') get domain,name,sid

In umgekehrter folge geht es auch, es soll der Benutzername einer SID abgefragt werden.

wmic useraccount where sid='S-1-5-21-4147432549-3588766049-1627529166-1001' get name

Benutzer SID in der PowerShell abfragen

In der PowerShell sieht die Benutzer SID abfrage wie folgt aus.

[wmi] "win32_userAccount.Domain='$env:UserDomain',Name='$env:UserName'"

Es wird der Benutzername und die SID des in der Domäne company angemeldeten Benutzers ausgegeben.

PS C:\> [wmi] "win32_userAccount.Domain='$env:UserDomain',Name='$env:UserName'"

AccountType : 512
Caption     : company\john
Domain      : company
SID         : S-1-5-21-4147432549-3588766049-1627529166-1001
FullName    : john smith
Name        : john

Hiermit kann beispielsweise mit der SID der ProfileImagePath zum Benutzerprofil in der Registry gefunden werden, um Reparaturen oder Anpassungen vornehmen zu können. Auch wird die Benutzer SID als ObjectID in SQL-Tabellen verwendet, um Benutzer aus Active Directory in einer Anwendung identifizieren und authorisieren zu können, so zum Beispiel bei Dynamics AX.

Windows Benutzer SID abfragen mit wmic useraccount get
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Windows zu SMBv1 Active Directory Domäne beitreten

Windows 10 Version 1709 und höher zu Active Directory Domäne beitreten diese nur SMBv1 unterstützt.

Wenn Windows 10 Computer versuchen, die Mitgliedschaft zu einer Domäne herzustellen, wird möglicherweise folgende Fehlermeldung angezeigt:

Sie können keine Verbindung mit der Dateifreigabe herstellen, da sie nicht sicher ist. Für diese Freigabe ist das veraltete Protokoll SMB1 erforderlich, das nicht sicher ist und Ihr System für Angriffe verwundbar machen kann. Für Ihr System ist SMB2 oder höher erforderlich. Weitere Informationen zur Behebung des Problems finden Sie unter https://go.microsoft.com/fwlink/?linkid=852747.

Quelle: https://support.microsoft.com/de-de/help/4034314/smbv1-is-not-installed-by-default-in-windows

Zusammenfassung

Unter Windows 10 Fall Creators Update und Windows Server, Version 1709 (RS3) und höher, ist das Netzwerkprotokoll Server Message Block Version 1 (SMBv1) nicht mehr standardmäßig installiert. Es wurde ab 2007 durch SMBv2 und neuere Protokolle abgelöst. Microsoft hat das SMBv1-Protokoll 2014 öffentlich verworfen. Beim Versuch zu einer Windows Active Directory Domäne beizutreten diese nur SMBv1 unterstützt, erscheint ein Fehler.

Ursache

Die Unterstützung von SMB 1.0/CIFS-File Sharing wurde unter Windows 10 Fall Creators Update Version 1709 und höher deaktiviert. Das SMBv2-Protokoll wurde in Windows Vista und Windows Server 2008 eingeführt. Das SMBv3-Protokoll wurde in Windows 8 und Windows Server 2012 eingeführt.

Lösung

Um ein Windows 10 Computer zur Mitgliedschaft einer AD-Domäne herzustellen die nur SMBv1 unterstützt, ist das SMB Protokoll Version 1 erforderlich. Dazu wird SMB 1.0/CIFS-File Sharing wie folgt hinzugefügt und installiert.

Unterstützung für die SMB 1.0/CIFS-Dateifreigabe

Mit der Tastenkombination Win+R wird Ausführen geöffnet, hier die Eingabe control appwiz.cpl,,2

Aktivieren der Unterstützung für die SMB 1.0/CIFS-Dateifreigabe, auf OK klicken um das SMBv1 Protokoll zu installieren, danach ist ein neustart erforderlich.

Enable-WindowsOptionalFeature

Aus der PowerShell ist die aktivierung, sowie deaktivierung ebenfalls möglich, dazu wird PowerShell als Administrator geöffnet.

Enable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Disable-WindowsOptionalFeature -Online -FeatureName smb1protocol

Get-WindowsOptionalFeature

Status der aktivierten, bzw. deaktivierten SMB Protokolle mit dem PowerShell Command abfragen.

Get-WindowsOptionalFeature -Online | Where-Object {$_.FeatureName -like 'SMB1*'}

Die Ausgabe bei aktiviertem SMBv1 Protokoll erscheint wie folgt.

FeatureName : SMB1Protocol
State       : Enabled

FeatureName : SMB1Protocol-Client
State       : Enabled

FeatureName : SMB1Protocol-Server
State       : Enabled

PS C:\>

SMBv1 Protokoll in der Registry

Möglicherweise muss SMBv1 in der Registrierung überprüft werden, durch folgenden Befehl in einem als Administrator geöffneten Command Prompt.

REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "SMB1" /t REG_DWORD

Die Ausgabe bei deaktiviertem SMBv1 Protokoll, standardmässig ist SMBv1 deaktiviert und hat kein Eintrag in der Registry.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
    SMB1    REG_DWORD    0x0

Suchvorgang abgeschlossen: 1 übereinstimmende Zeichenfolge(n) gefunden.

C:\>

REG ADD LanmanServer\Parametersters SMB1

Aktivieren mit REG ADD in einem Command Prompt als Administrator.

REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" /v "SMB1" /t REG_DWORD /d "1" /f