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
GELÖST

Als Hauptbenutzer Registry-Keys anderer User auslesen

Frage Entwicklung Batch & Shell

Mitglied: rdietrich

rdietrich (Level 1) - Jetzt verbinden

23.01.2009, aktualisiert 24.01.2009, 10787 Aufrufe, 10 Kommentare

Hallo, ich möchte als Hauptbenutzer / Administrator via Batch-Datei auf die Registry-Keys anderer User auf dem lokalen PC auslesen, beispielsweise den Pfad zu den eigenen Dateien.

Eine weitere Hürde bei diesem Vorhaben ist wohl die Auswahl der entsprechenden User innerhalb der Batch, da ich die Werte nur für bestimmte Benutzer auf dem PC brauche, nicht aller. Für ein paar Ratschläge, Zaunpfähle und Tipps bin ich sehr dankbar.

Gruß,

R.D.
Mitglied: rdietrich
24.01.2009 um 10:18 Uhr
ich habe mittlerweile herausgefunden, wie man es manuell macht. relativ gut beschrieben unter: http://www.wintotal.de/Tipps/index.php?id=934

Leider habe ich noch keinen Weg gefunden, die ganze Sache mittels Batch zu automatisieren.
Bitte warten ..
Mitglied: DerWoWusste
24.01.2009 um 15:00 Uhr
Du könntest ein Logonskript schreiben, das mit der reg.exe arbeitet, um solche Werte zu dumpen. (Dazu müssten sich die Nutzer natürlich anmelden).
Oder Du liest die SIDs aud mit User2SID.exe (google) und greifst damit unter HKey_Users an.
Bitte warten ..
Mitglied: paulepank
24.01.2009 um 15:13 Uhr
Hallo ,

Für ein paar Ratschläge, Zaunpfähle und Tipps bin ich sehr dankbar.

Sollst du haben.

ich möchte als Hauptbenutzer ... Registry-Keys anderer User

dir fehlen dazu die Rechte. Mußt zu der Gruppe der Admins gehören.

Leider habe ich noch keinen Weg gefunden, die ganze Sache mittels Batch zu automatisieren

Dazu gibt es die Reg.exe. Hilfe dazu REG LOAD /? und REG QUERY /? sowie REG UNLOAD /?.
Das Ganze in ne nette FOR-Anweisung in Kombination mit FINDSTR gepackt.
Auch ein paar ECHO sollten nicht fehlen.
Für die Userauswahl gibt es verschieden Lösungsmöglichkeiten.
z.B. als Parameter beim Batchaufruf oder mit SET.
Natürlich dürfen die entsprechen User zu diesem Zeitpunkt nicht angemeldet sein.

So, das waren genug Tipps. Pack es an.

cu paulepank
Bitte warten ..
Mitglied: rdietrich
24.01.2009 um 21:30 Uhr


vielen Dank schonmal. Ich hab's hinbekommen, bisher leider ohne die Schleife. Folgendes Problem stellt sich dar:

NTUSER.DAT haben als Attribut "versteckt" und lassen sich so durch
01.
for /f "C:\Dokumente und Einstellungen\" %%i in (NTUSER.DAT?) do echo %%i
leider nicht finden. - Und selbst wenn ich alle NTUSER.DAT im aufgeführten Verzeichnis finden würde, dann wären wohl auch NTUSER.DAT von "LocalService", "NetworkService" und "Default User" dabei.

Ideal wäre wohl eine rekursive Schleife durch C:\Dokumente und Einstellungen\, die jeweils nur direkt in den Profil-Verzeichnissen - mit Ausnahme der "LocalService", "NetworkService" und "Default Users" - nach der NTUSER.DAT sucht und diese behandelt. Leider überschreitet das deutlich meinen aktuellen Batch-Horizont - für Hilfe jeder Form bin ich dankbar.

Gruß,

R.D.

P.S.: Funktioniert "REG" auch schon unter Win2k?

[Update]

mit

01.
dir "C:\Dokumente und Einstellungen" /b /s /ah | find "NTUSER.DAT"
finde ich nun alle NTUSER.DAT, wohl aber auch die in den oben aufgeführten Systemverzeichnissen. Leider funktioniert folgende Zeile nicht so richtig:

01.
for /f %%i in ('dir "C:\Dokumente und Einstellungen" /b /s /ah ^| find "NTUSER.DAT"') do echo %%i & echo.
Da kommt in der Ausgabe immer nur:

01.
C:\Dokumente
Bitte warten ..
Mitglied: paulepank
25.01.2009 um 00:33 Uhr
Hallo,

ich hab's hinbekommen

einen Schmarrn hast du. Du bittest um Tipps, beachtest sie aber nicht. Was willst du mit FIND ?
Wozu nach einer NTUSER.DAT suchen, die ist für jeden User immer da. Du mußt sie mit REG LOAD für den gewünschten User laden.
Bsp:
01.
reg load HKU\user1 "c:\dokumente und einstellungen\user1\ntuser.dat" 
02.
reg query ..... | findstr /i suchbegriff 
03.
reg unload HKU\user1
User1 wird durch eine Variable ersetzt.
Da du auch nicht schreibst für wieviele User die Abfrage erfolgen soll, kann zur Variablenübergabe auch kein Hinweis erfolgen. Tipp: Bei deinerr Anmeldung hast du zugestimmt dein BS und weitere Angaben zu beschreiben,falls nötig. Und es ist nötig. Windows ist nicht gleich Windows. Das sollte sich herumgesprochen haben. Handle auch so .


Funktioniert "REG" auch schon unter Win2k?

