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

Frage Microsoft

Mitglied: 8377

8377 (Level 1)

13.12.2007, aktualisiert 18.12.2007, 5433 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
Windows 7
Wie schreibe ich das Script richtig?
gelöst Frage von DorianWindows 74 Kommentare

Hallo zusammen, ich kenne mich im schreiben von Scripten für Windows leider gar nicht aus :( Kann mir einer ...

Microsoft Office
Access ein Script alle X Minuten ausführen und bei Bedarf stoppen
Frage von thomas1972Microsoft Office5 Kommentare

Hallo , ich möchte über Access eine Zeitschleife einbauen, welche mir ein Script immer wieder ausführt ( alle 30 ...

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 ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 1 StundeWindows 101 Kommentar

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 3 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner2 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

LAN, WAN, Wireless
Brainstorming, einfachste Option 1 getrenntes LAN (mit WAN zugang)
Frage von 132954LAN, WAN, Wireless13 Kommentare

Hi, folgendes: Wir bekommen eine Glasfaser Leitung, Und das sollte Optional so aussehen: Ein Modem/Router für das WAN, ein ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen12 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...