florian86
Goto Top

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

Content-Key: 266568

Url: https://administrator.de/contentid/266568

Printed on: April 26, 2024 at 01:04 o'clock

Mitglied: 114757
Solution 114757 Mar 17, 2015 updated at 14:33:59 (UTC)
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
Member: Florian86
Florian86 Mar 17, 2015 at 14:33:56 (UTC)
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
Member: colinardo
Solution colinardo Mar 17, 2015 updated at 14:46:44 (UTC)
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
Member: Florian86
Florian86 Mar 18, 2015 at 07:07:22 (UTC)
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
Member: Florian86
Florian86 Mar 18, 2015 at 07:58:09 (UTC)
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
Member: colinardo
colinardo Mar 18, 2015 updated at 10:18:00 (UTC)
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
Member: Florian86
Florian86 Mar 18, 2015 at 12:31:06 (UTC)
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
Member: colinardo
colinardo Mar 18, 2015 updated at 12:42:04 (UTC)
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.
Member: Florian86
Florian86 Mar 18, 2015 at 12:51:09 (UTC)
Goto Top
hmm ich habe bei mir die 4.0 stehen da geht es nicht bei 2.0 und 3.0 geht es.
Member: colinardo
colinardo Mar 18, 2015 updated at 13:00:42 (UTC)
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?
Member: Florian86
Florian86 Mar 18, 2015 at 13:18:14 (UTC)
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