Dela via


Set-Service

Startar, stoppar och pausar en tjänst och ändrar dess egenskaper.

Syntax

Name (Standard)

Set-Service
    [-Name] <String>
    [-DisplayName <String>]
    [-Credential <PSCredential>]
    [-Description <String>]
    [-StartupType <ServiceStartupType>]
    [-Status <String>]
    [-SecurityDescriptorSddl <String>]
    [-Force]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InputObject

Set-Service
    [-InputObject] <ServiceController>
    [-DisplayName <String>]
    [-Credential <PSCredential>]
    [-Description <String>]
    [-StartupType <ServiceStartupType>]
    [-SecurityDescriptorSddl <String>]
    [-Status <String>]
    [-Force]
    [-PassThru]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

Den här cmdleten är endast tillgänglig på Windows-plattformen.

Cmdleten Set-Service ändrar egenskaperna för en tjänst, till exempel Status, Description, DisplayNameoch StartupType. Set-Service kan starta, stoppa, suspendera eller pausa en tjänst. Om du vill identifiera en tjänst anger du dess tjänstnamn eller skickar ett tjänstobjekt. Eller skicka ett tjänstnamn eller tjänstobjekt i pipelinen till Set-Service.

Exempel

Exempel 1: Ändra ett visningsnamn

I det här exemplet ändras en tjänsts visningsnamn. Om du vill visa det ursprungliga visningsnamnet använder du Get-Service.

Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"

Set-Service använder parametern Name för att ange tjänstens namn LanmanWorkstation. Parametern DisplayName anger det nya visningsnamnet LanMan Workstation.

Exempel 2: Ändra starttypen för tjänster

Det här exemplet visar hur du ändrar en tjänsts starttyp.

Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status
Name  StartType   Status
----  ---------   ------
BITS  Automatic  Running

Set-Service använder parametern Name för att ange tjänstens namn, BITS. Parametern StartupType anger tjänsten till Automatisk.

Get-Service använder parametern Name för att ange tjänsten BITS och skickar objektet nedåt i pipelinen. Select-Object använder parametern Egenskap för att visa BITS--tjänstens status.

Exempel 3: Ändra beskrivningen av en tjänst

Det här exemplet ändrar BITS-tjänstens beskrivning och visar resultatet.

Cmdleten Get-CimInstance används eftersom den returnerar ett Win32_Service objekt som innehåller tjänstens Description.

Get-CimInstance Win32_Service -Filter 'Name = "BITS"'  | Format-List  Name, Description
Name        : BITS
Description : Transfers files in the background using idle network bandwidth. If the service is
              disabled, then any applications that depend on BITS, such as Windows Update or MSN
              Explorer, will be unable to automatically download programs and other information.
Set-Service -Name BITS -Description "Transfers files in the background using idle network bandwidth."
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List  Name, Description
Name        : BITS
Description : Transfers files in the background using idle network bandwidth.

Get-CimInstance skickar objektet nedåt i pipelinen till Format-List och visar tjänstens namn och beskrivning. I jämförelsesyfte körs kommandot före och efter att beskrivningen har uppdaterats.

Set-Service använder parametern Name för att ange tjänsten BITS. Parametern Description anger den uppdaterade texten för tjänstebeskrivningen.

Exempel 4: Starta en tjänst

I det här exemplet startas en tjänst.

