Delen via


Set-Service

Hiermee wordt een service gestart, gestopt en onderbroken en worden de eigenschappen ervan gewijzigd.

Syntaxis

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

Deze cmdlet is alleen beschikbaar op het Windows-platform.

De Set-Service-cmdlet wijzigt de eigenschappen van een service, zoals de Status, Description, DisplayNameen StartupType. Set-Service kan een service starten, stoppen, onderbreken of onderbreken. Als u een service wilt identificeren, voert u de naam van de service in of verzendt u een serviceobject. U kunt ook een servicenaam of serviceobject in de pijplijn naar Set-Serviceverzenden.

Voorbeelden

Voorbeeld 1: Een weergavenaam wijzigen

In dit voorbeeld wordt de weergavenaam van een service gewijzigd. Gebruik Get-Serviceom de oorspronkelijke weergavenaam weer te geven.

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

Set-Service gebruikt de parameter Name om de naam van de service op te geven, LanmanWorkstation. De parameter DisplayName geeft de nieuwe weergavenaam op, LanMan Workstation.

Voorbeeld 2: Het opstarttype van services wijzigen

In dit voorbeeld ziet u hoe u het opstarttype van een service wijzigt.

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

Name  StartType   Status
----  ---------   ------
BITS  Automatic  Running

Set-Service gebruikt de parameter Name om de naam van de service op te geven, BITS-. De parameter StartupType stelt de service in op Automatische.

Get-Service gebruikt de parameter Name om de BITS--service op te geven en het object omlaag in de pijplijn te verzenden. Select-Object gebruikt de parameter Eigenschap om de status van de BITS--service weer te geven.

Voorbeeld 3: De beschrijving van een service wijzigen

In dit voorbeeld wordt de beschrijving van de BITS-service gewijzigd en wordt het resultaat weergegeven.

De Get-CimInstance cmdlet wordt gebruikt omdat het een Win32_Service-object retourneert dat de Beschrijving van de servicebevat.

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 verzendt het object in de pijplijn naar Format-List en geeft de naam en beschrijving van de service weer. Ter vergelijking wordt de opdracht uitgevoerd voor en nadat de beschrijving is bijgewerkt.

Set-Service gebruikt de parameter Name om de BITS--service op te geven. De parameter Description geeft de bijgewerkte tekst voor de beschrijving van de services op.

Voorbeeld 4: Een service starten

In dit voorbeeld wordt een service gestart.

Set-Service -Name WinRM -Status Running -PassThru

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

Set-Service gebruikt de parameter Name om de service op te geven, WinRM-. De parameter Status gebruikt de waarde Wordt uitgevoerd om de service te starten. De parameter PassThru voert een ServiceController--object uit waarmee de resultaten worden weergegeven.

Voorbeeld 5: Een service onderbreken

In dit voorbeeld wordt de pijplijn gebruikt om de service te onderbreken.

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

Get-Service gebruikt de parameter Name om de service Schedule op te geven en verzendt het object omlaag in de pijplijn. Set-Service gebruikt de parameter Status om de service in te stellen op onderbroken.

Voorbeeld 6: Een service stoppen

In dit voorbeeld wordt een variabele gebruikt om een service te stoppen.

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

Get-Service gebruikt de parameter Name om de service op te geven, Schedule. Het object wordt opgeslagen in de variabele, $S. Set-Service gebruikt de InputObject parameter en geeft het object op dat is opgeslagen $S. De parameter Status stelt de service in op gestopte.

Voorbeeld 7: Een service stoppen op een extern systeem

In dit voorbeeld wordt een service op een externe computer gestopt. Zie Invoke-Commandvoor meer informatie.

$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 vraagt om een gebruikersnaam en wachtwoord en slaat de referenties op in de variabele $Cred. Get-Service gebruikt de parameter Name om de service Schedule op te geven. Het object wordt opgeslagen in de variabele, $S.

Invoke-Command gebruikt de parameter ComputerName om een externe computer op te geven. De parameter Credential gebruikt de variabele $Cred om u aan te melden bij de computer. De ScriptBlock roept Set-Serviceaan. De parameter InputObject geeft het serviceobject op dat is opgeslagen $S. De parameter Status stelt de service in op gestopte.

Voorbeeld 8: Referenties van een service wijzigen

In dit voorbeeld worden de referenties gewijzigd die worden gebruikt voor het beheren van een service.

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

Get-Credential vraagt om een gebruikersnaam en wachtwoord en slaat de referenties op in de variabele $credential. Set-Service gebruikt de parameter Name om de service Schedule op te geven. De parameter Credential gebruikt de variabele $credential en werkt de service Schedule bij.

Voorbeeld 9: De SecurityDescriptor van een service wijzigen

In dit voorbeeld wordt de SecurityDescriptor van een service gewijzigd.

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

De SecurityDescriptor- wordt opgeslagen in de $SDDL variabele. Set-Service gebruikt de parameter Name om de BITS--service op te geven. De parameter SecurityDescriptorSddl gebruikt $SDDL om de SecurityDescriptor- te wijzigen voor de BITS--service.

Voorbeeld 10: Het opstarttype instellen voor meerdere services

De cmdlet Set-Service accepteert slechts één servicenaam tegelijk. U kunt echter meerdere services doorsluisen naar Set-Service om de configuratie van meerdere services te wijzigen.

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

Name      StartType
----      ---------
spooler   Automatic
SQLWriter Automatic

Parameters

-Confirm

Vraagt u om bevestiging voordat u Set-Serviceuitvoert.

