Powershell - User Remote abmelden
Hallo zusammen,
ich habe dieses Frankenstein Code Monster, es funktioniert auch. Zeile 3 und 4 meldet alle angemeldeten User ab und die restlichen Zeilen melden alle getrennten User ab.
Ich hätte es allerdings lieber in schön und kürzer, könnt ihr mir da helfen?
Danke und Gruß
Bugger
ich habe dieses Frankenstein Code Monster, es funktioniert auch. Zeile 3 und 4 meldet alle angemeldeten User ab und die restlichen Zeilen melden alle getrennten User ab.
Ich hätte es allerdings lieber in schön und kürzer, könnt ihr mir da helfen?
foreach ($server in $server)
{
query user /server:$SERVER 2>&1 | select -skip 1 | foreach {
logoff ($_ -split "\s+")[-6] /server:$SERVER
}
[string] $strUsername = ""
[string] $strSitzungsId = ""
[array] $aIgnorUsername = @("services","console","rdp","administrator")
query session /server:$SERVER | Select-String "$username\s+(\w+)" | Select-Object -Skip 1 | Foreach {
$strUsername = $_.Matches.Groups[1].Value
if($aIgnorUsername -notcontains $strUsername) {
$strSitzungsId = ((quser /server:$SERVER | ? { $_ -match $strUsername} ) -split ' +')[2]
if($strSitzungsId) {
Write-host "Benutzer $strUsername wird abgemeldet."
logoff $strSitzungsId /server:$SERVER
}
}
}
}
Danke und Gruß
Bugger
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 341344
Url: https://administrator.de/forum/powershell-user-remote-abmelden-341344.html
Ausgedruckt am: 22.02.2025 um 22:02 Uhr
4 Kommentare
Neuester Kommentar
Moin,
Gruß
foreach ($server in $server) {
query user /server:$SERVER 2>&1 | select -skip 1 | foreach {logoff ($_ -split "\s+")[-6] /server:$SERVER}
[string] $strUsername = ""
[string] $strSitzungsId = ""
[array] $aIgnorUsername = @("services","console","rdp","administrator")
query session /server:$SERVER | Select-String "$username\s+(\w+)" | Select-Object -Skip 1 | Foreach {
$strUsername = $_.Matches.Groups[1].Value
if($aIgnorUsername -notcontains $strUsername) {
$strSitzungsId = ((quser /server:$SERVER | ? { $_ -match $strUsername} ) -split ' +')[2]
if($strSitzungsId) {
Write-host "Benutzer $strUsername wird abgemeldet."
logoff $strSitzungsId /server:$SERVER
}
}
}
}
Gruß