jetzt wird es aber wirklich Zeit zu erklären unter welchem BS die Batch laufen soll und ja, für Windows 2000 gibt es in den Windows 2000 Supporttools die REG. Tipp: Es soll Suchmaschinen geben.

BTW: hast du jetzt Admin-Rechte ?

cu paulepank
Bitte warten ..
Mitglied: rdietrich
25.01.2009 um 11:51 Uhr
Hallo,

eine Angabe zum Einsatzzweck des Scripts und zu den verwendeten Betriebssystemen wäre sicherlich sinnvoll gewesen, muss ich zugeben. Das Script soll später sowohl auf XP als auch auf Windows 2000 (mit den unterschiedlichsten Patch-Ständen) laufen und bestimmte Pfade in eine Datei schreiben, um diese später weiter zu verarbeiten.

Und ich habe es sehrwohl erfolgreich hinbekommen, die Registry-Werte eines anderen Users als Administrator auszulesen - dank deiner Tipps, die ich berücksichtigt habe. Habe es statisch mit folgendem Code gemacht:

01.
@echo off 
02.
 
03.
set tempd="C:\Dokumente und Einstellungen\testuser\NTUSER.DAT" 
04.
 
05.
if exist %tempd% ( 
06.
	echo. 
07.
	echo Datei wurde gefunden. 
08.
	echo. 
09.
	echo tempd: %tempd% 
10.
) else ( 
11.
	echo Datei wurde nicht gefunden. 
12.
13.
echo. 
14.
 
15.
REG LOAD HKLM\mytest %tempd% 
16.
echo. 
17.
 
18.
REM # Eigene Dateien auslesen und zur Sicherung hinzufügen 
19.
 
20.
for /f "tokens=2*" %%i in ('REG QUERY "HKLM\mytest\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" ^| find "Personal"') do set "pfad=%%j" 
21.
 
22.
echo Eigene Dateien: %Pfad% 
23.
echo. 
24.
REG UNLOAD HKLM\mytest 
25.
echo. 
26.
 
27.
pause
Adminrechte sind vorhanden. Die Schleife mit dem Find habe ich deswegen gewählt, weil ich bei der folgenden Schleife ohne Find-Befehl die NTUSER.DAT.logs der User mit aufgelistet bekomme, die ich nicht brauchen kann. (Zur Ermittlung der von dir beschriebenen Variable)

01.
for /f %%i in ('dir "C:\Dokumente und Einstellungen" /b /s /ah ^| find "NTUSER.DAT"') do echo %%i & echo.
Leider bin ich bisher auch noch nicht wirklich weiter gekommen.

Gruß,

R.D.
Bitte warten ..
Mitglied: paulepank
25.01.2009 um 12:03 Uhr
for /f %%i in ('dir "C:\Dokumente und Einstellungen" /b /s /ah ^| find "NTUSER.DAT"') do echo %%i & echo.

wenn du es unbedingt in dieser Weise lösen willst.
for /f "delims=" %%i in ('dir "C:\Dokumente und Einstellungen" /b /s /ah ^| find "NTUSER.DAT"') do echo %%i & echo.

cu paulepank
Bitte warten ..
Mitglied: rdietrich
25.01.2009 um 12:10 Uhr
merci

Ich wollte innerhalb dieser Schleife noch last-modified abfragen und die Excludes für die System-Verzeichnisse unterhalb von C:\Dokumente und Einstellungen\, um auch wirklich nur die NTUSER.DAT's zu erfassen, die relevant sind.

Hast du eine bessere Idee?

Gruß,

R.D.
Bitte warten ..
Mitglied: paulepank
25.01.2009 um 13:21 Uhr
Ich habe aus deiner Überschrift interpretiert, daß du die Werte nur aus bestimmten , also ausgewählten Usern auslesen willst.
Unter dieser Annahme Aufruf der Batch mit
01.
auslesen user1 user5 "user mit space" user7
und die Batch auslesen.cmd könnte als Anregung so aussehen:
01.
@echo off 
02.
for /d %%i in (%*) do ( 
03.
reg load "HKU\%%~i" "c:\dokumente und einstellungen\%%~i\ntuser.dat" >nul 
04.
for /f "tokens=3*" %%a in ('reg query "HKU\%%~i\software\microsoft\windows\currentversion\explorer\shell folders"^|findstr /i personal') do echo Speicherort der Eigenen Dateien von User %%~i ist "%%a %%b" 
05.
reg unload "HKU\%%~i" >nul)
Falls noch mehr Werte für dich interssant sind , dann vor reg unload weitere Abfragen mit for ...einfügen.

Hinweis:
REG.EXE// unter Windows 2000 und XP liefern nicht immer gleich Werte zurück

cu paulepank
Bitte warten ..
Mitglied: rdietrich
05.02.2009 um 14:28 Uhr
Für alle die, die ein ähnliches Problem haben:

Ich habe Windows Vista 64-Bit in einer Maschine im Hyper-V installiert, dort das Programm "nosmp.exe" und den Wert r_smp 1 in der q3config.cfg - daraufhin sind die Ruckler verschwunden.

Danke für die Tipps,

R.D.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Per Batch aktuell angemeldete User auslesen (1)

Frage von Peter32 zum Thema Batch & Shell ...

Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Batch & Shell
gelöst Powershell Informationen über AD-User auslesen (4)

Frage von Tungdal zum Thema Batch & Shell ...

Windows Server
gelöst AD-User einer AD-Gruppe auslesen und in ein File schreiben (15)

Frage von Estefania zum Thema Windows Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...