Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Biber am 19.01.2012 um 16:53:57 Uhr
Verschoben von "Windows"-"Userverwaltung" nach "Batch & Shell"

Per batch ein Userprofile löschen

Frage Entwicklung Batch & Shell

Mitglied: mabe12

mabe12 (Level 1) - Jetzt verbinden

18.01.2012, aktualisiert 19.01.2012, 3588 Aufrufe, 6 Kommentare

Hallo,
ich möchte per batch in der registry ein userprofil löschen und mein Problem ist den übergeordneten Eintrag zu finden.
Was ich habe ist das:
reg QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /s | findstr /I paul
ProfileImagePath REG_EXPAND_SZ C:\Users\paul

Was ich aber brauche ist der übergeodrnete Schlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-1169707632-819927519-313593124-35345

Hat da jemand eine Idee?
Grüße
mabe12
Mitglied: bastla
18.01.2012 um 18:16 Uhr
Hallo mabe12 und willkommen im Forum!

Versuch es mal so:
01.
@echo off & setlocal 
02.
set "Name=paul" 
03.
set "Key=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 
04.
 
05.
set "Search=True" 
06.
for /f "delims=" %%i in ('reg QUERY "%Key%" /s') do ( 
07.
    echo %%i|findstr /e /i "\\%Name%">nul && set "Search=" 
08.
    if defined Search echo %%i|findstr /c:"%Key%">nul && for /f "tokens=7 delims=\" %%a in ("%%i") do set "SID=%%a" 
09.
10.
set "ProfileKey=%Key%\%SID%"
Grüße
bastla
Bitte warten ..
Mitglied: Logan000
19.01.2012 um 08:28 Uhr
Mon Moin

Als Plan B gann man die SID des Users mit PsGetSID ermitteln.

Gruß L.
Bitte warten ..
Mitglied: mabe12
19.01.2012 um 10:50 Uhr
Moin,
danke erstmal für das welcome und natürlich die Antworten.
Wenn ich diese sehe merke ich das ich von for und findstr nicht wirklich viel verstehe ;-(

@bastla
erst hatte ich es mit Deiner Lösung versucht, aber in der Zeile:
echo %%i|findstr /e /i "\\%Name%">nul && set "Search="
ist ein Syntaxfehler drin (wird ganz kurz angezeigt).

Nun habe ich es aber so gelöst:
set "Name=paul"
set "Key=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList"
for /f %%i in ('psgetsid %Name%') do ( set "bla=%%i")
echo %Key%\%bla%


Was ich noch vergessen hatte:
Das Ergebnis aus bastlas Vorschlag lieferte immer den letzten vorhandenen Schlüssel...

Danke nochmals
Grüße mabe12
Bitte warten ..
Mitglied: bastla
19.01.2012 um 11:42 Uhr
Hallo mabe12!

Mein Ansatz oben ist zwar performancemäßig bei vielen vorhandenen Profilen eine Zumutung, hatte aber (in der geposteten Version) bei mir (unter XP) funktioniert ...
Nur der Vollständigkeit halber eine schnellere Alternative:
01.
@echo off & setlocal 
02.
set "Name=paul" 
03.
set "Key=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 
04.
 
05.
set "Nr=" 
06.
for /f "delims=:" %%i in ('reg QUERY "%Key%" /s^|findstr /n /e /i "\\%Name%"^|findstr "ProfileImagePath"') do set /a Nr=%%i 
07.
if not defined Nr echo "%Name%" nicht gefunden! & goto :eof 
08.
 
09.
set /a Nr-=1 
10.
for /f "tokens=7 delims=\" %%a in ('reg QUERY "%Key%" /s^|findstr /n "^"^|findstr /b "%Nr%:"') do set "SID=%%a" 
11.
set "ProfileKey=%Key%\%SID%" 
12.
echo %ProfileKey%
Grüße
bastla

[Edit] Beschränkung auf "ProfileImagePath" ergänzt [/Edit]
Bitte warten ..
Mitglied: mabe12
19.01.2012 um 15:21 Uhr
Hallo bastla,

ja nun geht es super, danke nochmals.
Ich versuche mich mal durchzuarbeiten, vllt. verstehe ich es ja doch noch .

Auf jeden Fall wird auf diese Weise der tatsächliche Pfad herausgefunden
und es gibt keine Probs wenn windows das Profil schon auf *.bak umbennant hat.

Gestern hatte ich vllt. vergessen zu erwähnen, das es für w7 und xp funzen soll.
Aber eigentlich sollte es zumindest an dieser Stelle keine Unterschiede geben.

Danke nochmal
Grüße
mabe12
Bitte warten ..
Mitglied: bastla
19.01.2012 um 15:49 Uhr
Hallo mabe12!
vllt. verstehe ich es ja doch noch .
Wenn nicht, weißt Du ja, wo Du fragen könntest ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Änderungsdatum von Dateien vergleichen und ältere löschen (10)

Frage von 129528 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...