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 Set-Service
cmdlet zmienia właściwości usługi, takie jak Stan, Opis, DisplayName i StartupType. Set-Service
może uruchamiać, zatrzymywać, wstrzymywać lub wstrzymywać 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 w dół potoku 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 polecenia Get-Service
.
Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"
Set-Service
używa parametru Name, aby określić nazwę 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 Nazwa , aby określić nazwę usługi BITS. Parametr StartupType ustawia usługę na Wartość Automatyczna.
Get-Service
Używa parametru Name , aby określić usługę BITS i wysyła obiekt w dół potoku. Select-Object
używa parametru Właściwość 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.
Polecenie Get-CimInstance
cmdlet jest używane, 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 Name , aby określić usługę BITS . Opis parametru 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 Status używa wartości Uruchomiono , aby uruchomić usługę. Parametr PassThru zwraca obiekt ServiceController , który wyświetla wyniki.
Przykład 5. Wstrzymanie usługi
W tym przykładzie użyto potoku do wstrzymania do 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 Status, aby ustawić usługę na 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 Stan ustawia usługę na Zatrzymano.
Przykład 7. Zatrzymywanie usługi w 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
wyświetla monit o podanie nazwy użytkownika i hasła oraz przechowuje poświadczenia w zmiennej $Cred
. Get-Service
używa parametru Name , aby określić usługę Schedule . 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. Funkcja ScriptBlock wywołuje metodę Set-Service
. Parametr InputObject określa obiekt usługi przechowywany $S
. Parametr Stan ustawia usługę na Zatrzymano.
Przykład 8. Zmiana poświadczeń usługi
W tym przykładzie zmiany poświadczeń używanych do zarządzania usługą.
$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential
Get-Credential
wyświetla monit o podanie nazwy użytkownika i hasła oraz przechowuje poświadczenia w zmiennej $credential
. Set-Service
używa parametru Name , aby określić usługę Schedule . Parametr Credential używa zmiennej $credential
i aktualizuje usługę Schedule .
Przykład 9. Zmiana klasy SecurityDescriptor usługi
W tym przykładzie wprowadzono zmiany klasy SecurityDescriptor usługi.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL
Element SecurityDescriptor jest przechowywany w zmiennej $SDDL
. Set-Service
używa parametru Name , aby określić usługę BITS . Parametr SecurityDescriptorSddl służy $SDDL
do zmiany klasy SecurityDescriptor dla usługi BITS .
Przykład 10: Ustawianie typu uruchamiania dla wielu usług
Polecenie Set-Service
cmdlet akceptuje tylko jedną nazwę usługi jednocześnie. Można jednak przekazać wiele usług, aby Set-Service
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
Monituje o potwierdzenie przed uruchomieniem polecenia 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 Get-Credential
polecenie cmdlet. 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.
Uwaga
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 obszarze Zarządzanie komputerem, Usługi. Opis nie jest właściwością Get-Service
obiektu ServiceController. Aby wyświetlić opis usługi, użyj Get-CimInstance
polecenia , który 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.
Uwaga
Set-Service
Zazwyczaj działa tylko w usługach systemu Windows, a nie na sterownikach. Jeśli jednak określisz nazwę sterownika, Set-Service
może być przeznaczony dla sterownika.
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 -Status Stopped
jest używany. 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 reprezentujący usługę do zmiany. Wprowadź zmienną zawierającą obiekt lub wpisz polecenie lub wyrażenie, które pobiera obiekt, na przykład Get-Service
polecenie. 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ć potoku, aby wysłać nazwę usługi do Set-Service
.
Uwaga
Set-Service
Zazwyczaj działa tylko w usługach systemu Windows, a nie na sterownikach. Jeśli jednak określisz nazwę sterownika, Set-Service
może być przeznaczony dla sterownika.
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 klasy SecurityDescriptor dla usługi w formacie Sddl . Konto wywołujące Set-Service
przy użyciu tego parametru musi mieć uprawnienia WRITE_DAC i WRITE_OWNER. Aby uzyskać więcej informacji, zobacz Zabezpieczenia 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:
- Automatyczne — usługa została uruchomiona lub 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żna jej uruchomić przez użytkownika lub aplikację.
- InvalidValue — nie ma wpływu. Polecenie cmdlet nie zwraca błędu, ale typ startupu 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łanie. Uruchamia usługę.
- Zatrzymany. 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 w przypadku Set-Service
uruchomienia. Polecenie cmdlet nie jest uruchamiane.
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 potokować 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 .
Uwagi
To polecenie cmdlet jest dostępne tylko na platformach windows.
Set-Service
wymaga podwyższonych uprawnień. Użyj opcji Uruchom jako administrator.
Set-Service
usługi mogą kontrolować 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 polecenia Get-Service
. Nazwy usług znajdują się w kolumnie Nazwa , a nazwy wyświetlane znajdują się w kolumnie DisplayName .