Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Terminalserver, Sitzungen automatisch beenden - protokollieren

Frage Microsoft Windows Server

Mitglied: SergeantSolty

SergeantSolty (Level 1) - Jetzt verbinden

25.06.2010 um 16:16 Uhr, 3899 Aufrufe, 3 Kommentare

Es geht um die Sicherung die bei Angemeldeten Benutzern nicht läuft;

Diese Benutzer gehören dann alle (Vlt. wenn möglich auch mit Ausnahmen, z.B. mir selbst wenn ich noch was in letzter Minute machen müsste) getrennt/abgemeldet, damit die Sicherung ohne Fehler durchläuft.

Server: Windows 2k

Als Lösung hab ich hierfür bereits "tsshutdn" ergoogelt, soweit (naja...) OK.

So, diese Problemsituation kommt eigentlich nur Zustande, da bestimmte User es einfach nicht schaffen sich ordentlich abzumelden.
Deshalb möchte ich gern vorher noch eine art Protokoll wegsichern, wer denn überhaupt noch alles angemeldet ist.
(Dadurch könnte man vlt auch steuern, dass die "Abmeldung" nicht statt findet wenn ich angemeldet bin, aber ein Skript dafür würde ich normal auch selbst schaffen).

Ich hoff es hat noch jemand eine bessere Idee als "tsshutdn".
Aber am Wichtigsten ist die Protokollierung.

Danke im voraus
Mitglied: 60730
25.06.2010 um 19:27 Uhr
Servus,

01.
for /f "skip=1 tokens=3," %%a in ('"query session"') do echo logoff %%a 
02.
pause
sollte etwas besser sein.

Wie "üblich" ist das aber nur eine Demo, denn das kickt alle angemeldeten User, wenn ein einzelner ausgeschlossen werden soll, ist evtl. der Befehl reset session sinnvoller.

edit...
Deshalb möchte ich gern vorher noch eine art Protokoll wegsichern, wer denn überhaupt noch alles angemeldet ist.
edit² so würde das dann aussehen und als csv durchgehen.
01.
for /f "skip=1 tokens=2,3" %%a in ('"query session"') do ( 
02.
if not "%%a"=="65536" if not "%%a"=="0" echo %date:~-4%;%date:~-7,2%;%date:~-10,2%;%time:~-11,2%;%time:~-8,2%;%%a>>logged_on.txt 
03.
if not "%%a"=="65536" if not "%%b"=="0" echo logoff %%b 
04.
05.
pause

Gruß

edit - der letzte Schnippsel ist nun anders - da Session 0 nicht herausgeworfen werden soll und "Listen" (englisches OS) keinen Namen hat und daher falsch als 2. position erkannt wird - die beiden via if not umgangen und aus den zwei Scheifen eine gemacht %%a ist 2position %%b dementsprechend 3.
Bitte warten ..
Mitglied: SergeantSolty
27.06.2010 um 12:18 Uhr
Hi,

ähm, sieht sehr vielversprechend aus

hatte mit so einer art von Skript noch keine Erfahrung. Ich mein ne for-Schleife und if-Abfrage, soviel kann ich rauslesen, aber das wars dann auch schon.
%%a oder so sagt mir jetzt gar nix. kannst du das vielleicht bitte etwas näher ausführen?
besonders wie ich das dann auch aufs System umsetze. Bzw wenn ich das Skript versteh weiß ich dann auch wie ich es umsetze.

Danke
Bitte warten ..
Mitglied: 60730
28.06.2010 um 10:47 Uhr
Zitat von SergeantSolty:
Hi,

ähm, sieht sehr vielversprechend aus

moin,

und läuft so auch auf unseren W2k3 Servern - obs bei W2k auch funktioniert - bitte testen.

hatte mit so einer art von Skript noch keine Erfahrung. Ich mein ne for-Schleife und if-Abfrage, soviel kann ich rauslesen, aber
das wars dann auch schon.
%%a oder so sagt mir jetzt gar nix. kannst du das vielleicht bitte etwas näher ausführen?

*puh* schau dir einfach mal in einer Dosbox
  • for /? an - das ist eigentlich selbsterklärend.

besonders wie ich das dann auch aufs System umsetze. Bzw wenn ich das Skript versteh weiß ich dann auch wie ich es umsetze.

Dreh und angelpunkt ist folgender Befehl
01.
query session
Der wirft eine quasi Tabelle raus an dem an unterschiedlichen Spalten Werte stehen.
In der ersten Zeile steht die Überschrift - und darunter - wenn ein User lokal angemeldet ist dieser - daher skip=2 - obwohl das auch nur dann Sinn macht - wenn ein User angemeldet ist. Das werde ich oben korrigieren.

[edit] skip=1 [/edit]

In dieser Tabelle steht an zweiter Stelle der Benutzername - den brauchen wir fürs Logfile daher:
01.
tokens=2," 
edit - auch hier etwas verschlankerung betrieben - nur noch eine Schleife - die aber via tokens=2,3 den 2. und den 3. Wert ausliesst.
Das logfile soll evtl. später eingelesen werden - also nehmen wir das Datum und die Uhrzeit für jeden User vorab.

Der nächste Satz - da ist der username unwichtig - da brauchen wir die Session ID - die steht an 3. posistion - also tokens=3, bzw. %%b, da wir ja mit %%a die 2. Stelle abgefragt haben ist %%b die 3.

das Ding ist eine Demo - daher macht der nix - außer den logoff Befehl zu schreiben - das Echo sorgt dafür das du das lesen kannst - eine - alle zeilen mal so ausführst und wenn du merkst - dass es klappt - der User gekickt ist - nimmst du das echo raus.

Gruß
Bitte warten ..
Ähnliche Inhalte
Windows 7
Wie kann ich das beenden eines Prozesses Protokollieren? (7)

Frage von Scroller zum Thema Windows 7 ...

Windows Server
gelöst Getrennte Verbindung am Terminalserver automatisch abmelden? (6)

Frage von WG-EDV zum Thema Windows Server ...

Windows Server
Terminalserver 2012 RDP aus zwei Netzen unterschiedlich schnell (1)

Frage von ToddyEatWorld zum Thema Windows Server ...

Windows Server
gelöst Netzlaufwerk RemoteApp auf Win 2012 R2 Terminalserver funktioniert nicht (12)

Frage von grenzde zum Thema Windows Server ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

Windows Userverwaltung
gelöst Wie verfahrt Ihr mit den Windows-Benutzerkonten und -dateien von ausgeschiedenen Mitarbeitern? (14)

Frage von Bl0ckS1z3 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

Frage von IceAge zum Thema LAN, WAN, Wireless ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...