Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Microsoft Windows Server

GELÖST

Windows 2k3, RDP-Abmeldung via Script

Mitglied: d4shoerncheN

d4shoerncheN (Level 2) - Jetzt verbinden

06.08.2012, aktualisiert 11:25 Uhr, 7110 Aufrufe, 25 Kommentare, 1 Danke

Hallo, Community.

Es kommt bei uns häufiger vor, dass sich ein bestimmter User auf unserem TSE nicht ordnungsgemäß abmeldet und einfach nur die Verbindung trennt.

Dies führt zu keiner korrekten Durchführung der Datensicherung.

Dem Benutzer wurde schon mehrfach schriftlich, wie auch telefonisch, mitgeteilt wie er sich abzumelden hat. Allerdings bringt dies alles nichts - reine Gewohnheit, vergessen, oder einfach nicht zu verstehen!? Keine Ahnung.

Aus diesem Grund möchte ich nun ein Script, welches einen bestimmten Benutzer vom TSE abmeldet.

Hier im Forum bin ich auf folgenden Beitrag gestoßen:
Allerdings würde ich das Ganze gerne ohne irgendwelche Zusatzsoftware (in dem Fall xCMD.exe) gelöst bekommen.

Im Technet von Microsoft habe ich etwas gefunden, was sich allerdings auf die Session-ID's bezieht. Auch hier leider nicht wirklich hilfreich.

Hoffe Ihr kennt ein kleines Script, welches ich zu einer bestimmten Uhrzeit via Task ausführen lassen kann - welches dann einen bestimmten Nutzer (anhand des Benutzernamens) abmeldet.

Vielen Dank und

mit freundlichen Grüßen
Euer hoerncheN

NACHTRAG 11:23 Uhr
Die Konfiguration der Terminaldienste, getrennte Verbindungen nach einer gewissen Zeit selbstständig zu beenden ist nicht gewünscht.
Mitglied: Penny.Cilin
06.08.2012 um 11:31 Uhr
Zitat von d4shoerncheN:
Hier im Forum bin ich auf folgenden Beitrag gestoßen:
> http://www.administrator.de/contentid/54387
Allerdings würde ich das Ganze gerne ohne irgendwelche Zusatzsoftware (in dem Fall xCMD.exe) gelöst bekommen.

Im Technet von Microsoft habe ich etwas gefunden, was sich allerdings auf die Session-ID's bezieht. Auch hier leider nicht
wirklich hilfreich.
> http://support.microsoft.com/kb/321705/de

Halli hallo hallöle,

ich bin jetzt nicht der Skriptspezi, aber Du hast durch Deine zwei Links gute Ansätze gefunden. Nimm aus dem ersten Link das Skript und ersetze xcmd.exe durch tdiscon. Man müßte das Skript in sofern anpassen, daß anhand der Session ID die benutzerkennung ermittelt wird und dann die Session des Benutzers getrennt wird.


Gruss Penny.
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012 um 11:38 Uhr
Hallo,

vielen Dank für die schnelle Antwort.

Man müßte das Skript in sofern anpassen, daß anhand der Session ID die benutzerkennung ermittelt wird und dann die Session des Benutzers getrennt wird.

Da fängt es schon an...
ich bin jetzt nicht der Skriptspezi
Ich leider auch nicht. Um ehrlich zu sein, habe ich vom Scripts in jeglicher Form (abgesehen von PHP etc.) ehr gar keine Ahnung davon.

Gruß
Bitte warten ..
Mitglied: bastla
06.08.2012 um 11:54 Uhr
Hallo d4shoerncheN und Penny.Cilin!

Vielleicht kann ich (auf Basis von Query Session - ich kann das leider nicht selbst testen) mit folgendem Oneliner-Batch (zum direkten Testen in CMD jeweils nur %i anstatt %%i) etwas assistieren:
for /f "tokens=3" %%i in ('query session^|findstr /i "Benutzername"') do tsdiscon %%i
Grüße
bastla
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012, aktualisiert um 11:59 Uhr
Hallo bastla,

vielen Dank für das Script.
Werde es jetzt mal testen und melde mich gleich zurück...

