fosaq-
Goto Top

SID unter WinXP mit Bordmitteln ermitteln

Guten Tag,

ich habe mich grade mal hier angemeldet da ich leider im Netz keine Brauchbaren informationen finden kann.


Ich bin gerade dabei ein bischen zu probieren wie man eine Installation von Windows etwas mehr automatisieren kann. Dazu möchte ich auch Registry Werte automatisch mit einer .reg Datei ändern. So weit eigentlich kein Problem, nur brauche ich für manche Schlüssel eben die SID des gerade angemeldeten Benutzers. Gibt es irgendeine Möglichkeit mit Bordmitteln diese SID in die .reg Dabei zu bekommen? Am besten als Variable. Im übrigen habe ich mir die Windows Resource Kit Tools runtergeladen, da fehlen aber getsid.exe oder psgetsid.exe.


fosaq

Content-ID: 66554

Url: https://administrator.de/contentid/66554

Ausgedruckt am: 22.11.2024 um 17:11 Uhr

13100
13100 19.08.2007 um 14:42:05 Uhr
Goto Top
unter
...\dokumente und einstellungen\<username>\Lokale Einstellungen\Anwendungsdaten\Microsoft\Credentials
befindet sich ein ordner mit dem namen der sid - zumindest mit ein wenig handanlegen.

downloads:
http://download.microsoft.com/download/win2000platform/Getsid/1.0/NT5/E ...
http://download.sysinternals.com/Files/PsTools.zip <-- psgetsid.exe
fosaq-
fosaq- 19.08.2007 um 19:10:05 Uhr
Goto Top
Danke, das war der entscheidenende Hinweis.

Ich habe mir eine kleine Batch Datei geschrieben die mir die SID ausliest und in einer Variablen speichert. Und da man auch die Registry direkt per Befehlszeile bearbeiten kann, kann ich die Variable einfach da einsetzen wo ich will, ich muss halt nur alles von meiner .reg Datei in die Batch Datei übertragen... naja hauptsache es läuft.


Hier die beiden Zeilen die die SID auslesen (ich hab 4 Stunden gebraucht!):



cd "%userprofile%\Lokale Einstellungen\Anwendungsdaten\Microsoft\Credentials"

FOR /F "tokens=*" %%i IN ('dir /A:D /B') do (SET sid=%%i)

mit dir /A:D /B >> C:\sid.txt kann man sich die SID auch einfach in eine Datei ausgeben lassen.


Innerhalb einer Batchdatei muss der Befehl so aussehen, direkt von der Befehlszeile aus muss vor die Variablen nur ein Prozentzeichen, nicht zwei.

Da das ganze zwar Funktionert aber unerwartete Dinge passieren können wenn mehr als nur das eine Verzeichniss mit der SID vorhanden ist (Vermutung, ich habs nicht getestet) lasse ich mir die Variable erst noch anzeigen und muss eine Taste drücken damit das Script auch startet, nicht dass ich mir die Registry damit zerhagel.
Biber
Biber 19.08.2007 um 23:00:44 Uhr
Goto Top
Moin fosaq-,

willkommen im Forum.
>Die Variable %profile% hat leider nicht funktioniert...
Die Variable sollte auch %UserProfile% heißen.
%userprofile% entspricht bei Dir: "%systemdrive%\Dokumente und Einstellungen\%username%"

Auch wenn es nicht mehr entscheidend zu Deiner gefundenen Lösung beiträgt, es macht das Ganze doch etwas übersichtlicher.

Grüße
Biber
13100
13100 20.08.2007 um 00:10:57 Uhr
Goto Top
aufgrund des genannten beispiels würd ich eher sowas verwenden:

dir "%UserProfile%\Anwendungsdaten\Microsoft\Credentials\S-*" /A:D /B

wobei ich davon ausgehe, dass die sid immer mit S- beginnt.
desweiteren bin ich der meinung, dass alles nach dem letzten bindestrich nicht mehr teil der sid ist, zumindest laut psgetid.exe.
fosaq-
fosaq- 20.08.2007 um 19:30:07 Uhr
Goto Top
Das mit dem %userprofile% hab ich jetzt auch rausgefunden, danke für den Hinweis, ich habs oben geändert.

Ja, die letzten Ziffern, z.B. "...-1003" gehören nicht zur SID aber ich brauche das trotzdem weil genau so die Registryschlüssel aussehen.