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 nazw usług lub nazw wyświetlanych. Można też użyć parametru InputObject , aby podać obiekt usługi reprezentujący usługi, które mają zostać uruchomione.
Przykłady
Przykład 1. Uruchamianie usługi przy użyciu jej nazwy
W tym przykładzie usługa EventLog jest uruchamiana na komputerze lokalnym. Parametr Name identyfikuje usługę według jej nazwy usługi.
Start-Service -Name "eventlog"
Przykład 2. Wyświetlanie informacji bez uruchamiania usługi
W tym przykładzie pokazano, co by się stało, 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
Ten przykład uruchamia usługę 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 Get-Service
polecenia , aby uzyskać obiekt reprezentujący usługę WMI i zapisać go w zmiennej $s
. Następnie uruchomimy usługę. Bez parametru Start-Service
PassThru nie tworzy żadnych danych wyjściowych. Operator potoku (|
) przekazuje dane wyjściowe Start-Service
obiektu do Format-List
polecenia cmdlet w celu sformatowania obiektu jako listy 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ę, gdy typ uruchamiania usługi jest wyłączony.
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 zakończy się pomyślnie. Aby sprawdzić, czy polecenie zakończyło się pomyślnie, uruchom polecenie Get-Service
.
Parametry
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DisplayName
Określa nazwy wyświetlane usług do uruchomienia. Dozwolone są symbole wieloznaczne.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | ServiceController[] |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa nazwy usług, które mają zostać uruchomione.
Nazwa parametru jest opcjonalna. Możesz użyć nazwy parametru Name lub jego aliasu, Nazwy usługi lub można pominąć nazwę parametru.
Typ: | String[] |
Aliasy: | ServiceName |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-PassThru
Zwraca obiekt reprezentujący usługę. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Do tego polecenia cmdlet można przekazać obiekt usługi.
Możesz przekazać ciąg zawierający nazwę usługi do tego polecenia cmdlet.
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Jeśli używasz parametru PassThru , to polecenie cmdlet zwraca obiekt ServiceController reprezentujący usługę.
Uwagi
Program Windows PowerShell zawiera następujące aliasy dla programu Start-Service
:
sasv
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 uruchamiania 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 komunikatemCannot start service \<service-name\> on computer
, użyj poleceniaGet-CimInstance
, aby znaleźć typ uruchamiania usługi i, jeśli musisz, użyjSet-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 wykonania ż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.