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, 5467 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 Fr4nkiHardware1 Kommentar

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

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

Neue Wissensbeiträge
Sicherheit
Adminrechte dank Bug in Intel HD Graphics Treiber
Information von DerWoWusste vor 9 StundenSicherheit

Intel HD graphics 4200 und neuer (4400, 4600 520,530,620, 630,) sind auf jeden Fall betroffen und bereinigte Treiber sind ...

Router & Routing

Endlich: Reines Kabel-TV Modem in D erhältlich !

Information von aqui vor 3 TagenRouter & Routing10 Kommentare

Mit dem Technicolor TC4400-EU Modem sind nun auch Breitband Router ohne integriertes Modem oder Firewalls wie z.B. die pfSense ...

Netzwerkgrundlagen
The Illustrated TLS Connection
Information von Lochkartenstanzer vor 3 TagenNetzwerkgrundlagen1 Kommentar

Moin, Unter findet man eine gelungene Erläuterung von TLS. Fördert sehr das verständnis darüber, was da passiert. lks

Windows 10

Zuverlässiger Remove-AppxProvisionedPackage Ausführen in W10-1803

Tipp von NetzwerkDude vor 5 TagenWindows 104 Kommentare

Moin, Remove-AppxProvisionedPackage hat in 1709 recht zuverlässig funktioniert, in 1803 ist es leider so das es gerne mail failed ...

Heiß diskutierte Inhalte
Windows Server
AD User wird immer wieder gesperrt
Frage von YellowcakeWindows Server20 Kommentare

Hey ich habe einen User (ein GL User - Natürlich was denn sonst) der immer wieder gesperrt wird. Ich ...

Windows Netzwerk
Gruppenrichtlinie für einen PC deaktivieren
gelöst Frage von Florian961988Windows Netzwerk14 Kommentare

Hallo, kleines Problem und immoment finde ich dazu keine Lösung oder mir fällt nicht ein, wie ich es suche ...

Debian
Linux debian 9 Installation
Frage von Green14Debian13 Kommentare

Hallo zusammen, ich habe mich ein wenig mit Debian auseinandergesetzt und möchte mir eine Standard-Installation als Grundlage für andere ...

Switche und Hubs
OpenSource oder Freeware zur Verwaltung von Switchen
gelöst Frage von JonskezSwitche und Hubs12 Kommentare

Hallo, gibt eine kostenlose Verwaltungssoftware für Switche (überwiegend HP/Aruba)? Es sollte möglich sein, aus der Ferne z.B. die Firmware ...