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

Skript zum Prüfen ob Benutzer angemeldet sind

Frage Microsoft Windows Server

Mitglied: presidente

presidente (Level 1) - Jetzt verbinden

28.05.2013 um 09:28 Uhr, 4065 Aufrufe, 12 Kommentare

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
Mitglied: diekoenigs
28.05.2013 um 10:15 Uhr
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..
Bitte warten ..
Mitglied: Penny.Cilin
28.05.2013 um 10:39 Uhr
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.
Bitte warten ..
Mitglied: heilgecht
28.05.2013 um 10:42 Uhr
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

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: colinardo
28.05.2013, aktualisiert um 10:47 Uhr
Hi el presidente,
Hatte so was mal als Batch, ist schon was länger her .. deshalb hier eine ungeprüfte Batch zum basteln:

01.
@echo off & setlocal ENABLEDELAYEDEXPANSION 
02.
set server=SERVERNAME 
03.
set countactive=0 
04.
set countDisconnected=0 
05.
for /f "tokens=1,2,3" %%k IN ('qwinsta /server:%server% ^| findstr "Aktiv"') DO @( 
06.
	set connection=%%k 
07.
	set user=%%l 
08.
	set id=%%m 
09.
	set /a countactive +=1 
10.
	echo User '!user!' ist noch aktiv ! 
11.
12.
 
13.
for /f "tokens=1,2" %%k IN ('qwinsta /server:%server% ^| findstr "Getr\."') DO @( 
14.
	set /a countDisconnected +=1 
15.
	echo Trenne inaktive Verbindung von '%%k'. 
16.
	rwinsta %%l /server:!servername! 
17.
18.
 
19.
if !countactive! gtr 0 ( 
20.
	echo Mindestens noch ein User aktiv. Neustart wird nicht durchgeführt 
21.
	goto :end 
22.
) else ( 
23.
        echo Starte Restart des Servers ... 
24.
	shutdown /r /m \\%server% /t 10 /f 
25.
26.
 
27.
:end 
28.
exit
Grüße Uwe
Bitte warten ..
Mitglied: presidente
28.05.2013 um 11:37 Uhr
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, ...
Bitte warten ..
Mitglied: Penny.Cilin
28.05.2013 um 11:46 Uhr
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.
Bitte warten ..
Mitglied: DerWoWusste
28.05.2013, aktualisiert um 13:00 Uhr
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.
Bitte warten ..
Mitglied: diekoenigs
28.05.2013 um 13:18 Uhr
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.
Teilweise ist es halt so, dass dann E-Mails sofort bearbeitet werden müssen etc.

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

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
Bitte warten ..
Mitglied: DerWoWusste
28.05.2013 um 15:57 Uhr
Du gehst nicht auf meinen Beitrag ein - was hindert Dich daran, meinen Vorschlag zu nutzen?
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Batch & Shell
Powershell CHAT Skript (5)

Frage von xpxy15 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...