Set-Service
Startar, stoppar och pausar en tjänst och ändrar dess egenskaper.
Syntax
Set-Service
[-Name] <String>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-Status <String>]
[-SecurityDescriptorSddl <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
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, Beskrivning, DisplayName och StartupType. Set-Service
kan starta, stoppa, pausa 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 Namn 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 Namn för att ange tjänstens namn, BITS. Parametern StartupType anger tjänsten till Automatisk.
Get-Service
använder parametern Namn för att ange BITS-tjänsten och skickar objektet nedåt i pipelinen. Select-Object
använder egenskapsparametern för att visa STATUS för BITS-tjänsten.
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 beskrivning.
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 Namn för att ange BITS-tjänsten . Parametern Beskrivning 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 Namn för att ange tjänsten WinRM. Parametern Status använder värdet Körs 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 till tjänsten.
Get-Service -Name Schedule | Set-Service -Status Paused
Get-Service
använder parametern Namn för att ange tjänsten Schema och skickar objektet nedåt i pipelinen. Set-Service
använder parametern Status för att ställa in tjänsten på Paused.
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 Namn för att ange tjänsten Schema. Objektet lagras i variabeln . $S
Set-Service
använder parametern InputObject och anger det lagrade $S
objektet . 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 Namn för att ange schedule-tjänsten . 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 Namn för att ange schedule-tjänsten . Parametern Credential använder variabeln $credential
och uppdaterar schedule-tjänsten .
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 Namn för att ange BITS-tjänsten . Parametern SecurityDescriptorSddl använder $SDDL
för att ändra SecurityDescriptor för BITS-tjänsten .
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 för att Set-Service
ä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
.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Credential
Anger det konto som används av tjänsten som tjänstinloggningskonto.
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.
Kommentar
Mer information om SecureString-dataskydd finns i Hur säker är SecureString?.
Den här parametern introducerades i PowerShell 6.0.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Description
Anger en ny beskrivning för tjänsten.
Tjänstbeskrivningen visas i Datorhantering, Tjänster. Beskrivningen är inte en egenskap för ServiceController-objektet Get-Service
. Om du vill se tjänstbeskrivningen använder du Get-CimInstance
som returnerar ett Win32_Service objekt som representerar tjänsten.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DisplayName
Anger ett nytt visningsnamn för tjänsten.
Kommentar
Set-Service
Fungerar vanligtvis bara på Windows-tjänster och inte drivrutiner. Men om du anger namnet på en drivrutin Set-Service
kan du rikta in dig på drivrutinen.
Typ: | String |
Alias: | DN |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Force
Anger tjänstens stoppläge. Den här parametern fungerar bara när -Status Stopped
den används. Om aktiverad Set-Service
stoppar 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.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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
.
Typ: | ServiceController |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | 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
.
Kommentar
Set-Service
Fungerar vanligtvis bara på Windows-tjänster och inte drivrutiner. Men om du anger namnet på en drivrutin Set-Service
kan du rikta in dig på drivrutinen.
Typ: | String |
Alias: | ServiceName, SN |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-PassThru
Returnerar ett ServiceController-objekt som representerar de tjänster som har ändrats. Som standard Set-Service
genererar inga utdata.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SecurityDescriptorSddl
Anger SecurityDescriptor för tjänsten i Sddl-format . Kontoanropet 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.
Typ: | String |
Alias: | sd |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 startar.
- 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.
Typ: | ServiceStartupType |
Alias: | StartMode, SM, ST, StartType |
Godkända värden: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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örs. Startar tjänsten.
- Stoppad. Stoppar tjänsten.
Typ: | String |
Godkända värden: | Paused, Running, Stopped |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-WhatIf
Visar vad som skulle hända om Set-Service
körs. Cmdleten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka ett tjänstobjekt till den här cmdleten.
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.
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 Namn och visningsnamnen finns i kolumnen DisplayName .