Mam skrypt partii, który wygląda następująco:
sc stop myservice
sc start myservice
wyskakuje, ponieważ sc nie czeka aż usługa zostanie zatrzymana. Jak zrestartować usługę za pomocą skryptu?
Mam skrypt partii, który wygląda następująco:
sc stop myservice
sc start myservice
wyskakuje, ponieważ sc nie czeka aż usługa zostanie zatrzymana. Jak zrestartować usługę za pomocą skryptu?
Odpowiedzi:
Plakat chce się upewnić, że usługa została zatrzymana przed próbą jej ponownego uruchomienia. Możesz użyć pętli na wyjściu „zapytania sc”, wykonując coś takiego:
źródło
Może czegoś brakuje, ale używam tego cały czas:
lub krócej:
źródło
Zupełnie prosty w PowerShell:
Jeszcze lepiej, używając wyświetlanych nazw:
Get-Help Restart-Service
po więcejźródło
Jeśli służy to wyłącznie do ponownego uruchomienia usługi, możesz użyć
Jeśli jednak chcesz uzyskać dostęp do opcji sc, możesz użyć polecenia start / wait
ta technika jest bardziej ogólnym rozwiązaniem, które można zastosować do dowolnego polecenia.
źródło
sc stop myservice
wyśle po prostu polecenie stop i wróci przed zatrzymaniem usługi. Wywołanie sc za pomocą start / b nie pomoże.Aby mieć cichy restart niektórych usług, które wymagają zatrzymania potwierdzeń (na przykład usługi serwera), możesz dodać / y do komendy zakończenia stop.
Byłoby pomocne w przypadku automatycznego wykonywania skryptu.
źródło
Jeśli chcesz zrestartować uszkodzoną usługę, nie musisz uruchamiać skryptu. W usłudze MMC Snap kliknij prawym przyciskiem myszy usługę, wybierz właściwości, kliknij kartę odzyskiwania. Tutaj możesz ustawić, jakie działania chcesz podjąć, aby usługa przestała działać. Dostępna jest duża elastyczność. Będziesz potrzebował skryptu, jeśli próbujesz zatrzymać usługę, zrób coś, a następnie uruchom skrypt, poprzedzaj plik wsadowy
net stop "myserviceshortname"
i zakończnet start "myserviceshortname"
W vbscipt jest trochę więcej kodu, aby zatrzymać usługę i jej „zależności”:
Oto rozpoczęcie usługi i wszystko, od czego to zależy (powinno być znane)
źródło
Możesz użyć następujących poleceń:
źródło