Share via


Start-Service

Hiermee start u een of meer gestopte services.

Syntax

Start-Service
     [-InputObject] <ServiceController[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-Name] <String[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-PassThru]
     -DisplayName <String[]>
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Description

Deze cmdlet is alleen beschikbaar op het Windows-platform.

De Start-Service cmdlet verzendt een startbericht naar de Windows-servicecontroller voor elk van de opgegeven services. Als een service al wordt uitgevoerd, wordt het bericht zonder fouten genegeerd. U kunt de services opgeven met hun servicenamen of weergavenamen, of u kunt de parameter InputObject gebruiken om een serviceobject op te geven dat de services vertegenwoordigt die u wilt starten.

Voorbeelden

Voorbeeld 1: een service starten met behulp van de naam

In dit voorbeeld wordt de EventLog-service op de lokale computer gestart. De parameter Name identificeert de service op basis van de servicenaam.

Start-Service -Name "eventlog"

Voorbeeld 2: informatie weergeven zonder een service te starten

In dit voorbeeld ziet u wat er zou gebeuren als u de services start met een weergavenaam die 'extern' bevat.

Start-Service -DisplayName *remote* -WhatIf

De parameter DisplayName identificeert de services met hun weergavenaam in plaats van hun servicenaam. De WhatIf parameter zorgt ervoor dat de cmdlet weergeeft wat er zou gebeuren wanneer u de opdracht uitvoert, maar geen wijzigingen aanbrengt.

Voorbeeld 3: Een service starten en de actie opnemen in een tekstbestand

In dit voorbeeld wordt de WMI-service (Windows Management Instrumentation) op de computer gestart en wordt een record van de actie toegevoegd aan het services.txt-bestand.

$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txt

Eerst gebruiken Get-Service we om een object op te halen dat de WMI-service vertegenwoordigt en het op te slaan in de $s variabele. Vervolgens starten we de service. Zonder de parameter PassThru wordt Start-Service er geen uitvoer gemaakt. De pijplijnoperator (|) geeft de objectuitvoer door Start-Service aan de Format-List cmdlet om het object op te maken als een lijst met eigenschappen. De operator voor toevoegomleiding (>>) leidt de uitvoer om naar het services.txt-bestand. De uitvoer wordt toegevoegd aan het einde van het bestaande bestand.

Voorbeeld 4: Een uitgeschakelde service starten

In dit voorbeeld ziet u hoe u een service start wanneer het starttype van de service Uitgeschakeld is.

PS> Start-Service tlntsvr
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the following error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ Start-Service  <<<< tlntsvr

PS> Get-CimInstance win32_service | Where-Object Name -eq "tlntsvr"
ExitCode  : 0
Name      : TlntSvr
ProcessId : 0
StartMode : Disabled
State     : Stopped
Status    : OK

PS> Set-Service tlntsvr -StartupType manual
PS> Start-Service tlntsvr

De eerste poging om de Telnet-service (tlntsvr) te starten, mislukt. De Get-CimInstance opdracht geeft aan dat de eigenschap StartMode van de Tlntsvr-service uitgeschakeld is. De Set-Service cmdlet wijzigt het starttype in Handmatig. Nu kunnen we de Start-Service opdracht opnieuw verzenden. Deze keer slaagt de opdracht. Voer uit Get-Serviceom te controleren of de opdracht is geslaagd.

Parameters

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

-DisplayName

Hiermee geeft u de weergavenamen op van de services die moeten worden gestart. Jokertekens zijn toegestaan.

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

-Exclude

Hiermee geeft u services op die door deze cmdlet worden weggelaten. De waarde van deze parameter komt in aanmerking voor de parameter Name . Voer een naamelement of patroon in, zoals s*. Jokertekens zijn toegestaan.

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

-Include

Hiermee geeft u de services op die met deze cmdlet worden gestart. De waarde van deze parameter komt in aanmerking voor de parameter Name . Voer een naamelement of patroon in, zoals s*. Jokertekens zijn toegestaan.

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

-InputObject

Hiermee geeft u ServiceController-objecten op die de services vertegenwoordigen die moeten worden gestart. Voer een variabele in die de objecten bevat of typ een opdracht of expressie waarmee de objecten worden opgehaald.

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

-Name

Hiermee geeft u de servicenamen op voor de service die moet worden gestart.

De parameternaam is optioneel. U kunt Name of de alias, ServiceName gebruiken of u kunt de parameternaam weglaten.

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

-PassThru

Retourneert een object dat de service vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.

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

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. 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

System.ServiceProcess.ServiceController, System.String

U kunt objecten die de services of tekenreeksen met de servicenamen vertegenwoordigen, doorsluizen naar deze cmdlet.

Uitvoerwaarden

None, System.ServiceProcess.ServiceController

Deze cmdlet genereert een System.ServiceProcess.ServiceController-object dat de service vertegenwoordigt, als u PassThru opgeeft. Anders genereert deze cmdlet geen uitvoer.

Notities

Deze cmdlet is alleen beschikbaar op Windows-platforms.

  • U kunt ook verwijzen naar door de Start-Service ingebouwde alias, sasv. Zie about_Aliases voor meer informatie.
  • Start-Service kan alleen services beheren als de huidige gebruiker hiertoe gemachtigd is. Als een opdracht niet goed werkt, beschikt u mogelijk niet over de vereiste machtigingen.
  • Als u de servicenamen en weergavenamen van de services op uw systeem wilt vinden, typt u Get-Service. De servicenamen worden weergegeven in de kolom Naam en de weergavenamen worden weergegeven in de kolom DisplayName .
  • U kunt alleen de services starten die het starttype Handmatig, Automatisch of Automatisch (vertraagd starten) hebben. U kunt de services met het starttype Uitgeschakeld niet starten. Als een Start-Service opdracht mislukt met het bericht Cannot start service \<service-name\> on computer, gebruikt Get-CimInstance u om het starttype van de service te vinden en, indien nodig, gebruikt u de Set-Service cmdlet om het starttype van de service te wijzigen.
  • Sommige services, zoals Prestatielogboeken en Waarschuwingen (SysmonLog) stoppen automatisch als ze geen werk hoeven te doen. Wanneer PowerShell een service start die zichzelf bijna onmiddellijk stopt, wordt het volgende bericht weergegeven: Service \<display-name\> start failed.