Woher bezieht sysdm.cpl,EditUserProfiles die Daten?

Woher bezieht sysdm.cpl,EditUserProfiles die Daten?

Wenn Sie diesen Befehl ausführen, rundll32 sysdm.cpl,EditUserProfileswird das Fenster „Benutzerprofile“ mit Details zu den auf diesem Computer gespeicherten Profilen angezeigt. Die Geschwindigkeit, mit der dieser Bildschirm geladen wird, lässt darauf schließen, dass diese Daten irgendwo lokal gespeichert und nicht spontan generiert werden.

Ich möchte herausfinden, wo sich diese Daten befinden, damit sie programmgesteuert abgerufen werden können, da durch Abfragen Win32_UserProfilenur eine Teilmenge der Daten bereitgestellt wird. Außerdem suche ich speziell nach der Profilgröße und nicht nach einer manuellen Berechnung.

Antwort1

Ordnergrößen werden nirgendwo speziell als Variable gespeichert, sie werden berechnet, wenn Sie mit der rechten Maustaste auf „Eigenschaften“ im Profilordner „c:\users“ klicken. Alle Standort- oder Teilmengendaten, die Sie benötigen, finden Sie in der Registrierung unter diesem Schlüssel:

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

Wenn Sie eine Liste der Profilgrößen zusammenstellen müssen, fragen Sie am besten „c:\users“ ab. Powershell wäre hierfür meine erste Anlaufstelle. Beachten Sie auch, dass der Speicherort „c:\users“ nur dann das vollständige Profil enthält, wenn Roaming-Profile nicht aktiviert sind und Sie keine Ordnerumleitungsrichtlinie verwenden. Andernfalls müssten Sie den Speicherort abfragen, an dem sie gespeichert sind.

Wenn Sie an der Powershell-Methode interessiert sind, sehen Sie sich bitte den Link unten an. Darin wird detailliert beschrieben, wie Sie das Ordnergrößenmodul verwenden. Anschließend müssen Sie zur Identifizierung nur noch den Ordnernamen hinzufügen. Ein Standardprodukt, das dies für Sie erledigen kann, heißt „Spacesniffer“ – führen Sie es unter „c:\users“ aus und Sie erhalten ein Diagramm mit verschiedenen Formgrößen für jedes Profil. Sie können es bei Bedarf sogar in eine Datei exportieren.

bearbeiten: Link vergessenhttps://www.gngrninja.com/script-ninja/2016/5/24/powershell-calculating-folder-sizes

Raumschnüffler:http://www.uderzo.it/main_products/space_sniffer/

Antwort2

Warnung:Das Thema ist zu umfangreich, um es in kurzen Fragen und Antworten zu erklären. Wer interessiert ist, kann den gesamtensysdm-Ordnerim ReactOS-Repository.

Hier fasse ich die Vorgehensweise unter Windows 10 zusammen. Die Details entnehme ich der BOOL EditUserProfiles(HWND hWndParent)Funktion in sysdm.cplder Datei.

  1. Es öffnet HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList den Registrierungsschlüssel RegOpenKeyExW()und listet alle darin enthaltenen Unterregistrierungsschlüssel auf.

  2. ProfileImagePathDer Registrierungswert gibt %UserProfile%den Ordnerpfad an.

  3. Von diesem Pfad FindFirstFileW()werden Uhrzeit und Datum der letzten Änderung abgerufen.

  4. Sidstellt die Sicherheits-ID bereit. Jeder registrierte Benutzer hat seine eigene eindeutige SID. Aus diesem SID-Wert LookupAccountSidW()ergeben sich Benutzername, Domänenname usw.

  5. Viel mehr...

verwandte Informationen