presidente
Goto Top

Skript zum Prüfen ob Benutzer angemeldet sind

Hallo zusammen,

Wir verteilen die Updates per WSUS und haben es so eingestellt, daß auf den Servern automatisch Mittwoch Nachts um 02:00 Uhr Updates installiert werden und danach der Server neugestartet wird.
Der Neustart erfolgt aber absichtlich nur, wenn keine Benutzer angemeldet sind.
Es kommt vor, daß sich IT-Administratoren zur Remote-Betreuung auf den Servern anmelden, aber sich nicht mehr abmelden und die Sitzung bestehen bleibt.
Dann muß man jedes Mal die Server von Hand neustarten.

Deswegen wäre eine Skript hilfreich, welches prüft ob und wer angemeldet ist und ggf. den / die Benutzer abmeldet. Das Skript möchte ich dann von meinem Windows 7 PC starten, verfüge über Domain-Admin Rechte.

Vielen Dank für Euere Mithilfe

Content-ID: 207104

Url: https://administrator.de/forum/skript-zum-pruefen-ob-benutzer-angemeldet-sind-207104.html

Ausgedruckt am: 22.12.2024 um 17:12 Uhr

diekoenigs
diekoenigs 28.05.2013 um 10:15:01 Uhr
Goto Top
Au.. das klingt sehr interessant!
So kann man auch schön sehen, ob jemand schon im Büro ist. ;)

Würde mich auch sehr darüber freuen. :D

Gruß
Alex

PS: Am liebsten Powershell. Aber VBS ist auch gut.. face-smile
Penny.Cilin
Penny.Cilin 28.05.2013 um 10:39:07 Uhr
Goto Top
Guten Morgen,

wie wäre es mit der Verwendung von QWINSTA? Damit ermittelst Du die Session ID und kannst diese anschliessend mit Logoff <sessionid> beenden.


Gruss Penny.
heilgecht
heilgecht 28.05.2013 um 10:42:36 Uhr
Goto Top
Hallo,

ich starte meine Server nie unbeaufsichtig. Die Gefahr dass ich morgens ins Büro komme und erfahre, dass über 100 Mitarbeiter seit mehreren Stunden nicht arbeiten können ist mir zu groß.
Aber wenn du unbedingt willst, dann kannst du einen Logoff-Screensaver nutzen. http://support.microsoft.com/kb/314999/de

MfG
colinardo
colinardo 28.05.2013 aktualisiert um 10:47:12 Uhr
Goto Top
Hi el presidente,
Hatte so was mal als Batch, ist schon was länger her .. deshalb hier eine ungeprüfte Batch zum basteln:

@echo off & setlocal ENABLEDELAYEDEXPANSION
set server=SERVERNAME
set countactive=0
set countDisconnected=0
for /f "tokens=1,2,3" %%k IN ('qwinsta /server:%server% ^| findstr "Aktiv"') DO @(  
	set connection=%%k
	set user=%%l
	set id=%%m
	set /a countactive +=1
	echo User '!user!' ist noch aktiv !  
)

for /f "tokens=1,2" %%k IN ('qwinsta /server:%server% ^| findstr "Getr\."') DO @(  
	set /a countDisconnected +=1
	echo Trenne inaktive Verbindung von '%%k'.  
	rwinsta %%l /server:!servername!
)

if !countactive! gtr 0 (
	echo Mindestens noch ein User aktiv. Neustart wird nicht durchgeführt
	goto :end
) else (
        echo Starte Restart des Servers ...
	shutdown /r /m \\%server% /t 10 /f
)

:end
exit

Grüße Uwe
presidente
presidente 28.05.2013 um 11:37:52 Uhr
Goto Top
Hi nochmal,

danke für das Skript. Ich teste es mal.

Wegen dem unbeaufsichtigten Neustart... Irgendwann muß man sich entscheiden, entweder 1 halbe Nacht Updates installieren und Neustarts machen, dann in der Morgenstunde das Gleiche bei den kritischen Systemen (Fileserver,...), ich spreche von 70 Servern die ich alleine patche


oder


