florian86

Rwinsta Benutzername abmelden

Hallo,

kann man irgendwie mit den Befehl rwinsta auch über den Benutzernamen abmelden?
Laut Beschreibung funktioniert ja nur die ID und Sitzungsname.

Das Script soll automatisch laufen. Nur ändert sich ja immer die ID, so dass ich die im Script nicht hinterlegen kann.

MfG

Florian86
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 266568

Url: https://administrator.de/forum/rwinsta-benutzername-abmelden-266568.html

Ausgedruckt am: 11.05.2025 um 01:05 Uhr

114757
Lösung 114757 17.03.2015 aktualisiert um 15:33:59 Uhr
Goto Top
@echo off
for /f "tokens=3" %%a in ('qwinsta /Server:SERVERNAME ^| findstr /i "USERNAME"') DO set id=%%a  
rwinsta %id% /Server:SERVERNAME 
Gruß jodel32
Florian86
Florian86 17.03.2015 um 15:33:56 Uhr
Goto Top
Hallo Jodel,

ich war bissl zu spät... ich konnte es jetzt auch mit Powershell selber lösen...

$server = 'Server'
$username = "Username"

$session = ((quser /server:$server | ? { $_ -match $username }) -split ' +')[2]

logoff $session /server:$server
colinardo
Lösung colinardo 17.03.2015 aktualisiert um 15:46:44 Uhr
Goto Top
Ab Server 2012R2 und Windows 8.1 geht das auch nativ mit Powershell:
Get-RDUserSession -ConnectionBroker "rdcb.domain.com" | ?{$_.Username -eq "MaxMuster"} | Invoke-RDUserLogoff -Force  
Grüße Uwe
Florian86
Florian86 18.03.2015 um 08:07:22 Uhr
Goto Top
Hallo nochmal,

kann mir jemand sagen warum mein Powershell Script nur mit dem ISE funktioniert.
Führe ich es normal aus beendet er meine Session nicht.

MfG

Florian86
Florian86
Florian86 18.03.2015 um 08:58:09 Uhr
Goto Top
Ich habe nun mal ein Write-Hoste hinzugefügt und gesehen das er aus der Powershell heraus mit dem quser nicht zurecht kommt.
Im ISE funktioniert es aber!

Kann mir das jemand erklären?

lg

Florian86
colinardo
colinardo 18.03.2015 aktualisiert um 11:18:00 Uhr
Goto Top
Da wird der Index des Arrays vermutlich nicht mehr stimmen...
Machs besser so:
$server = 'Server'  
$username = "Username"  
$match = (quser /server:$server | ?{$_ -match $username}) -match '\s*(\d+)\s*'  
if ($match){
  logoff $matches[1] /server:$server
}
Grüße Uwe
Florian86
Florian86 18.03.2015 um 13:31:06 Uhr
Goto Top
Hallo Uwe,

es kommt immer folgende Meldung....

quser : Die Benennung "quser" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines
ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern
enthalten), und wiederholen Sie den Vorgang.
In C:\Users\decker-f\Desktop\AbmeldungLagerkh.ps1:4 Zeichen:11

back-to-top$match = (quser /server:$server | ?{$_ -match $username}) -match '\s*(\d+)\s*'

back-to-top~~~~~

+ CategoryInfo : ObjectNotFound: (quser:String) , CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException


MfG

Florian86
colinardo
colinardo 18.03.2015 aktualisiert um 13:42:04 Uhr
Goto Top
Geht hier sowohl mit PS3.0 als auch mit PS2.0. Dann musst du den kompletten Pfad zur ausführbaren Datei angeben. Oder die query user hernehmen. quser ist vermutlich nur ein Alias.
Florian86
Florian86 18.03.2015 um 13:51:09 Uhr
Goto Top
hmm ich habe bei mir die 4.0 stehen da geht es nicht bei 2.0 und 3.0 geht es.
colinardo
colinardo 18.03.2015 aktualisiert um 14:00:42 Uhr
Goto Top
Zitat von @Florian86:
hmm ich habe bei mir die 4.0 stehen da geht es nicht bei 2.0 und 3.0 geht es.
selbst hier auf 4.0 kein Problem, aber solltest du wie schon gesagt bei dir mit Angabe des vollständigen Pfades zur quser beheben können.
32 oder 64 BIt Konsole ?
Was sagt bei dir qwinsta oder query user ist alles ähnlich?
Florian86
Florian86 18.03.2015 um 14:18:14 Uhr
Goto Top
qwinsta und query user hatte ich auch schon probiert... naja unter 2.0 und 3.0 funktioniert es ja erstmal.

Danke dir.

MfG

Florian86