Set-Service -Name WinRM -Status Running -PassThru
Status   Name               DisplayName
------   ----               -----------
Running  WinRM              Windows Remote Management (WS-Manag...

Set-Service använder parametern Name för att ange tjänsten WinRM. Parametern Status använder värdet Running för att starta tjänsten. Parametern PassThru matar ut ett ServiceController- objekt som visar resultatet.

Exempel 5: Pausa en tjänst

I det här exemplet används pipelinen för att pausa för service.

Get-Service -Name Schedule | Set-Service -Status Paused

Get-Service använder parametern Name för att ange tjänsten Schedule och skickar objektet nedåt i pipelinen. Set-Service använder parametern Status för att ange att tjänsten ska pausas.

Exempel 6: Stoppa en tjänst

I det här exemplet används en variabel för att stoppa en tjänst.

$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped

Get-Service använder parametern Name för att ange tjänsten Schedule. Objektet lagras i variabeln $S. Set-Service använder parametern InputObject och anger objektet som lagras $S. Parametern Status anger tjänsten till Stoppad.

Exempel 7: Stoppa en tjänst i ett fjärrsystem

Det här exemplet stoppar en tjänst på en fjärrdator. Mer information finns i Invoke-Command.

$Cred = Get-Credential
$S = Get-Service -Name Schedule
Invoke-Command -ComputerName server01.contoso.com -Credential $Cred -ScriptBlock {
  Set-Service -InputObject $S -Status Stopped
}

Get-Credential frågar efter ett användarnamn och lösenord och lagrar autentiseringsuppgifterna i variabeln $Cred. Get-Service använder parametern Name för att ange tjänsten Schedule. Objektet lagras i variabeln $S.

Invoke-Command använder parametern ComputerName för att ange en fjärrdator. Parametern Credential använder variabeln $Cred för att logga in på datorn. ScriptBlock- anropar Set-Service. Parametern InputObject anger tjänstobjektet som lagras $S. Parametern Status anger tjänsten till Stoppad.

Exempel 8: Ändra autentiseringsuppgifter för en tjänst

I det här exemplet ändras de autentiseringsuppgifter som används för att hantera en tjänst.

$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential

Get-Credential frågar efter ett användarnamn och lösenord och lagrar autentiseringsuppgifterna i variabeln $credential. Set-Service använder parametern Name för att ange tjänsten Schedule. Parametern Credential använder variabeln $credential och uppdaterar tjänsten Schedule.

Exempel 9: Ändra SecurityDescriptor för en tjänst

Det här exemplet ändrar en tjänsts SecurityDescriptor.

$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL

SecurityDescriptor- lagras i variabeln $SDDL. Set-Service använder parametern Name för att ange tjänsten BITS. Parametern SecurityDescriptorSddl använder $SDDL för att ändra SecurityDescriptor- för tjänsten BITS.

Exempel 10: Ange starttyp för flera tjänster

Cmdleten Set-Service accepterar bara ett tjänstnamn i taget. Du kan dock skicka flera tjänster till Set-Service för att ändra konfigurationen av flera tjänster.

Get-Service SQLWriter,spooler |
    Set-Service -StartupType Automatic -PassThru |
    Select-Object Name, StartType
Name      StartType
----      ---------
spooler   Automatic
SQLWriter Automatic

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör Set-Service.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:jfr

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Credential

Anger det konto som används av tjänsten som -tjänstinloggningskontot.

Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential- objekt, till exempel ett som genereras av cmdleten Get-Credential. Om du skriver ett användarnamn uppmanas du att ange ett lösenord i den här cmdleten.

Autentiseringsuppgifter lagras i ett PSCredential--objekt och lösenordet lagras som en SecureString-.

Anmärkning

Mer information om SecureString dataskydd finns i Hur säker är SecureString?.

Den här parametern introducerades i PowerShell 6.0.

Parameteregenskaper

Typ:PSCredential
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Description

Anger en ny beskrivning för tjänsten.

Tjänstbeskrivningen visas i Datorhantering, Tjänster. Description är inte en egenskap för objektet Get-ServiceServiceController. Om du vill se tjänstbeskrivningen använder du Get-CimInstance som returnerar ett Win32_Service objekt som representerar tjänsten.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-DisplayName

Anger ett nytt visningsnamn för tjänsten.

Anmärkning

Vanligtvis fungerar Set-Service endast på Windows-tjänster och inte drivrutiner. Men om du anger namnet på en drivrutin kan Set-Service rikta in sig på drivrutinen.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Dagens Nyheter

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Force

Anger tjänstens stoppläge. Den här parametern fungerar bara när -Status Stopped används. Om aktiverad stoppar Set-Service de beroende tjänsterna innan måltjänsten stoppas. Som standard utlöses undantag när andra tjänster som körs är beroende av måltjänsten.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-InputObject

Anger ett ServiceController- objekt som representerar den tjänst som ska ändras. Ange en variabel som innehåller objektet eller skriv ett kommando eller uttryck som hämtar objektet, till exempel ett Get-Service kommando. Du kan använda pipelinen för att skicka ett tjänstobjekt till Set-Service.

Parameteregenskaper

Typ:ServiceController
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

InputObject
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Name

Anger tjänstnamnet för den tjänst som ska ändras. Jokertecken tillåts inte. Du kan använda pipelinen för att skicka ett tjänstnamn till Set-Service.

Anmärkning

Vanligtvis fungerar Set-Service endast på Windows-tjänster och inte drivrutiner. Men om du anger namnet på en drivrutin kan Set-Service rikta in sig på drivrutinen.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Tjänstenamn, SN

Parameteruppsättningar

Name
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-PassThru

Returnerar ett ServiceController- objekt som representerar de tjänster som har ändrats. Som standard genererar Set-Service inga utdata.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-SecurityDescriptorSddl

Anger SecurityDescriptor- för tjänsten i Sddl- format. Kontot som anropar Set-Service med den här parametern måste ha behörigheten WRITE_DAC och WRITE_OWNER. Mer information finns i Tjänstens säkerhets- och åtkomsträttigheter.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Sd

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-StartupType

Anger startläget för tjänsten.

Godkända värden för den här parametern är följande:

  • Automatisk – Tjänsten startas eller startades av operativsystemet vid systemstart. Om en automatiskt startad tjänst är beroende av en manuellt startad tjänst startas även den manuellt startade tjänsten automatiskt vid systemstart.
  • AutomaticDelayedStart – Startar strax efter att systemet startas.
  • Inaktiverad – Tjänsten är inaktiverad och kan inte startas av en användare eller ett program.
  • InvalidValue – Har ingen effekt. Cmdleten returnerar inget fel, men StartupType för tjänsten ändras inte.
  • Manuell – Tjänsten startas endast manuellt, av en användare, med hjälp av Service Control Manager eller av ett program.

Parameteregenskaper

Typ:ServiceStartupType
Standardvärde:None
Godkända värden:Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual
Stöder jokertecken:False
DontShow:False
Alias:StartMode, Svenska Mästerskapen, ST, StartType

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Status

Anger status för tjänsten.

Godkända värden för den här parametern är följande:

  • pausad. Pausar tjänsten.
  • Körning. Startar tjänsten.
  • stoppades. Stoppar tjänsten.

Parameteregenskaper

Typ:String
Standardvärde:None
Godkända värden:Paused, Running, Stopped
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-WhatIf

Visar vad som skulle hända om Set-Service kördes. Cmdleten körs inte.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:Wi

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

ServiceController

Du kan skicka ett tjänstobjekt till den här cmdleten.

String

Du kan skicka en sträng som innehåller ett tjänstnamn till den här cmdleten.

Utdata

None

Som standard returnerar den här cmdleten inga utdata.

ServiceController

När du använder parametern PassThru returnerar den här cmdleten ett ServiceController--objekt.

Kommentarer

Den här cmdleten är endast tillgänglig på Windows-plattformar.

Set-Service kräver utökade behörigheter. Använd alternativet Kör som administratör.

Set-Service kan bara styra tjänster när den aktuella användaren har behörighet att hantera tjänster. Om ett kommando inte fungerar korrekt kanske du inte har de behörigheter som krävs.

Om du vill hitta en tjänsts tjänstnamn eller visningsnamn använder du Get-Service. Tjänstnamnen finns i kolumnen Name och visningsnamnen finns i kolumnen DisplayName.