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

gelöst Script für -Dienste stoppen beim Systemstart- geht nach Rechnerneustart nicht richtig

Mitglied: 8377

8377 (Level 1)

13.12.2007, aktualisiert 18.12.2007, 5472 Aufrufe, 5 Kommentare

Hallo alle miteinander,

ich habe folgendes Problem. Ich möchte, dass bei jeder Neuanmeldung eines Benutzers zwei Dienste gestoppt werden, um eine Konfigurationsdatei für eine Desktop-Firewall in ihr Arbeitsverzeichnis zu kopieren. Danach sollen diese Dienste wieder hochgefahren werden. So weit, so gut. Das Script ist eine Batchdatei. Habe versucht, das Ganze über den Gruppenrichtlinieneditor als Anmeldescript laufen zu lassen. Probs gibt's dann natürlich bei nicht-administrativen Benutzern. Also über den Taskplaner (Bei Anmeldung). Jetzt gibt es aber das Problem, dass bei einem Rechnerneustart das Script zwar gestartet wird, der SCM aber noch nicht so weit zu sein scheint, die Dienste also manchmal nicht beendet werden können, das Script bleibt "hängen". Bei einer bloßen Neuanmeldung eines Benutzers gibt's das Prob nicht. Folge ist ab und an sogar, dass einer der Dienste gestoppt werden konnte, aber der andere nicht. Durch die Abhängigkeiten kann der gestoppte aber nicht wieder gestartet werden, was im schlimmsten Fall dazu führt, das die Firewall inaktiv bleibt. Lasse ich das Script mit "sleep.exe" warten, geht es danach tadellos. Das finde ich aber nur die zweitbeste Lösung. Nun fahnde ich nach einer Möglichkeit, abzufragen, wie weit der Ladevorgang der Dienste ist, um einen definierten Zustand zu erreichen, bei dem ich das Script "weitermachen" lasse. Der Eventlog gibt leider nicht so viel her, ich krieg von allen gestarteten nur sehr wenige tatsächlich angezeigt. Dienste stoppe und starte ich mit "net Stop/start", mit "sc" gibt's die gleichen Effekte. Mit %errorlevel% zu arbeiten ist nur mäßig erfolgreich, da der Level egal was schiefgeht, immer "2" ist, sich somit der Fehler auch nicht richtig differenzieren lässt. Wäre cool, wenn mir einer weiterhelfen könnte.

Gruß Thomas

P.S. Es geht in erster Linie um Win XP, soll aber auch auf Win2k- und Vista-Rechnern laufen.
Mitglied: AndreasHoster
13.12.2007 um 15:13 Uhr
Du kannst mit WMI feststellen, ob ein Dienst läuft (hier am Beispiel der Automatischen Updates):
On Error Resume Next

Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Service where DisplayName='Automatische Updates'", "WQL",wbemFlagReturnImmediately + wbemFlagForwardOnly)

For Each objItem In colItems
WScript.Echo "State: " & objItem.State
WScript.Echo
Next

Wenn objItem.State Running ist, dann kann man weitermachen.
Bitte warten ..
Mitglied: 8377
13.12.2007 um 16:20 Uhr
der Projektbetreuer will es unbedingt per Batch haben. Leider, würd' es auch lieber mit VBS abhandeln. Aber es gibt hier eine sehr heterogene Landschaft, auch was Systemkonfigurationen angeht, somit ist nich klar, ob jeder OU-Administrator den WSH zulässt. Und, ich weiß eben noch gar nicht, welchen Dienst ich abfragen soll, welches also "derjenige welche" ist, der gestartet sein muss, bevor ich das Script fortsetzen kann. Habe mal versucht, vom Systemstart an mit "net start"-Abfragen alle 2 sec. herauszukriegen, welche gestartet sind. Der einizige Unterschied war dann der "SSDP-Suchdienst", der aber auch im Eventlog angezeigt wird. Wenn ich es an den gebunden habe, hat es unter WinXP auch einwandfrei funktioniert. Prob. hier nur, den braucht kein Mensch, könnte also auch deaktiviert sein. Und unter Win2k gibt's den schon mal gar nicht. Was tun, sprach Zeus...?
Bitte warten ..
Mitglied: AndreasHoster
13.12.2007 um 17:06 Uhr
Die Desktop Firewall gar nicht automatisch beim Systemstart starten, sondern im Skript hinterher? Nach dem Austausch?
Und solche WMI Abfragen lassen sich zur Not auch per Kommandozeile mit WMIC, wobei ich mich da nicht auskenne.
BSP: wmic service NAME get state
zeigt den Status des Services Name oder wmic service get name, state zeigt alle.