... wieder da.
Bekomme folgende Fehlermeldung
tsdiscon Getr. Sitzungsname Getr. nicht gefunden

Script wie folgt in der CMD.exe ausgeführt:
 for /f "tokens=3" %i in ('query session^|findstr /i "USER1"') do tsdiscon %i
Gruß
Bitte warten ..
Mitglied: bastla
06.08.2012, aktualisiert um 12:15 Uhr
Hallo d4shoerncheN!

Der Fehlermeldung entsprechend passt die Tokennummer (4) nicht - führe zu Sicherheit bitte
query session>Sessions.txt
aus und poste den Inhalt der "Sessions.txt" unter Verwendung von "<code>"- und "</code>"-Tags.

[Edit] Da ja auch der Name der Session verwendbar sein sollte, kannst Du auch noch
for /f %i in ('query session^|findstr /i "USER1"') do tsdiscon %i
versuchen (wäre vermutlich auch sicherer) ...
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012, aktualisiert um 12:34 Uhr
Hallo bastla,

dein Wunsch sei mir Befehl

01.
 SITZUNGSNAME      BENUTZERNAME             ID  STATUS  TYP         GERŽT 
02.
 console                                     0  Verb.   wdcon                
03.
 rdp-tcp                                 65536  Abh”r.  rdpwd                
04.
 rdp-tcp#191       USER1                        5  Aktiv   rdpwd                
05.
 rdp-tcp#175       USER2                        2  Aktiv   rdpwd                
06.
 rdp-tcp#176       USER3                        3  Akti    rdpwd                             
07.
                   USER4                       14  Getr.   rdpwd                
08.
>rdp-tcp#196       Administrator            15  Aktiv   rdpwd   
USER4 ist in dem Fall der Benutzer, der nur getrennt wurde

NACHTRAG
for /f %i in ('query session^|findstr /i "USER4"') do tsdiscon %i
Erhalte dann folgendes
C:\>tsdiscon USER4 
Sitzungsname USER4 nicht gefunden
Bitte warten ..
Mitglied: bastla
06.08.2012, aktualisiert um 12:34 Uhr
Hallo d4shoerncheN!

Wie schon vermutet, kann Token 4 natürlich nicht funktionieren - mit 3 sollte es gehen (wobei ich aber trotzdem den Sitzungsnamen bevorzugen würde) ...
[Edit] Blödsinn - 4 hatte ich ja ohnehin nicht verwendet - trotzdem sollte es mit 3 funktionieren [/Edit]
Sitzungsname USER4 nicht gefunden
ist strange, da ja nach "USER1" gefiltert wird - für
query session|findstr /i "USER1"
sollte das Ergebnis eigentlich so aussehen:
 rdp-tcp#191       USER1                        5  Aktiv   rdpwd               
und daraus müsste dann
tsdiscon rdp-tcp#191
resultieren ...

Grüße
bastla
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012 um 12:36 Uhr
Hallo, bastla.

Sorry - hier muss ich meinen Fehler eingestehen.
ist strange, da ja nach "USER1" gefiltert wird - für
Habe natürlich USER4 genommen, um es der Tabelle anzupassen.

Wenn ich folgendes eingebe, bekomm ich nachfolgende Fehlermeldung:
query session|findstr /i "USER4"
USER4 14  Getr.   rdpwd
Gruß
Bitte warten ..
Mitglied: bastla
06.08.2012 um 12:38 Uhr
Hallo d4shoerncheN!

Jaja, die 4 ...

Wenn es nur um getrennte Sitzungen gehen soll, dann so:
for /f "tokens=2" %i in ('query session^|findstr /i "USER4"^|findstr /i "getr"') do tsdiscon %i
Grüße
bastla
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012, aktualisiert um 12:47 Uhr
Huhu bastla,

so halb hab ich dich schon geknutscht. Das Script scheint soweit zu funktionieren, es erscheint keine Fehlermeldung mehr und er zieht sich die richtige ID.

