Udostępnij za pośrednictwem


Start-Service

Uruchamia co najmniej jedną zatrzymaną usługę.

Składnia

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>]

Opis

Polecenie Start-Service cmdlet wysyła komunikat początkowy do kontrolera usługi systemu Windows dla każdej z określonych usług. Jeśli usługa jest już uruchomiona, komunikat jest ignorowany bez błędu. Możesz określić usługi według ich nazw usług lub nazw wyświetlanych albo użyć parametru InputObject , aby podać obiekt usługi, który reprezentuje usługi, które chcesz uruchomić.

Przykłady

Przykład 1. Uruchamianie usługi przy użyciu jej nazwy

W tym przykładzie jest uruchamiana usługa EventLog na komputerze lokalnym. Parametr Name identyfikuje usługę według jego nazwy usługi.

Start-Service -Name "eventlog"

Przykład 2. Wyświetlanie informacji bez uruchamiania usługi

W tym przykładzie pokazano, co się dzieje, jeśli uruchomiono usługi, które mają nazwę wyświetlaną zawierającą "zdalne".

Start-Service -DisplayName *remote* -WhatIf

Parametr DisplayName identyfikuje usługi według ich nazwy wyświetlanej zamiast nazwy usługi. Parametr WhatIf powoduje, że polecenie cmdlet wyświetla, co się stanie po uruchomieniu polecenia, ale nie wprowadza zmian.

Przykład 3. Uruchamianie usługi i rejestrowanie akcji w pliku tekstowym

W tym przykładzie jest uruchamiana usługa Instrumentacja zarządzania Windows (WMI) na komputerze i dodaje rekord akcji do pliku services.txt.

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

Najpierw użyjemy polecenia Get-Service , aby uzyskać obiekt reprezentujący usługę WMI i zapisać go w zmiennej $s . Następnie uruchomimy usługę. Bez parametru Start-ServicePassThru nie tworzy żadnych danych wyjściowych. Operator potoku (|) przekazuje dane wyjściowe Start-Service obiektu do Format-List polecenia cmdlet, aby sformatować obiekt jako listę jego właściwości. Operator przekierowania dołączania (>>) przekierowuje dane wyjściowe do pliku services.txt. Dane wyjściowe są dodawane na końcu istniejącego pliku.

Przykład 4. Uruchamianie wyłączonej usługi

W tym przykładzie pokazano, jak uruchomić usługę po wyłączeniu typu uruchamiania usługi.

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

Pierwsza próba uruchomienia usługi Telnet (tlntsvr) kończy się niepowodzeniem. Polecenie Get-CimInstance pokazuje, że właściwość StartMode usługi Tlntsvr jest wyłączona. Polecenie cmdlet zmienia typ uruchamiania Set-Service na Ręczne. Teraz możemy ponownie przesłać Start-Service polecenie. Tym razem polecenie powiedzie się. Aby sprawdzić, czy polecenie powiodło się, uruchom polecenie Get-Service.

Parametry

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

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

-DisplayName

Określa nazwy wyświetlane usług do uruchomienia. Dozwolone są symbole wieloznaczne.

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

-Exclude

Określa usługi pomijane przez to polecenie cmdlet. Wartość tego parametru kwalifikuje parametr Name . Wprowadź element nazwy lub wzorzec, taki jak s*. Dozwolone są symbole wieloznaczne.

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

-Include

Określa usługi uruchamiane przez to polecenie cmdlet. Wartość tego parametru kwalifikuje parametr Name . Wprowadź element nazwy lub wzorzec, taki jak s*. Dozwolone są symbole wieloznaczne.

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

-InputObject

Określa obiekty ServiceController reprezentujące usługi do uruchomienia. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty.

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

-Name

Określa nazwy usług, które mają zostać uruchomione.

Nazwa parametru jest opcjonalna. Możesz użyć nazwy lub aliasu, nazwy usługi lub pominięcia nazwy parametru.

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

-PassThru

Zwraca obiekt reprezentujący usługę. Domyślnie to polecenie cmdlet nie generuje żadnego wyniku.

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

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

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

Dane wejściowe

System.ServiceProcess.ServiceController, System.String

Możesz potokować obiekty reprezentujące usługi lub ciągi zawierające nazwy usług do tego polecenia cmdlet.

Dane wyjściowe

None, System.ServiceProcess.ServiceController

To polecenie cmdlet generuje obiekt System.ServiceProcess.ServiceController reprezentujący usługę, jeśli określisz wartość PassThru. W przeciwnym razie to polecenie cmdlet nie generuje żadnych danych wyjściowych.

Uwagi

  • Możesz również odwołać się do Start-Service jego wbudowanego aliasu . sasv Aby uzyskać więcej informacji, zobacz about_Aliases.
  • Start-Service może kontrolować usługi tylko wtedy, gdy bieżący użytkownik ma uprawnienia do tego. Jeśli polecenie nie działa poprawnie, być może nie masz wymaganych uprawnień.
  • Aby znaleźć nazwy usług i nazwy wyświetlane usług w systemie, wpisz Get-Service. Nazwy usług są wyświetlane w kolumnie Nazwa , a nazwy wyświetlane są w kolumnie DisplayName .
  • Możesz uruchomić tylko usługi, które mają typ początkowy Ręczne, Automatyczne lub Automatyczne (opóźnione uruchamianie). Nie można uruchomić usług, które mają typ startu Wyłączone. Jeśli polecenie zakończy się niepowodzeniem Start-Service z komunikatem Cannot start service \<service-name\> on computer, użyj polecenia Get-CimInstance , aby znaleźć typ uruchamiania usługi i, jeśli musisz, użyj Set-Service polecenia cmdlet , aby zmienić typ uruchamiania usługi.
  • Niektóre usługi, takie jak dzienniki wydajności i alerty (SysmonLog) są zatrzymywane automatycznie, jeśli nie mają do zrobienia żadnej pracy. Gdy program PowerShell uruchamia usługę, która zatrzymuje się niemal natychmiast, wyświetla następujący komunikat: Service \<display-name\> start failed.