Wenn Sie diesen Befehl ausführen, rundll32 sysdm.cpl,EditUserProfiles
wird 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_UserProfile
nur 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.cpl
der Datei.
Es öffnet
HKLM\Software\Microsoft\Windows NT\CurrentVersion\ProfileList
den RegistrierungsschlüsselRegOpenKeyExW()
und listet alle darin enthaltenen Unterregistrierungsschlüssel auf.ProfileImagePath
Der Registrierungswert gibt%UserProfile%
den Ordnerpfad an.Von diesem Pfad
FindFirstFileW()
werden Uhrzeit und Datum der letzten Änderung abgerufen.Sid
stellt die Sicherheits-ID bereit. Jeder registrierte Benutzer hat seine eigene eindeutige SID. Aus diesem SID-WertLookupAccountSidW()
ergeben sich Benutzername, Domänenname usw.Viel mehr...