Hvordan administrerer du Windows-tjenester med PowerShell?

Du kan administrere Windows-tjenester ikke kun fra snap-in’en services.msc eller kommandolinjeværktøjet sc.exe, men også ved hjælp af PowerShell. I denne artikel ser vi på forskellige scenarier for administration af Windows-tjenester med PowerShell.

PowerShell-cmdlets, der bruges til at administrere Windows-tjenester

Der er otte grundlæggende service-cmdlets til at få vist tilstanden af Windows-tjenester og administrere dem. Du kan få den fulde liste over cmdlets til administration af tjenester ved at køre denne kommando:

Get-Help \*-Service

  • Get-Service – gør det muligt at få fat i tjenesterne på en lokal eller fjerncomputer, både i kørende og stoppet tilstand;
  • New-Service – opretter en tjeneste. Cmdletten opretter en ny post for en Windows-tjeneste i registreringsdatabasen og i tjenestedatabasen;
  • Restart-Service – genstarter en tjeneste. Cmdletten sender genstartmeddelelsen via Windows Tjenestecontroller;
  • Resume-Service – genoptager en tjeneste. Cmdletten sender en genoptagelsesmeddelelse til Windows Tjenesteadministrator;
  • Set-Service – ændrer indstillingerne for en lokal eller ekstern tjeneste, herunder dens tilstand, beskrivelse, viste navn eller opstartstilstand. Du kan også bruge denne cmdlet til at starte, stoppe eller suspendere en tjeneste;
  • Start-Service – starter en tjeneste;
  • Stop-Service – stopper en tjeneste (cmdletten sender en stopmeddelelse til Windows Service Manager);
  • Suspend-Service – suspenderer en tjeneste. En suspenderet tjeneste kører stadig, men den gør ikke noget, før den genoptages ved hjælp af( f.eks. med cmdletten Resume-Service).

Du kan få en detaljeret beskrivelse og eksempler på brug af en bestemt cmdlet med Get-Help:

Get-Help Start-Service

Hvordan tjekker jeg Windows-tjenestestestatus med Get-Service?

Du kan få vist listen over tjenester og deres tilstand (kørt/stoppet) på en lokal eller fjerncomputer ved hjælp af cmdletten Get-Service. Med parameteren -Name kan du vælge tjenester efter navn. Tjenestens navn kan angives ved hjælp af jokertegnet *.

Hvis du ikke kender det nøjagtige tjenestenavn, kan du finde den ved hjælp af det viste navn ved hjælp af parameteren -DisplayName. Du kan bruge listen over værdier og jokertegn.

Brug cmdletten Get-Service med parameteren -ComputerName for at få vist tjenestens status på en fjerncomputer. Du kan spørge om tjenestens status på flere fjerncomputere på én gang ved at angive deres navne adskilt med kommaer. Den nedenfor viste kommando henter f.eks. status for Spooler-tjenesten på fjerncomputerne ny-prnt1 og ny-prnt2.

Get-Service spooler –ComputerName ny-prnt1,ny-prnt2

Status Name DisplayName------ ---- -----------Running spooler Print SpoolerStopped spooler Print Spooler

For at få vist alle egenskaberne for en tjeneste skal du bruge cmdletten Select-Object:

Get-Service spooler | Select-Object *

Med cmdletten Select-Object kan du hente specifikke egenskaber for en tjeneste. Du vil f.eks. se navnet, status og tilgængelige indstillinger for tjenesten Spooler:

Get-Service Spooler | Select DisplayName,Status,ServiceName,Can*

Cmdletten Get-Service har to parametre, der gør det muligt at få vist tjenestens afhængigheder:

  • -DependentServices giver mulighed for at få vist de tjenester, der er afhængige af den givne tjeneste
  • -RequiredServices viser de tjenester, som den givne tjeneste er afhængig af

Følgende kommando viser de tjenester, der er nødvendige for at starte Spooler-tjenesten:

Get-Service –Name Spooler -RequiredServices

Den følgende kommando viser de tjenester, der er afhængige af Spooler:

Get-Service –Name Spooler -DependentServices

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.