Manchmal ist es wünschenswert, wenn wir uns relativ schnell alle verfügbaren Informationen zu einem lokalen Userkonto abrufen können. Dies ist relativ einfach über einen passenden Befehl möglich und wir erhalten damit umfassende Informationen zu allen Userinformationen. Der notwendigen Befehl dazu lautet
net user USERNAME
Wir haben Euch den gesamten Vorgang hier nachfolgend einmal abgebildet.
Den Befehl führt Ihr am besten direkt in einer Eingabeaufforderung auf. Wie Ihr diese am einfachsten und schnellsten aufrufen könnt, haben wir in unserem Artikel „Programme beim Start über den Ausführen Dialog als Administrator ausführen“ beschrieben.
Für den Platzhalter „USERNAME“ müsst Ihr natürlich die komplett richtige Schreibweise des Usernamens angeben. Anschließend erhaltet Ihr folgenden umfangreiche Liste aller Userdaten.
- Benutzername
- Vollständiger Name
- Beschreibung
- Benutzerbeschreibung
- Länder-Regionscode (000 ist die Standardvorgabe)
- Konto aktiv
- Konto abgelaufen
- Letztes Setzen des Kennworts (Datum und Uhrzeit)
- Kennwort läuft ab
- Kennwort änderbar (Datum und Uhrzeit)
- Kennwort erforderlch
- Benutzer kann Kennwort ändern
- Erlaubte Arbeitsstationen
- Anmeldeskript
- Benutzerprofil
- Basisverzeichnis
- Letzte Anmeldung (Datum und Uhrzeit)
- Erlaubte Anmeldezeiten
- Lokale Gruppenmitgliedschaften
- Globale Gruppenmitgliedschaften
Sollten bei diesen Userinformationen Daten fehlen oder falsch sein, so könnt Ihr diese ebenfalls sehr einfach über den „net user“ Befehl ändern. Wenn Ihr z.B. die Beschreibung des Userkontos ändern möchtet, so heißt der Befehl
net user USERNAME KENNWORT /comment:“Windows-FAQ User Account als Beispiel“
Auf diese Art und Weise könnt Ihr somit jegliche Userdaten anpassen bzw. ändern. Folgende englischsprachigen Parameter könnt Ihr dann für die einzelnen Fehler benutzen:
/active, /comment, /countrycode, /expires, /fullname, /homedir, /passwordchg, /passwordreq, /logonpasswordchg, /profilepath, /scriptpath, /times, /usercomment, /workstations
Weitere Informationen zu Benutzerkonten und Useraccounts findet Ihr auch in folgenden Beiträgen:
– Benutzerkonto deaktivieren unter Windows 10
– Schnell zwischen Benutzerkonten wechseln bei Windows 10 (Fast User Switching)
– Windows User Profile in der Registry löschen
– Mit der PowerShell lokale User und Gruppen bearbeiten
– Veraltete Computer oder User im Active Directory finden
– Feststellen, welcher AD User sich noch nie angemeldet hat
– Windows User SID (Sicherheitskennungen) von allen Usern auslesen
– LastLogon (Letzter Login) eines Users im AD feststellen per Get-ADUser
Habe ein cmd-Script um mittels pwsh die lokalen Windowsaccounts inkl. SID auszulesen. Interessiert zum Beröffentlichen?
Klar, jederzeit gerne. Du kannst das Script hier gerne veröffentlichen oder an über unser Kontaktformular an uns verschicken. VG Michael
Danke Michael, so sieht das Script aus:
CMD-Script um mittels Powershell die lokalen Windowsaccounts inkl. SID auszulesen.
@REM GetLocalUsers.cmd; v2024.12.13; jenny.helm@me.com
@SET „USER=%USERNAME%“
@TITLE %DATE% %TIME% %USER%
:: alle lokalen Benutzergruppen
pwsh.exe -noP -w max -c .{GLG} ^| ft
:: der angemeldete Benutzer
pwsh.exe -noP -w max -c .{GLU -Name $env:USER ^| select Name, FullName, Description}
:: ausgewählte Eigenschaften aller Benutzer
pwsh.exe -noP -w max -c .{GLU ^| select Name,FullName,LastLogon,Enabled,PasswordLastSet,Description ^| sort LastLogon} ^| ft
:: alle lokalen Administratoren, inkl. SID
pwsh.exe -noE -noP -w max -c .{GLGM Administratoren ^| select *}
Hallo Jenny, herzlichen Dank für das Script. Das wird sicherlich zahlreichen Lesern helfen. VG Michael
Hallo Michael, hier das Gegenstück von „Benutzername, Benutzerinformationen . . . nicht anzeigen“:
Verwendest du auf deinem Gerät mehrere lokale Accounts, ist es hilfreich, wenn im ANMELDE-Bildschirm nicht nur der Accountname, sondern
auch der Zeitpunkt der letzten Aktion: Login/Logout/Takeoff/Shutdown ausgewiesen wird. Das verbessert die Übersichtlichkeit
nicht nur im Mehrnutzer-, sondern auch im Einzelnutzerbetrieb.
z. B. (hier leider aus Mangel an der gesperrten Nutzung der Zwischenablage):
Jenny Logout 30.12. Mo 12:34:15
Der Name des vordefinierten und aktivierten Adminkontos wird (im Anmeldebildschirm) durch den Geräte-Modellnamen ersetzt,
z. B.:
LIFEBOOK E5513 TakeOff 22.01. Mi 8:57:39
Hier der Quelltext des ps1-Scriptes zur freien Verwendung:
#Impressum: jenny.helm@me.com; 21.01.2025; Pwsh 7.4.6; Windows 10.0.19045; 105 Zeilen;
$cmdlet = $MyInvocation.MyCommand.Name.Substring(0, $MyInvocation.MyCommand.Name.length-4)
$userName = „$env:USERNAME“
$compName = „$env:COMPUTERNAME“
$logFile = „C:\Users\PUBLIC\$cmdlet-$compName-KW$(get-date -uf ‚%W‘).txt“ # %W=KalenderWoche 0..53
$NL = [System.Environment]::NewLine
$modell = (get-CimInstance win32_Computersystem).Model
$AdminName = (get-CimInstance win32_UserAccount | Where {$_.SID.EndsWith(‚-500‘)}).Name
$zeit = „$(get-date -format ‚dd.MM. ddd H:mm:ss‘)“
####FUNC##############
Function POPUP ($titel, $mitteilung)
{
[int]$popupTime_sec= 20
$msg= $mitteilung.replace($NL, ‚__‘)
„$NL$zeit POPUP_T $titel“ | out-file $logFile -append
„POPUP_M $msg“ | out-file $logFile -append
$objShell= new-object -comObject WScript.Shell
[int]$vbOK = 0
[int]$vbCritical = 16 + 4096 + 65536 # vbSystemModal+vbMsgBoxSetForeground
[int]$vbWarnung = 48 + 4096 + 65536
[int]$vbInfo = 64 + 4096 + 65536
$objShell.Popup($mitteilung, $popupTime_sec, „$titel`: $cmdlet“, $vbCritical)
} #exit func
####MAIN##############
if ([string]::IsNullOrEmpty($args[0]))
{
POPUP „$zeit ABORT16“ „Argument erforderlich: -in | -out | -up | -down“
exit 16
} else {
$arg0= $args[0]
}
„$NL*AUFRUF: $([System.Environment]::Commandline)“ | out-file $logFile -append
switch -wildcard($arg0)
{
„-in“ { $stat = „Login“
$actUser = $userName
break}
„-out“ { $stat = „Logout“
$actUser = $userName
break}
„-up“ { $stat = „TakeOff“
if ($userName.EndsWith(‚$‘))
{
$actuser = $adminName
} else {
$actuser = $userName
}
break}
„-down“ { $stat = „ShutDown“
if ($userName.EndsWith(‚$‘))
{
$lastUser = (glu | select * | sort lastLogon)[-1].name
$actuser = $lastUser
} else {
$actuser = $userName
}
break}
default { $stat= „Default N.N.“
„*DEFAULT: $arg0 ABORT32 $zeit –> $stat >>$($error)<<< $uic"
POPUP "$arg0" $msg; exit 64
} #exit if
EXIT -1
Hallo Jenny, super, vielen Dank und viele Grüße. Michael