Wie kann aus cmd geprüft werden, ob ein Profilstatus lokal oder temporär oder Roaming oder Backup ist?

7283
DannyBoi

Wie kann aus cmd geprüft werden, ob ein Profilstatus lokal oder temporär oder Roaming oder Backup ist?

Ich habe eine Möglichkeit, den TYP und den STATUS der Profile im Computer von der Befehlszeile aus zu überprüfen.

Normalerweise bekommen wir es hier ....

Systemeigenschaften

Ich werde eine Verbindung zum Computer herstellen. psexec \\ipaddress cmd Dann möchte ich einen Befehl ausführen, um diese Informationen anzuzeigen.

Ich könnte es in der Registry überprüfen, indem ich den PROFILE IMAGE PATH analysiere, aber dafür muss ich zuerst die SID finden. Diese Methode ist jedoch nicht perfekt, weil sie mir nur sagt, ob sie lokal ist oder nicht.

Ich würde eine Befehlszeilenmethode vorziehen, um die Profilgröße, den Typ und den Status zu überprüfen. 'Status' ist die Priorität in dieser Frage. Ich möchte den Profilstatus eindeutig unterscheiden, ob es sich um lokales oder roaminges oder temporäres oder Backup handelt.

Bitte helfen

3
Diese SU-Frage bietet möglicherweise Hilfe: [Wie erhalte ich die SID des Windows-Benutzerkontos?] (Http://superuser.com/questions/231908/how-to-know-sid-of-windows-user-account) Ƭᴇcʜιᴇ007 vor 7 Jahren 0

2 Antworten auf die Frage

1
lightwing

Sie können WMI über Powershell mit psexec mit dem folgenden Befehl abfragen:

powershell.exe -command "gwmi win32_userprofile | select localpath,roamingpath,status" 

localpath mit geben Sie den Benutzernamen und den Status an.

Win32_UserProfile-Klasse

Statuswerte:

  • Undefined - 0 - Der Status des Profils ist nicht festgelegt.
  • Temporär - 1 - Das Profil ist ein temporäres Profil und wird gelöscht, nachdem sich der Benutzer abgemeldet hat.
  • Roaming - 2 - Das Profil ist auf Roaming eingestellt. Wenn dieses Bit nicht gesetzt ist, wird das Profil auf lokal gesetzt.
  • Obligatorisch - 4 - Das Profil ist ein obligatorisches Profil.
  • Beschädigt - 8 - Das Profil ist beschädigt und wird nicht verwendet. Der Benutzer oder Administrator muss die Beschädigung beheben, um das Profil verwenden zu können.

Wenn Sie jedoch psexec können, können Sie möglicherweise einfach den Befehlsschalter "powershell gwmi" verwenden, um das Gerät aus der Ferne zu treffen:

gwmi win32_userprofile -computername mypc | select localpath,roamingpath,status 

Um die Anfrage zur Profilgröße zu beantworten, kann dies hilfreich sein: Hey Scripting Guy Blog: Verwenden Sie PowerShell, um die Größe des Benutzerprofils zu ermitteln

`powershell.exe -command" gwmi win32_userprofile | select localpath, roamingpath, status "` zeigt nur die Liste der lokalen Pfade an DannyBoi vor 7 Jahren 0
Ich bin mir nicht sicher. Ich habe es auf meinem eigenen System auf einem Server wie dem folgenden getestet: `psexec \\ servername powershell -command" gwmi win32_userprofile | select localpath, roamingpath, status "` Es wurden die für mich erwarteten Ergebnisse zurückgegeben. Ist es möglich, dass sich auf Ihrem Gerät keine servergespeicherten Profile befinden? Wenn es keine servergespeicherten Profile gibt, ist die Spalte des servergespeicherten Profils leer und der Status ist etwas anderes als 2 (0, wenn er lokal ist). lightwing vor 7 Jahren 0
Versuche dies. Es wird bestätigt, ob diese Felder in der WMI-Klasse des von Ihnen getesteten Systems vorhanden sind: `psexec \\ servername powershell.exe - Befehl" gwmi win32_userprofile | get-member "'' Get-member gibt eine Liste aller Eigenschaften und zurück Methoden, die für den Befehl verfügbar sind, der an ihn geleitet wird. lightwing vor 7 Jahren 0
Ich habe also 'get-member' und Localpath, Roaming Path, Status sind alle da. Ich habe den Befehl stückweise von cmd ausgeführt. 'powershell', dann 'gwmi', dann 'win32_userprofile' zeigt alle Informationen an, einschließlich `Localpath, Roaming Path, Status '. Der Roaming-Pfad ist leer, der Status ist jedoch in Ordnung. DannyBoi vor 7 Jahren 0
@ltghtwing ..... Ich habe den Befehl "powershell.exe" ausprobiert "gwmi win32_userprofile | select status" `Es kam alles leer. Dann habe ich es in eine Textdatei kopiert und festgestellt, dass in der Statusspalte ** in Spalte 445 ** angezeigt wird. Wir brauchen einen besseren Filter DannyBoi vor 7 Jahren 0
1
Pimp Juice IT

Wie kann aus cmd geprüft werden, ob ein Profilstatus lokal oder temporär oder Roaming oder Backup ist?

Hier ist die reine WMIC- Methode der Befehlszeile, um den Status basierend auf dem LocalPath- Wert des zu überprüfenden Benutzernamens abzurufen .

Stellen Sie sicher, dass der %username%Wert des zu überprüfenden Profils explizit an Stelle von gesetzt wird, %username%wenn das Profil, unter dem Sie es ausführen, nicht überprüft wird, wenn Sie es ausführen.

Der Befehl

WMIC PATH win32_UserProfile WHERE LocalPath="c:\\users\\%username%" GET Status 

Ergebnis Beispiel

enter image description here


Statuswert Bedeutungen

Status

Datentyp: uint32

Zugriffstyp: Schreibgeschützt

Ruft ein Bitfeld ab, das den Status des Profils enthält.


Diese Eigenschaft enthält einen oder mehrere der folgenden Werte:

  • Wert: 0 undefiniert
    • Bedeutung: Der Status des Profils ist nicht gesetzt.

  • Wert: 1 Temporär
    • Bedeutung: Das Profil ist ein temporäres Profil und wird gelöscht, nachdem sich der Benutzer abgemeldet hat.

  • Wert: 2 Roaming
    • Bedeutung: Das Profil ist auf Roaming eingestellt. Wenn dieses Bit nicht gesetzt ist, wird das Profil auf lokal gesetzt.

  • Wert: 4 Pflicht
    • Bedeutung: Das Profil ist ein Pflichtprofil.

  • Wert: 8 beschädigt
    • Bedeutung: Das Profil ist beschädigt und wird nicht verwendet. Der Benutzer oder Administrator muss die Beschädigung beheben, um das Profil verwenden zu können.

Quelle


Weitere Ressourcen