Set-Service
Uruchamia, zatrzymuje i zawiesza usługę i zmienia jej właściwości.
Składnia
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>]
Opis
To polecenie cmdlet jest dostępne tylko na platformie Windows.
Polecenie cmdlet Set-Service
zmienia właściwości usługi, takie jak Status, Description, DisplayNamei StartupType.
Set-Service
można uruchomić, zatrzymać, zawiesić lub wstrzymać usługę. Aby zidentyfikować usługę, wprowadź jej nazwę usługi lub prześlij obiekt usługi. Możesz też wysłać nazwę usługi lub obiekt usługi przez potok do Set-Service
.
Przykłady
Przykład 1. Zmiana nazwy wyświetlanej
W tym przykładzie nazwa wyświetlana usługi zostanie zmieniona. Aby wyświetlić oryginalną nazwę wyświetlaną, użyj Get-Service
.
Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"
Set-Service
używa parametru Name w celu określenia nazwy usługi LanmanWorkstation. Parametr DisplayName określa nową nazwę wyświetlaną LanMan Workstation.
Przykład 2. Zmiana typu uruchamiania usług
W tym przykładzie pokazano, jak zmienić typ uruchamiania usługi.
Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status
Name StartType Status
---- --------- ------
BITS Automatic Running
Set-Service
używa parametru Name w celu określenia nazwy usługi BITS. Parametr StartupType ustawia usługę na automatyczną.
Get-Service
używa parametru Nazwa , aby określić usługę BITS i przesyła obiekt w dół potoku.
Select-Object
używa właściwości parametru do wyświetlania stanu usługi BITS.
Przykład 3. Zmiana opisu usługi
Ten przykład zmienia opis usługi BITS i wyświetla wynik.
Cmdlet Get-CimInstance
jest używany, ponieważ zwraca obiekt Win32_Service zawierający opis usługi.
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
wysyła obiekt w dół potoku do Format-List
i wyświetla nazwę i opis usługi. W celach porównawczych polecenie jest uruchamiane przed i po zaktualizowaniu opisu.
Set-Service
używa parametru Nazwa, aby określić usługę BITS. Parametr Description określa zaktualizowany tekst opisu usług.
Przykład 4. Uruchamianie usługi
W tym przykładzie uruchomiono usługę.
Set-Service -Name WinRM -Status Running -PassThru
Status Name DisplayName
------ ---- -----------
Running WinRM Windows Remote Management (WS-Manag...
Set-Service
używa parametru Name w celu określenia usługi WinRM. Parametr stanu używa wartości Praca, aby uruchomić usługę. Parametr PassThru zwraca obiekt ServiceController, który wyświetla wyniki.
Przykład 5. Wstrzymanie usługi
W tym przykładzie pipeline jest używany do wstrzymania w celu obsługi.
Get-Service -Name Schedule | Set-Service -Status Paused
Get-Service
używa parametru Nazwa, aby określić usługę Schedule i wysyła obiekt w dół potoku.
Set-Service
używa parametru stanu, aby ustawić usługę na wartość Wstrzymano.
Przykład 6. Zatrzymywanie usługi
W tym przykładzie użyto zmiennej do zatrzymania usługi.
$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped
Get-Service
używa parametru Nazwa, aby określić usługę, Harmonogram. Obiekt jest przechowywany w zmiennej $S
.
Set-Service
używa parametru InputObject i określa obiekt przechowywany $S
. Parametr Status ustawia usługę na Zatrzymano.
Przykład 7: Zatrzymaj usługę na systemie zdalnym
Ten przykład zatrzymuje usługę na komputerze zdalnym. Aby uzyskać więcej informacji, zobacz Invoke-Command.
$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
monituje o nazwę użytkownika i hasło oraz przechowuje poświadczenia w zmiennej $Cred
.
Get-Service
używa parametru nazwa, aby określić harmonogram usługi . Obiekt jest przechowywany w zmiennej $S
.
Invoke-Command
używa parametru ComputerName do określenia komputera zdalnego. Parametr Credential używa zmiennej $Cred
do logowania się na komputerze.
ScriptBlock wywołuje Set-Service
. Parametr InputObject określa obiekt usługi przechowywany $S
. Parametr Status ustawia usługę na Zatrzymano.
Przykład 8. Zmiana poświadczeń usługi
W tym przykładzie zmienia się poświadczenia używane do zarządzania usługą.
$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential
Get-Credential
monituje o nazwę użytkownika i hasło oraz przechowuje poświadczenia w zmiennej $credential
.
Set-Service
używa parametru nazwa, aby określić harmonogram usługi . Parametr Credential używa zmiennej $credential
i aktualizuje usługę Schedule.
Przykład 9: Zmiana SecurityDescriptor usługi
Ten przykład zmienia SecurityDescriptor usługi .
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL
SecurityDescriptor jest przechowywany w zmiennej $SDDL
.
Set-Service
używa parametru Nazwa, aby określić usługę BITS. Parametr SecurityDescriptorSddl używa $SDDL
do zmiany SecurityDescriptor dla usługi BITS.
Przykład 10: Ustawianie typu uruchamiania dla wielu usług
Polecenie cmdlet Set-Service
akceptuje tylko jedną nazwę usługi jednocześnie. Można jednak przekazać wiele usług do Set-Service
, aby zmienić konfigurację wielu usług.
Get-Service SQLWriter,spooler |
Set-Service -StartupType Automatic -PassThru |
Select-Object Name, StartType
Name StartType
---- ---------
spooler Automatic
SQLWriter Automatic
Parametry
-Confirm
Prosi o potwierdzenie przed uruchomieniem Set-Service
.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Credential
Określa konto używane przez usługę jako konto logowania usługi .
Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential, taki jak jeden wygenerowany przez polecenie cmdlet Get-Credential
. Jeśli wpiszesz nazwę użytkownika, to polecenie cmdlet wyświetli monit o podanie hasła.
Poświadczenia są przechowywane w obiekcie PSCredential, a hasło jest przechowywane jako SecureString.
Notatka
Aby uzyskać więcej informacji na temat ochrony danych SecureString, zobacz Jak bezpieczny jest protokół SecureString?.
Ten parametr został wprowadzony w programie PowerShell 6.0.
Typ: | PSCredential |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Description
Określa nowy opis usługi.
Opis usługi jest wyświetlany w Zarządzanie Komputerem, Usługi.
Description nie jest właściwością obiektu Get-Service
ServiceController. Aby wyświetlić opis usługi, użyj Get-CimInstance
, która zwraca obiekt Win32_Service reprezentujący usługę.
Typ: | String |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DisplayName
Określa nową nazwę wyświetlaną usługi.
Notatka
Zazwyczaj Set-Service
działa tylko w usługach systemu Windows, a nie na sterownikach. Jeśli jednak określisz nazwę sterownika, Set-Service
może wskazać sterownik.
Typ: | String |
Aliasy: | DN |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Force
Określa tryb zatrzymania usługi. Ten parametr działa tylko wtedy, gdy jest używana -Status Stopped
. Jeśli ta opcja jest włączona, Set-Service
zatrzymuje usługi zależne przed zatrzymanie usługi docelowej. Domyślnie wyjątki są zgłaszane, gdy inne uruchomione usługi zależą od usługi docelowej.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Określa obiekt ServiceController, który reprezentuje usługę do zmiany. Wprowadź zmienną zawierającą obiekt lub wpisz polecenie lub wyrażenie, które pobiera obiekt, na przykład polecenie Get-Service
. Możesz użyć potoku, aby wysłać obiekt usługi do Set-Service
.
Typ: | ServiceController |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa nazwę usługi, która ma zostać zmieniona. Symbole wieloznaczne nie są dozwolone. Możesz użyć pipeline'u, aby wysłać nazwę usługi do Set-Service
.
Notatka
Zazwyczaj Set-Service
działa tylko w usługach systemu Windows, a nie na sterownikach. Jeśli jednak określisz nazwę sterownika, Set-Service
może wskazać sterownik.
Typ: | String |
Aliasy: | ServiceName, SN |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-PassThru
Zwraca obiekt ServiceController reprezentujący zmienione usługi. Domyślnie Set-Service
nie generuje żadnych danych wyjściowych.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SecurityDescriptorSddl
Określa SecurityDescriptor dla usługi w formacie SDDL. Konto wywołujące Set-Service
z tym parametrem musi mieć uprawnienia WRITE_DAC i WRITE_OWNER. Aby uzyskać więcej informacji, zobacz Bezpieczeństwo usługi i prawa dostępu.
Typ: | String |
Aliasy: | sd |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-StartupType
Określa tryb uruchamiania usługi.
Dopuszczalne wartości tego parametru są następujące:
- Automatyczny — usługa została uruchomiona przez system operacyjny podczas uruchamiania systemu. Jeśli automatycznie uruchomiona usługa zależy od usługi uruchomionej ręcznie, usługa uruchomiona ręcznie jest również uruchamiana automatycznie podczas uruchamiania systemu.
- AutomaticDelayedStart — rozpoczyna się wkrótce po uruchomieniu systemu.
- wyłączone — usługa jest wyłączona i nie może być uruchomiona przez użytkownika lub aplikację.
- InvalidValue — nie ma wpływu. Polecenie cmdlet nie zwraca błędu, ale typ uruchamiania usługi nie został zmieniony.
- ręczne — usługa jest uruchamiana tylko ręcznie, przez użytkownika, przy użyciu Menedżera kontroli usług lub przez aplikację.
Typ: | ServiceStartupType |
Aliasy: | StartMode, SM, ST, StartType |
Dopuszczalne wartości: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Status
Określa stan usługi.
Dopuszczalne wartości tego parametru są następujące:
- Wstrzymano. Zawiesza usługę.
- działa. Uruchamia usługę.
- Zatrzymano. Zatrzymuje usługę.
Typ: | String |
Dopuszczalne wartości: | Paused, Running, Stopped |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie, jeśli Set-Service
się uruchomi. Cmdlet nie jest 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 przekazywać ciąg zawierający nazwę usługi do tego cmdletu.
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Jeśli używasz parametru PassThru, to to polecenie cmdlet zwraca obiekt ServiceController.
Uwagi
To polecenie cmdlet jest dostępne tylko na platformach Windows.
Set-Service
wymaga podniesionych uprawnień. Użyj opcji Uruchom jako administrator.
Set-Service
może kontrolować usługi tylko wtedy, gdy bieżący użytkownik ma uprawnienia do zarządzania usługami. Jeśli polecenie nie działa poprawnie, być może nie masz wymaganych uprawnień.
Aby znaleźć nazwę usługi lub nazwę wyświetlaną usługi, użyj Get-Service
. Nazwy usług znajdują się w kolumnie Nazwa, a nazwy wyświetlane znajdują się w kolumnie DisplayName.