Annonse
Noe av det jeg finner på at jeg gjør mye oftere siden dykking i IT er å overvåke og sjekke statusen til tjenester som kjører på datamaskiner i hele selskapet.
Det er den vanlige måten å administrere tjenester som folk flest bruker fordi det er velkjent og ganske enkelt. Dette innebærer å gå inn på administrative kontroller eller gå inn i kontrollpanelet, jakte på tjenester-verktøyet og gjøre det du trenger å gjøre.
Hvis du vil administrere tjenestene som kjører på en annen datamaskin eller server på din nettverk, må du gå til datamaskinstyring, koble til den eksterne maskinen og deretter håndtere disse tjenester.
Det er ikke noe galt i å ta denne tilnærmingen - faktisk systemadministratorer overalt bruker disse standard Windows-verktøyene for å administrere infrastrukturen i hele bedriften. Men hva om du kunne overvåke, stoppe og starte tjenester ved å skrive inn en enkelt linje ved ledeteksten?
Kontrollere tjenester fra kommandolinjen
Det kan hende du må stoppe tjenester som kjører på en klientdatamaskin, slik at du kan installere litt programvare på nytt. Eller kanskje du må starte tjenestene som kjører på en server på nytt fordi noen programvare ikke fungerer som den skal.
Frem til nå har du sannsynligvis administrert tjenester på klientmaskiner som kjører i nettverket ditt ved hjelp av standardtjenesterverktøyet. Dette er Tjenester-verktøyet du lanserer i Administrative verktøy delen av kontrollpanelet.
I Administratorverktøy kan du enten gå direkte til Tjenesteverktøyet, eller åpne datamaskinhåndtering hvis du vil ha tilgang til en annen datamaskin i nettverket.
For å få tilgang til en annen datamaskin, klikker du bare på handling, “Koble til en annen datamaskin”Og skriv deretter datamaskinens nettverksnavn.
Da kan du åpne opp tjenesterverktøyet.
En enklere måte å administrere tjenester
Så uansett, det er den lange veien. Den kortere og raskere måten er å bruke kommandoen “SC”.
Du er sannsynligvis kjent med NET-kommandoen. SC-kommandoen er nesten identisk med NET, bortsett fra at den også kan opprette en tjeneste, i tillegg til å overvåke, stoppe og starte dem. Det beste av alt er at du kan utstede SC-kommandoen mot andre datamaskiner over nettverket (forutsatt at du har administratorrettigheter).
Hvis du gjør en SC-spørring mot en datamaskin, vil du gi deg alle de installerte tjenestene og om de kjører. Når du gir kommandoen “SC \\ ** datamaskinnavn ** spørring | mer” - du får en utdata som vist her.
Som du kan se, gir dette deg status for tjenesten, typen tjeneste og andre parametere. Av hensyn til øvelsene våre her, vil vi være oppmerksom på bare tjenestenes tilstand.
Hvis du bare vil liste opp tjenestene som for øyeblikket ikke kjører (stoppes), vil du utgi kommandoen, “SC \\ ** datamaskinnavn ** spørringstilstand =“ inaktiv ”| mer”
Den | mer delen av kommandoen gjør at output pauser på hvert skjermbilde slik at du kan bla.
Som du ser, stoppes disse tjenestene. I stedet for å måtte grave gjennom alle disse tjenestene, kan du bare gi kommandoen, hvis du vet navnet på tjenesten “SC \\ ** datamaskinnavn ** spørring ** tjenestenavn **”
Det vil rapportere tilbake med gjeldende status for akkurat den tjenesten og ingenting annet. For å stoppe en tjeneste eksternt, trenger du bare å utstede stoppkommandoen, “SC \\ ** datamaskinnavn ** stopp ** tjenestenavn **”
Utdataene viser statusen "STOP-PENDING", men etter noen øyeblikk, hvis du spør om tjenesten igjen, vil du se at den ikke kjører lenger. Du kan starte den med å utstede den samme kommandoen, men erstatte "stopp" med "start".
Opprette et skript for å spørre, stoppe eller starte en tjeneste
OK, så nå som du har fått det grunnleggende, er det på tide å skrive et skript som vil stoppe enhver tjeneste du ønsker uten å måtte huske den eksakte kommandostrengen. Vi kan gjøre dette ved å skrive et pålitelig Windows-skript, som følger.
Når du kjører dette skriptet, vil det spørre deg om navnet på tjenesten du vil stoppe eller starte.
Og så om du vil stoppe eller starte tjenesten.
Bruker “>> c: \ temp \ results.txt” kommando, sender den stopp og start resultater og feil til en tekstfil som du kan bruke til å se om kommandoen fungerte.
Da jeg kjørte skriptet ovenfor, fulgte jeg det opp med en rask spørring om tjenesten før og etter å ha kjørt skriptet.
Som du ser kjørte tjenesten jeg stoppet - helpsvc -. Jeg kjørte Windows-skriptet for å stoppe det, spurte det, og det ble stoppet.
Hvis du ville bli veldig fancy, kan du legge til et avsnitt i skriptet som ga alt det for øyeblikket installerte tjenester på PC-en til en tekstfil som du kan gjennomgå før du bestemmer deg for hvilken tjeneste du vil stoppe eller start. Kommandoen for det ville være “Sc \\” & strComputer & ”spørring> c: \ temp \ services.txt”.
Som du kan se, kan SC-kommandoen være en ganske kraftig og effektiv måte å administrere tjenester på hvilken som helst datamaskin, og hvis du har noe talent med Windows Scripting, kan du til og med automatisere prosessen for å gjøre jobben din jevn lettere.
Tror du SC-kommandoen kan være nyttig for deg? Hva med et automatisert skript som kjører kommandoen? Del ideene og tankene dine i kommentarfeltet nedenfor.
Bildekreditt: Shutterstock
Ryan har en BSc-grad i elektroteknikk. Han har jobbet 13 år innen automatisering, 5 år innen IT, og er nå en applikasjonsingeniør. Han var tidligere administrerende redaktør for MakeUseOf, han snakket på nasjonale konferanser om datavisualisering og har blitt omtalt på nasjonal TV og radio.