Type:SwitchParameter
Aliassen:cf
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Credential

Hiermee geeft u het account dat door de service wordt gebruikt als het serviceaanmeldingsaccount.

Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential--object in, zoals een object dat is gegenereerd door de Get-Credential-cmdlet. Als u een gebruikersnaam typt, wordt u door deze cmdlet gevraagd om een wachtwoord.

Referenties worden opgeslagen in een PSCredential-object en het wachtwoord wordt opgeslagen als een SecureString-.

Notitie

Zie voor meer informatie over SecureString gegevensbeveiliging Hoe veilig is SecureString?.

Deze parameter is geïntroduceerd in PowerShell 6.0.

Type:PSCredential
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Description

Hiermee geeft u een nieuwe beschrijving voor de service.

De servicebeschrijving wordt weergegeven in Computerbeheer, Services. De Description is geen eigenschap van het Get-ServiceServiceController-object. Als u de beschrijving van de service wilt zien, gebruikt u Get-CimInstance die een Win32_Service-object retourneert dat de service vertegenwoordigt.

Type:String
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-DisplayName

Hiermee geeft u een nieuwe weergavenaam voor de service op.

Notitie

Normaal gesproken werkt Set-Service alleen op Windows-services en niet op stuurprogramma's. Als u echter de naam van een stuurprogramma opgeeft, kunt Set-Service het stuurprogramma instellen.

Type:String
Aliassen:DN
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Force

Hiermee geeft u de stopmodus van de service. Deze parameter werkt alleen wanneer -Status Stopped wordt gebruikt. Indien ingeschakeld, stopt Set-Service de afhankelijke services voordat de doelservice wordt gestopt. Standaard worden uitzonderingen gegenereerd wanneer andere actieve services afhankelijk zijn van de doelservice.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-InputObject

Hiermee geeft u een ServiceController object dat de service vertegenwoordigt die moet worden gewijzigd. Voer een variabele in die het object bevat of typ een opdracht of expressie waarmee het object wordt opgehaald, zoals een Get-Service opdracht. U kunt de pijplijn gebruiken om een serviceobject naar Set-Servicete verzenden.

Type:ServiceController
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-Name

Hiermee geeft u de servicenaam van de service die moet worden gewijzigd. Jokertekens zijn niet toegestaan. U kunt de pijplijn gebruiken om een servicenaam naar Set-Servicete verzenden.

Notitie

Normaal gesproken werkt Set-Service alleen op Windows-services en niet op stuurprogramma's. Als u echter de naam van een stuurprogramma opgeeft, kunt Set-Service het stuurprogramma instellen.

Type:String
Aliassen:ServiceName, SN
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

-PassThru

Hiermee wordt een ServiceController--object geretourneerd dat de services vertegenwoordigt die zijn gewijzigd. Standaard genereert Set-Service geen uitvoer.

Type:SwitchParameter
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-SecurityDescriptorSddl

Hiermee geeft u de SecurityDescriptor- voor de service in Sddl-indeling. Het account dat Set-Service aanroept met deze parameter, moet de WRITE_DAC en WRITE_OWNER machtigingen hebben. Zie Service-beveiligings- en toegangsrechtenvoor meer informatie.

Type:String
Aliassen:sd
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-StartupType

Hiermee geeft u de startmodus van de service.

De acceptabele waarden voor deze parameter zijn als volgt:

  • Automatic - De service wordt gestart of is gestart door het besturingssysteem, bij het opstarten van het systeem. Als een automatisch gestarte service afhankelijk is van een handmatig gestarte service, wordt de handmatig gestarte service ook automatisch gestart bij het opstarten van het systeem.
  • AutomaticDelayedStart - wordt kort nadat het systeem is opgestart gestart.
  • Uitgeschakeld: de service is uitgeschakeld en kan niet worden gestart door een gebruiker of toepassing.
  • InvalidValue - Heeft geen effect. De cmdlet retourneert geen fout, maar het StartupType van de service wordt niet gewijzigd.
  • Handmatige: de service wordt alleen handmatig gestart door een gebruiker, met behulp van Service Control Manager of door een toepassing.
Type:ServiceStartupType
Aliassen:StartMode, SM, ST, StartType
Geaccepteerde waarden:Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Status

Hiermee geeft u de status voor de service.

De acceptabele waarden voor deze parameter zijn als volgt:

  • onderbroken. Onderbreekt de service.
  • uitvoeren. Start de service.
  • gestopt. Stopt de service.
Type:String
Geaccepteerde waarden:Paused, Running, Stopped
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-WhatIf

Laat zien wat er zou gebeuren als Set-Service wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliassen:wi
Position:Named
Default value:False
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

Invoerwaarden

ServiceController

U kunt een serviceobject doorsluisen naar deze cmdlet.

String

U kunt een tekenreeks met een servicenaam doorsluisen naar deze cmdlet.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

ServiceController

Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet een ServiceController--object.

Notities

Deze cmdlet is alleen beschikbaar op Windows-platforms.

Set-Service hebt u verhoogde machtigingen nodig. Gebruik de optie Als administrator uitvoeren.

Set-Service kan alleen services beheren wanneer de huidige gebruiker machtigingen heeft voor het beheren van services. Als een opdracht niet goed werkt, hebt u mogelijk niet de vereiste machtigingen.

Gebruik Get-Serviceom de servicenaam of weergavenaam van een service te vinden. De servicenamen bevinden zich in de kolom Naam en de weergavenamen bevinden zich in de kolom DisplayName.