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