Poradnik

Które usługi powinny działać?

Uczciwa odpowiedź brzmi: nikt Ci tego nie powie, a każda lista twierdząca inaczej opisuje maszynę, która nie jest Twoja. Odpowiedzieć da się na coś węższego i znacznie bardziej użytecznego: co na tej maszynie się nie zgadza i czym różni się od chwili, gdy działała.

Dlaczego ogólne pytanie nie ma odpowiedzi

  • Zestaw różni się edycją, wersją i rolą Windowsa. Kontroler domeny, laptop i host kontenerów nie zgadzają się prawie w niczym, a lista napisana dla jednego jest zła dla pozostałych.
  • Połowa tego, co jest zainstalowane, nie pochodzi z Windowsa. Sterowniki, agenci, usługi aktualizacji, demony licencji - każde z nich coś tam położyło, i żadna ogólna lista nie wie co.
  • Większość usług ma stać zatrzymana. Współczesny Windows uruchamia ułamek tego, co rejestruje: reszta czeka na wyzwalacz - podłączone urządzenie, otwarty port, dołączenie do domeny - a zatrzymanie jest ich poprawnym stanem.
  • Listy „wyłącz to dla wydajności" to sposób, w jaki psują się maszyny. Usługa, która wygląda na bezczynną, jest tą, którą coś innego uruchamia na żądanie, a awaria wychodzi tydzień później w niepowiązanym miejscu.

Pytania, które odpowiedź mają

Co powinno chodzić i nie chodzi

start:auto !status:running

Windows dostał polecenie, żeby je uruchamiać, i nie działają. Na zdrowej maszynie to krótka lista - kilka wpisów, które startują z opóźnieniem i zatrzymują się z powrotem. Wszystko poza tym warto obejrzeć.

Co jest wyłączone i działa mimo to

mismatch:running

Konfiguracja i stan się nie zgadzają. Zwykle ktoś wyłączył usługę, nie zatrzymując jej, i następny restart będzie niespodzianką.

Co wskazuje na plik, którego nie ma

file:missing

Odinstalowanie, które zostawiło po sobie rejestrację. Nieszkodliwe, dopóki coś nie spróbuje tego uruchomić, i wskazówka, co kiedyś na tej maszynie było.

Czego nikt nie podpisał

signed:no peruser:no

Samo w sobie nie jest dowodem niczego, i jest dobrym miejscem na początek czytania. Drugi człon odrzuca rodziny per-użytkownik, które inaczej zapełniają listę prawie-duplikatami.

Co prosi o najmocniejsze przywileje

privilege:SeDebugPrivilege

Przywilej, który pozwala procesowi otworzyć dowolny inny. Garść uprawnionych usług o niego prosi i warto wiedzieć, które na Twojej maszynie.

Co czeka na wyzwalacz

trigger:any status:stopped

Zatrzymane dlatego, że nic ich jeszcze nie poprosiło, a nie dlatego, że coś jest nie tak. Wiedza o tym, które to są, jest sposobem, w jaki pierwsza lista przestaje być alarmująca.

To, które bije wszystkie pozostałe

Zapytaj samą maszynę, z czasu, gdy działała.

Zrób snapshot w dniu, w którym maszyna wchodzi do pracy. Wtedy czy to powinno działać zamienia się w czy to działało, gdy wszystko było w porządku - czyli w pytanie o Twoją maszynę, a nie o maszynę z artykułu.

bws snapshot create C:\baselines\web01.json --note "after the build"
# ... tydzień, łatka albo awaria później
bws snapshot diff C:\baselines\web01.json --live

Konfiguracja jest zgłaszana osobno od stanu, więc odpowiedzią nie jest czterdzieści usług, które akurat chodzą - tylko typ uruchomienia, który ktoś zmienił.

Audyt maszyny pod kątem dryfu

Zanim cokolwiek zatrzymasz

Każde zatrzymanie w tym programie pokazuje najpierw swój plan: kroki, to, co spadnie razem z nimi, i ostrzeżenie, gdy któryś dotyczy czegoś, bez czego maszyna nie działa. Lista takich usług to lista startowa siedmiu pozycji - dwie połowy RPC, menedżer kont, izolacja kluczy, menedżer sesji i plug and play - a Pulpitu zdalnego na niej nie ma, więc przez sesję zdalną przeczytaj plan.