tsdiscon 14
Allerdings bleibt der Status des Benutzers weiterhin auf "Verbindung getrennt" und verschwindet nicht.
Ich vermute mal, ohne Programmierkenntnisse zu haben, dass ich es mal wie folgt testen sollte:
for /f "tokens=2" %i in ('query session^|findstr /i "USER4"^|findstr /i "getr"') do tsdiscon rdp-tcp#%i
Hat sich erledigt, kann ja auch nicht stimmen!

Gruß
Bitte warten ..
Mitglied: bastla
06.08.2012, aktualisiert um 12:55 Uhr
Hallo d4shoerncheN!

Mit
tsdiscon rdp-tcp#14
- kannst Du auch gleich so testen - dürftest Du eher keinen Erfolg haben - das Beispiel auf der MS-Seite (und ich kann, wie gesagt, leider nicht selbst testen) ist in dieser Hinsicht suboptimal, da Die Sitzungsnummer und die ID jeweils 5 ist ...

[Edit] Da es aber mit "tsdiscon" ja eigentlich um das Trennen von Sessions geht, sind wir vielleicht ohnehin auf dem falschen Dampfer ... [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012 um 12:53 Uhr
Hallo bastla,

- kannst Du auch gleich so testen - dürftest Du eher keinen Erfolg haben
Hatte ich bereits gemerkt, daher auch durchgestrichen oben.

Gruß
Bitte warten ..
Mitglied: Penny.Cilin
06.08.2012 um 12:59 Uhr
Halli hallo Hallöle,

isch werfe da mal qwinsta bzw rwinsta rein, da es sich um RDP-Sessions handelt. Die Syntax ist analog zu tdiscon.


Gruss Penny.
Bitte warten ..
Mitglied: bastla
06.08.2012 um 13:01 Uhr
... und ich habe auf die Schnelle noch einen Thread "Script to log off DISCONNECT terminal services connections" gefunden (komme aber gerade nicht dazu, mir das näher anzusehen) ...

Grüße
bastla
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012, aktualisiert um 13:12 Uhr
Hey ihr Beiden,

ihr seid die Besten!

Mit
for /f "tokens=2" %i in ('query session^|findstr /i "USER4"^|findstr /i "getr"') do rwinsta %i
funktioniert es wunderbar. Vielen lieben Dank noch einmal.

P.S.: Bastla, muss ich es - wenn ich es als. bat ausführen lasse - wieder %%i nutzen, statt %i?

NACHTRAG
Habe es mit %%i in einer .bat-Datei getestet. Funktioniert wunderbar und auch nur wenn der Benutzer getrennt ist. Perfekt! Freitag kann ich es denn in der Praxis testen.

Gruß
Bitte warten ..
Mitglied: Penny.Cilin
06.08.2012, aktualisiert um 13:14 Uhr
Ja, musst Du

@bastla:
Könnte man dies evtl. so erweitern, daß auch auf einem englischen Sysstem läuft.
D.h. Abfrage der Sprache und dann den Befehle zum disconnecten?


Gruss Penny.
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012 um 13:13 Uhr
Perfekt, danke nochmals.

Somit -> GELÖST!
Bitte warten ..
Mitglied: bastla
06.08.2012 um 14:58 Uhr
Hallo Penny.Cilin!
Abfrage der Sprache und dann den Befehle zum disconnecten?
... oder bilingual anlegen:
for /f "tokens=2" %i in ('query session^|findstr /i "USER1"^|findstr /i "getr disc"') do rwinsta %i
Noch eine Anmerkung: Damit es zB nur den "USER1" und nicht auch einen "USER12" erwischt, könnte noch das Leerzeichen vor und nach dem Usernamen mit geprüft werden:
<code type="plain">for /f "tokens=2" %i in ('query session^|findstr /ic:" USER1 "^|findstr /i "getr disc"') do rwinsta %i
Grüße
bastla
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012, aktualisiert um 15:13 Uhr
Hallo, bastla.

Werde mein script auch mal so erweitern.
for /f "tokens=2" %%i in ('query session^|findstr /ic:" USER1 "^|findstr /i "getr disc"') do rwinsta %%i
Kann ich, wenn ich es wie folgt abänder, quasi mitloggen?
for /f "tokens=2" %%i in ('query session^|findstr /ic:" USER1 "^|findstr /i "getr disc"') do rwinsta %%i > C:\log.txt
Gruß
Bitte warten ..
Mitglied: Penny.Cilin
06.08.2012 um 15:17 Uhr
Sollte meines Wissens kein Problem darstellen. Tipp Setze vor Ausführung noch ein TIME /T, damit Du weiß wann der Disconnect ausgeführt wurde.


Gruss Penny.
(die Glaskugel ist b.a.w. in Urlaub)
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012 um 15:23 Uhr
Hey Penny,

Zeit bringt mir in diesem Fall nicht sonderlich viel. Da das Script jeden Freitag um 18:45 Uhr ausgeführt wird, wird natürlich auch die Anmeldung um 18:45 Uhr erfolgen.

Wie bekomm ich es denn hin, dass er das Datum mit in das .txt-File schreibt und immer den neusten Eintrag eine Zeile darunter setzt? Momentan, so wie ich es habe, müsste er ja jedes Mal meine .txt überschreiben.

Gruß
Bitte warten ..
Mitglied: Penny.Cilin
06.08.2012 um 15:33 Uhr
ao hängt er es an das log dran:

 for /f "tokens=2" %%i in ('query session^|findstr /ic:" USER1 "^|findstr /i "getr disc"') do rwinsta %%i >> C:\log.txt


Gruss Penny.
Bitte warten ..
Mitglied: d4shoerncheN
06.08.2012 um 15:35 Uhr
Zitat von Penny.Cilin:
ao hängt er es an das log dran:

 for /f "tokens=2" %%i in ('query session^|findstr /ic:" USER1 
> "^|findstr /i "getr disc"') do rwinsta %%i >> C:\log.txt


Gruss Penny.
Ups, ein > zu wenig. Stimmt.

Gruß
Bitte warten ..
Mitglied: Holla
13.08.2012 um 10:32 Uhr
Hallo hoerncheN,

alternativ zum Script kann man den TS auch so konfigurieren, dass er nach einer definierten Zeit der Inaktivität eine Zwangstrennung bzw. Abmeldung durchführt.

Gruß
Holla
Bitte warten ..
Mitglied: d4shoerncheN
15.08.2012 um 09:04 Uhr
Hallo, Holla.

Vielen Dank für deine Antwort, wie oben aber von mir beschrieben:
Die Konfiguration der Terminaldienste, getrennte Verbindungen nach einer gewissen Zeit selbstständig zu beenden ist nicht gewünscht.
ist dies nicht gewünscht.

Gruß
Bitte warten ..
Ähnliche Inhalte
Windows Server
RDP-Sitzung wird nach abmeldung nicht geschlossen
Frage von grieselWindows Server2 Kommentare

Hallo zusammen, ich habe ein Problem. Mein Setup besteht aus zwei Servern 2012R2. Auf dem einen ist das Remote ...

Windows Server
RDP-Verbindung nach Abmeldung auf Terminalserver nicht unterbrechen
gelöst Frage von closeWindowsopenSourceWindows Server5 Kommentare

Hallo Leute. Nachdem ich schon viele Probleme mit Hilfe diesen Forums beseitigen konnte, habe ich mich nun auch registriert. ...

Windows Server
Rundll32.exe funktioniert nicht mehr - RDP-Abmeldung
Frage von Odde23Windows Server3 Kommentare

Hallo zusammen, ich habe an einem Windows 2003 R2 Standard Server (32-bit) folgendes Problem, nach dem ein RDP-Client von ...

Microsoft
Windows An- und Abmeldung Domäne für Zeiterfassung
Frage von novregenMicrosoft5 Kommentare

Hallo, ich würde gerne meine eigenen Arbeitszeiten erfassen. Gibt es eine leichte Möglichkeit meine Windows An- und Abmeldungen an ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 10 StundenRouter & Routing2 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 17 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 22 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

Sonstige Systeme
7-zip: Programm frägt nach Passwort erst bei einzelnen Dateien
Frage von freeskierchrisSonstige Systeme7 Kommentare

Guten Morgen, ich habe ein Problem beim Arbeiten mit 7-zip: Wenn ich die einzelnen Dateien zu einem Archiv verpacke ...