Delen via


Set-Service

Start, stopt en onderbreekt een service en wijzigt de eigenschappen ervan.

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

Deze cmdlet is alleen beschikbaar op het Windows-platform.

De Set-Service cmdlet wijzigt de eigenschappen van een service, zoals Status, Description, DisplayName en StartupType. Set-Service kan een service starten, stoppen, onderbreken of onderbreken. Als u een service wilt identificeren, voert u de servicenaam in of verzendt u een serviceobject. Of verzend een servicenaam of serviceobject in de pijplijn naar Set-Service.

Voorbeelden

Voorbeeld 1: Een weergavenaam wijzigen

In dit voorbeeld wordt de weergavenaam van een service gewijzigd. Als u de oorspronkelijke weergavenaam wilt weergeven, gebruikt u Get-Service.

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

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

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. Met de parameter StartupType wordt de service ingesteld op Automatisch.

Get-Service gebruikt de parameter Name om de BITS-service op te geven en verzendt het object naar beneden in de pijplijn. 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 deze een Win32_Service-object retourneert dat de beschrijving van de service bevat.

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 naar beneden in de pijplijn en Format-List geeft de naam en beschrijving van de service weer. Voor vergelijkingsdoeleinden 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 beschrijving parameter geeft de bijgewerkte tekst voor de beschrijving van de services.

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 WinRM op te geven. De parameter Status gebruikt de waarde Running om de service te starten. De parameter PassThru voert een ServiceController-object uit dat de resultaten weergeeft.

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 planningsservice op te geven en verzendt het object naar beneden 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 , Planning, op te geven. Het -object wordt opgeslagen in de variabele , $S. Set-Service gebruikt de parameter InputObject en geeft het object op dat is opgeslagen $S. Met de parameter Status wordt de service ingesteld op Gestopt.

Voorbeeld 7: Een service op een extern systeem stoppen

In dit voorbeeld wordt een service op een externe computer gestopt. Zie Invoke-Command voor 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 $Cred variabele. Get-Service gebruikt de parameter Name om de planningsservice 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 referentieparameter gebruikt de $Cred variabele om u aan te melden bij de computer. Het ScriptBlock roept aan Set-Service. De parameter InputObject geeft het serviceobject op dat is opgeslagen $S. Met de parameter Status wordt de service ingesteld op Gestopt.

Voorbeeld 8: De 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 $credential variabele. Set-Service gebruikt de parameter Name om de planningsservice op te geven. De parameter Credential maakt gebruik van de $credential variabele en werkt de planningsservice 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 voor de BITS-service te wijzigen.

Voorbeeld 10: het opstarttype voor meerdere services instellen

De Set-Service cmdlet 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 uitvoert Set-Service.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Hiermee geeft u het account op 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 wordt gegenereerd door de Get-Credential cmdlet. Als u een gebruikersnaam typt, wordt u met deze cmdlet gevraagd om een wachtwoord.

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

Notitie

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

Deze parameter is geïntroduceerd in PowerShell 6.0.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Hiermee geeft u een nieuwe beschrijving voor de service.

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Hiermee geeft u een nieuwe weergavenaam voor de service.

Notitie

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

Type:String
Aliases:DN
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Hiermee geeft u de stopmodus van de service. Deze parameter werkt alleen wanneer -Status Stopped wordt gebruikt. Als deze optie is ingeschakeld, Set-Service worden de afhankelijke services gestopt 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
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Hiermee geeft u een ServiceController-object op 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 te verzenden naar Set-Service.

Type:ServiceController
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Hiermee geeft u de servicenaam van de service te wijzigen. Jokertekens zijn niet toegestaan. U kunt de pijplijn gebruiken om een servicenaam te verzenden naar Set-Service.

Notitie

Set-Service Werkt doorgaans alleen op Windows-services en niet op stuurprogramma's. Als u echter de naam van een stuurprogramma opgeeft, Set-Service kunt u het stuurprogramma targeten.

Type:String
Aliases:ServiceName, SN
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Retourneert een ServiceController-object dat de services vertegenwoordigt die zijn gewijzigd. Genereert standaard Set-Service geen uitvoer.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecurityDescriptorSddl

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

Type:String
Aliases:sd
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartupType

Hiermee geeft u de startmodus van de service op.

De acceptabele waarden voor deze parameter zijn als volgt:

  • Automatisch : 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 gestart kort nadat het systeem is opgestart.
  • 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 is niet gewijzigd.
  • Handmatig : de service wordt alleen handmatig gestart, door een gebruiker, met behulp van Service Control Manager of door een toepassing.
Type:ServiceStartupType
Aliases:StartMode, SM, ST, StartType
Accepted values:Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Status

Hiermee geeft u de status voor de service op.

De acceptabele waarden voor deze parameter zijn als volgt:

  • Onderbroken. Hiermee wordt de service onderbroken.
  • Wordt uitgevoerd. Start de service.
  • Gestopt. Stopt de service.
Type:String
Accepted values:Paused, Running, Stopped
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

ServiceController

U kunt een serviceobject doorsluisen naar deze cmdlet.

String

U kunt een tekenreeks met een servicenaam doorspezen 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 vereist verhoogde machtigingen. Gebruik de optie Als administrator uitvoeren .

Set-Service kan alleen services beheren wanneer de huidige gebruiker machtigingen heeft om services te beheren. Als een opdracht niet goed werkt, beschikt u mogelijk niet over 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 in de kolom DisplayName .