Windows: angemeldete Benutzerer auslesen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Die Seite wurde neu angelegt: „Get-WmiObject Win32_ComputerSystem -ComputerName <COMPUTERNAME> | Select-Object Name,UserName“ |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
Get-WmiObject Win32_ComputerSystem -ComputerName <COMPUTERNAME> | Select-Object Name,UserName | Man kann die angemeldeten Benutzer anhand der Registry auslesen.<br> | ||
Von allen Benutzern die angemeldet sind, wird unter HKEY_USERS die Registry mit der SID geladen. <br> | |||
im meinem Fall hole ich mir den Benutzernamen aus der Umgebungsvariable GIT_AUTHOR_NAME die per GPO gesetzt wird.<br> | |||
$computers = @("pc01","pc02") | |||
foreach ($computer in $computers) | |||
{ | |||
write-host "gehe zu $computer" -ForegroundColor yellow | |||
invoke-command -ComputerName "$computer" -ScriptBlock { | |||
$noOutput = New-PSDrive HKU Registry HKEY_USERS | |||
Set-Location HKU: | |||
Get-ChildItem -Path HKU: | where {$_.Name.Length -gt 25 -and $_.Name -notlike "*Classes"} | % {$Path = $_.Name + "\Environment"; Get-ItemProperty -Path $Path | select GIT_AUTHOR_NAME | where GIT_AUTHOR_NAME -ne $ull} | |||
} | |||
} | |||
Alternativ kann man folgendes versuchen, aber das hat nicht auf allen Rechnern sauber funktioniert<br> | |||
Get-WmiObject Win32_ComputerSystem -ComputerName <COMPUTERNAME> | Select-Object Name,UserName | |||
Version vom 26. Februar 2016, 12:18 Uhr
Man kann die angemeldeten Benutzer anhand der Registry auslesen.
Von allen Benutzern die angemeldet sind, wird unter HKEY_USERS die Registry mit der SID geladen.
im meinem Fall hole ich mir den Benutzernamen aus der Umgebungsvariable GIT_AUTHOR_NAME die per GPO gesetzt wird.
$computers = @("pc01","pc02")
foreach ($computer in $computers)
{
write-host "gehe zu $computer" -ForegroundColor yellow
invoke-command -ComputerName "$computer" -ScriptBlock {
$noOutput = New-PSDrive HKU Registry HKEY_USERS
Set-Location HKU:
Get-ChildItem -Path HKU: | where {$_.Name.Length -gt 25 -and $_.Name -notlike "*Classes"} | % {$Path = $_.Name + "\Environment"; Get-ItemProperty -Path $Path | select GIT_AUTHOR_NAME | where GIT_AUTHOR_NAME -ne $ull}
}
}
Alternativ kann man folgendes versuchen, aber das hat nicht auf allen Rechnern sauber funktioniert
Get-WmiObject Win32_ComputerSystem -ComputerName <COMPUTERNAME> | Select-Object Name,UserName