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-Service
PassThru 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 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 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.