Ansonsten wüsste ich auch nicht weiter.
Bitte warten ..
Mitglied: 8377
14.12.2007 um 09:00 Uhr
erstmal vielen Dank für deine Mühe. die WMIC kannte ich so noch gar nicht, nur im Zusammenhang mit PoSH. Werde mir die erst mal ausführlich zu Gemüte führen. Lass den Thread mal noch offen, vielleicht fällt noch jemandem etwas ein, wie man den Systemstatus während des Startvorgangs abfragen kann. Vielleicht muss man das ja auch gar nicht an Diensten festmachen, sondern es gibt noch eine andere Möglichkeit, dass einem das System mitteilt, dass es 'jetzt' einen bestimmten Status erreicht hat.
Allen ein schönes Wochenende
Bitte warten ..
Mitglied: 8377
18.12.2007 um 10:12 Uhr
So, hab's nun selbst herausbekommen. Wenn man den Befehl "sc querylock" ausführt, gibt er während des Startprozesses den Wert "TRUE" zurück. Sobald die NT-Dienste frei für Benutzeranforderungen sind, springt dieser Wert auf "FALSE", so dass man nun frank und frei Dienste stoppen oder starten, oder was man auch immer damit tun will, kann. Wer lesen kann, ist klar im Vorteil. Das musste ich mal wieder feststellen, Dokumentation zu Befehlen betrifft das im Besonderen. Euch allen ein schönes Weihnachtsfest. Schließe den Thread.
Bitte warten ..
Ähnliche Inhalte
Hardware
PC geht bei Systemstart einmal aus
Frage von Fr4nkiHardware2 Kommentare

Hallo Zusammen, ich habe mit meinem System: i7-4790K GRYPHON Z97 ARMOR EDITION 4x4GB DDR3 RAM Gainward GeForce GTX1070 550W ...

Windows Server

Bei Event funktioniert das Powershell Script nicht richtig

gelöst Frage von canlotWindows Server14 Kommentare

Hallo liebe Community, ich habe hier ein Powershell Script geschrieben, dass bei der Erstellung eines User in einer OU ...

Windows Tools

Sehr einfaches Tool für Rechnerneustart nach Zeit gesucht

gelöst Frage von chattieWindows Tools4 Kommentare

Hallo, weiß jemand ein supereinfaches Tool um einen Rechner zu einem bestimmten Zeitpunkt neu zu starten? Wenn ich im ...

Windows Netzwerk

Arp -s bei Systemstart

Frage von daxlanderWindows Netzwerk13 Kommentare

Hallo zusammen, ich habe schon ganz abgekaute Fingernägel, da ich mein Problem noch nicht lösen konnte. Ich bin dran ...

Neue Wissensbeiträge
Windows Server
Anzahl von Gruppenrichtlinien
Erfahrungsbericht von Bullii vor 5 StundenWindows Server

Hallo, mich interessiert brennend, wieviele Gruppenrichtlinienobjekte, ihr so bei euch habt? Ich versuchte eigentlich immer die Gruppenrichtlinienobjekte soweit wie ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 9 StundeniOS

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 20 StundeniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 3 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Heiß diskutierte Inhalte
Exchange Server
Exchange Server 2010: Keine Eingehenden E-MAils
gelöst Frage von gabeBUExchange Server17 Kommentare

Hallo Zusammen Ich habe das kurzen auf dem Exchange 2010 Server das Problem, dass ich keine externen E-Mails mehr ...

Server
Server in zwei verschiedene Netzwerke einbinden
gelöst Frage von BennyFServer13 Kommentare

Hallo zusammen, bei uns im Haus sind im Erdgeschoss die Geschäftsräume und ab dem 1. Stock sind unsere privaten ...

Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
Frage von frosch2Windows Netzwerk11 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

Netzwerkmanagement
Ticketsystem für eine Kommune gesucht
gelöst Frage von akovisNetzwerkmanagement11 Kommentare

Ich suche aktuell ein Ticketsystem für eine Kleinstadt von 13000 Einwaohnern. Das System soll alle Anfragen aus verschiedenen Kanälen ...