aber eben so:
unkritische Server sich alleine patchen und neustarten lassen
kritische Server alleine patchen lassen, Neustart beaufsichtigt durchführen (Die Vermeidung des unbeaufsichtigten Neustarts ist z.B. ein angemeldeter User (zur Sicherheit) und das kann man ja per GPO steuern, wie sich die Windows Updates verhalten).
Hatte zwar mal ein skript, das hat nach un nach jeden Server gepatcht, aber dann mußte ich trotzdem wieder per RDP drauf um dann den Neustart durchzuführen, ...
Penny.Cilin
Penny.Cilin 28.05.2013 um 11:46:42 Uhr
Goto Top
Zitat von @presidente:
ich spreche von 70 Servern > die ich alleine patche

Du patchst alle Server innerhalb einer Nacht bzw. auf einmal? Auf der einen Seite verständlich. Dann hast du die System zeitnah gepatcht. Auf der anderen Seite wenn was schiefläuft, dann hast Du unter Umständen ein (großes) Problem. ich weiß ja nicht wie Euer Change Management aussieht. Bei der Menge würde ich eher empfehlen, ein Wartungswochenende einzuführen. Dann hast du 48 Stunden Zeit und die Wahrscheinlichkeit, daß keine Anwender die Server nutzen.


Gruss Penny.
DerWoWusste
DerWoWusste 28.05.2013 aktualisiert um 13:00:34 Uhr
Goto Top
Moin.

Ich finde es unklug, überhaupt auf angemeldete Nutzer Rücksicht zu nehmen, denn wer ist denn um 2:00 Uhr morgens bei Euch noch am Arbeiten? Nur diese Zeit betrifft es doch. Schalt das ab und fertig.
diekoenigs
diekoenigs 28.05.2013 um 13:18:56 Uhr
Goto Top
Zitat von @DerWoWusste:
Moin.

Ich finde es unklug, überhaupt auf angemeldete Nutzer Rücksicht zu nehmen, denn wer ist denn um 2:00 Uhr morgens bei
Euch noch am Arbeiten? Nur diese Zeit betrifft es doch. Schalt das ab und fertig.


Das hat man oft so, wenn das Unternehmen weltweit agiert.
Da kommen dann die verschiedenen Zeitzonen ins Spiel. face-smile
Teilweise ist es halt so, dass dann E-Mails sofort bearbeitet werden müssen etc.

Hatte ich erst letzte Woche.. face-sad
DerWoWusste
DerWoWusste 28.05.2013 aktualisiert um 13:22:07 Uhr
Goto Top
Das Gegenargument sehe ich nicht - er will die Nutzer doch abmelden...in keinem Fall bleiben deren Sitzungen wann auch immer bestehen.
diekoenigs
diekoenigs 28.05.2013 um 13:30:58 Uhr
Goto Top
Das war nur bezogen darauf, dass man manchmal Rücksicht nehmen muss. face-smile
Oder sollte.. ;)
presidente
presidente 28.05.2013 um 15:44:23 Uhr
Goto Top
Ne wir sind ein Klinkum mit 1000 Betten, da wird 24x7 gearbeitet. Da kann man nicht ein ganzes Wochenende Server außer Betrieb nehmen face-sad

Wir haben Mittwoch früh von 02:00 bis 07:00 ein angekündigtes Wartungsfenster...

Die Patches werden schon Wochen vorher auf diversen Test Clients und Testserver installiert und Auffälligkeiten beobachtet.

Wenn man IMMER auf den Anwender Rücksicht nimmt, dann kann man nie patchen ! Außerdem, wer verseucht regelmäßig die PCs bzw. die Terminalserver ??? Na die Anwender die alles anklicken oder runterladen, trotz Firewall und Virenschutz. Dan kann man auch 1000 mal sagen, keine gepackten Anhänge von Unbekannten öffnen, und die machen es trotzdem...

ergo... die Server werden gepacht, alle fliegen raus (Die merken das Nachts nicht mal, da schlafen (fast) alle Patienten und die Pfleger hocken in ihren Stationszimmern und schauen TV oder machen sonst was.
Kritische System werden dann ab 05:00 uhr unter Aufsicht gepatcht bzw. neugestartet.


Change Management ? Haben wir nicht, das bin ich selbst face-wink
DerWoWusste
DerWoWusste 28.05.2013 um 15:57:19 Uhr
Goto Top
Du gehst nicht auf meinen Beitrag ein - was hindert Dich daran, meinen Vorschlag zu nutzen?