Set-Service
Memulai, menghentikan, dan menangguhkan layanan, dan mengubah propertinya.
Sintaks
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>]
Deskripsi
Cmdlet ini hanya tersedia di platform Windows.
Set-Service
Cmdlet mengubah properti layanan seperti Status, Deskripsi, DisplayName, dan StartupType. Set-Service
dapat memulai, menghentikan, menangguhkan, atau menjeda layanan. Untuk mengidentifikasi layanan, masukkan nama layanannya atau kirim objek layanan. Atau, kirim nama layanan atau objek layanan ke alur ke Set-Service
.
Contoh
Contoh 1: Mengubah nama tampilan
Dalam contoh ini, nama tampilan layanan diubah. Untuk melihat nama tampilan asli, gunakan Get-Service
.
Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"
Set-Service
menggunakan parameter Nama untuk menentukan nama layanan, LanmanWorkstation. Parameter DisplayName menentukan nama tampilan baru, LanMan Workstation.
Contoh 2: Mengubah jenis layanan startup
Contoh ini menunjukkan cara mengubah jenis startup layanan.
Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status
Name StartType Status
---- --------- ------
BITS Automatic Running
Set-Service
menggunakan parameter Nama untuk menentukan nama layanan, BITS. Parameter StartupType mengatur layanan ke Otomatis.
Get-Service
menggunakan parameter Nama untuk menentukan layanan BITS dan mengirim objek ke bawah alur. Select-Object
menggunakan parameter Properti untuk menampilkan status layanan BITS.
Contoh 3: Mengubah deskripsi layanan
Contoh ini mengubah deskripsi layanan BITS dan menampilkan hasilnya.
Get-CimInstance
Cmdlet digunakan karena mengembalikan objek Win32_Service yang menyertakan Deskripsi layanan.
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
mengirim objek ke alur Format-List
dan menampilkan nama dan deskripsi layanan. Untuk tujuan perbandingan, perintah dijalankan sebelum dan sesudah deskripsi diperbarui.
Set-Service
menggunakan parameter Nama untuk menentukan layanan BITS. Parameter Deskripsi menentukan teks yang diperbarui untuk deskripsi layanan.
Contoh 4: Memulai layanan
Dalam contoh ini, layanan dimulai.
Set-Service -Name WinRM -Status Running -PassThru
Status Name DisplayName
------ ---- -----------
Running WinRM Windows Remote Management (WS-Manag...
Set-Service
menggunakan parameter Nama untuk menentukan layanan, WinRM. Parameter Status menggunakan nilai Berjalan untuk memulai layanan. Parameter PassThru menghasilkan objek ServiceController yang menampilkan hasilnya.
Contoh 5: Menangguhkan layanan
Contoh ini menggunakan alur untuk menjeda layanan.
Get-Service -Name Schedule | Set-Service -Status Paused
Get-Service
menggunakan parameter Nama untuk menentukan layanan Jadwal, dan mengirim objek ke bawah alur. Set-Service
menggunakan parameter Status untuk mengatur layanan ke Dijeda.
Contoh 6: Menghentikan layanan
Contoh ini menggunakan variabel untuk menghentikan layanan.
$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped
Get-Service
menggunakan parameter Nama untuk menentukan layanan, Jadwal. Objek disimpan dalam variabel , $S
. Set-Service
menggunakan parameter InputObject dan menentukan objek yang disimpan $S
. Parameter Status mengatur layanan ke Dihentikan.
Contoh 7: Menghentikan layanan pada sistem jarak jauh
Contoh ini menghentikan layanan pada komputer jarak jauh. Untuk informasi selengkapnya, lihat 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
meminta nama pengguna dan kata sandi, dan menyimpan kredensial dalam $Cred
variabel. Get-Service
menggunakan parameter Nama untuk menentukan layanan Jadwal. Objek disimpan dalam variabel , $S
.
Invoke-Command
menggunakan parameter ComputerName untuk menentukan komputer jarak jauh. Parameter Kredensial menggunakan $Cred
variabel untuk masuk ke komputer. ScriptBlock memanggil Set-Service
. Parameter InputObject menentukan objek layanan yang disimpan $S
. Parameter Status mengatur layanan ke Dihentikan.
Contoh 8: Mengubah kredensial layanan
Contoh ini mengubah kredensial yang digunakan untuk mengelola layanan.
$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential
Get-Credential
meminta nama pengguna dan kata sandi, dan menyimpan kredensial dalam $credential
variabel. Set-Service
menggunakan parameter Nama untuk menentukan layanan Jadwal. Parameter Kredensial menggunakan $credential
variabel dan memperbarui layanan Jadwal .
Contoh 9: Mengubah SecurityDescriptor layanan
Contoh ini mengubah SecurityDescriptor layanan.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL
SecurityDescriptor disimpan dalam $SDDL
variabel . Set-Service
menggunakan parameter Nama untuk menentukan layanan BITS. Parameter SecurityDescriptorSddl menggunakan $SDDL
untuk mengubah SecurityDescriptor untuk layanan BITS .
Contoh 10: Mengatur jenis startup untuk beberapa layanan
Set-Service
Cmdlet hanya menerima satu nama layanan pada satu waktu. Namun, Anda dapat menyalurkan beberapa layanan untuk Set-Service
mengubah konfigurasi beberapa layanan.
Get-Service SQLWriter,spooler |
Set-Service -StartupType Automatic -PassThru |
Select-Object Name, StartType
Name StartType
---- ---------
spooler Automatic
SQLWriter Automatic
Parameter
-Confirm
Meminta konfirmasi sebelum menjalankan Set-Service
.
Jenis: | SwitchParameter |
Alias: | cf |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Credential
Menentukan akun yang digunakan oleh layanan sebagai Akun Masuk Layanan.
Ketik nama pengguna, seperti User01 atau Domain01\User01, atau masukkan objek PSCredential, seperti yang dihasilkan oleh Get-Credential
cmdlet. Jika Anda mengetik nama pengguna, cmdlet ini akan meminta kata sandi kepada Anda.
Kredensial disimpan dalam objek PSCredential dan kata sandi disimpan sebagai SecureString.
Catatan
Untuk informasi selengkapnya tentang perlindungan data SecureString , lihat Seberapa aman SecureString?.
Parameter ini diperkenalkan di PowerShell 6.0.
Jenis: | PSCredential |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Description
Menentukan deskripsi baru untuk layanan.
Deskripsi layanan muncul di Manajemen Komputer, Layanan. Deskripsi bukan properti objek Get-Service
ServiceController. Untuk melihat deskripsi layanan, gunakan Get-CimInstance
yang mengembalikan objek Win32_Service yang mewakili layanan.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-DisplayName
Menentukan nama tampilan baru untuk layanan.
Catatan
Biasanya, Set-Service
hanya beroperasi pada layanan Windows dan bukan driver. Namun, jika Anda menentukan nama driver, Set-Service
dapat menargetkan driver.
Jenis: | String |
Alias: | DN |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Force
Menentukan mode Hentikan layanan. Parameter ini hanya berfungsi saat -Status Stopped
digunakan. Jika diaktifkan, Set-Service
menghentikan layanan dependen sebelum layanan target dihentikan. Secara default, pengecualian dimunculkan saat layanan lain yang sedang berjalan bergantung pada layanan target.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-InputObject
Menentukan objek ServiceController yang mewakili layanan yang akan diubah. Masukkan variabel yang berisi objek, atau ketik perintah atau ekspresi yang mendapatkan objek, seperti Get-Service
perintah. Anda dapat menggunakan alur untuk mengirim objek layanan ke Set-Service
.
Jenis: | ServiceController |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-Name
Menentukan nama layanan layanan yang akan diubah. Karakter kartubebas tidak diizinkan. Anda dapat menggunakan alur untuk mengirim nama layanan ke Set-Service
.
Catatan
Biasanya, Set-Service
hanya beroperasi pada layanan Windows dan bukan driver. Namun, jika Anda menentukan nama driver, Set-Service
dapat menargetkan driver.
Jenis: | String |
Alias: | ServiceName, SN |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-PassThru
Mengembalikan objek ServiceController yang mewakili layanan yang diubah. Secara default, Set-Service
tidak menghasilkan output apa pun.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-SecurityDescriptorSddl
Menentukan SecurityDescriptor untuk layanan dalam format Sddl. Panggilan akun Set-Service
dengan parameter ini harus memiliki izin WRITE_DAC dan WRITE_OWNER. Untuk informasi selengkapnya, lihat Keamanan layanan dan hak akses.
Jenis: | String |
Alias: | sd |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-StartupType
Menentukan mode mulai layanan.
Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:
- Otomatis - Layanan dimulai atau dimulai oleh sistem operasi, pada start-up sistem. Jika layanan yang dimulai secara otomatis tergantung pada layanan yang dimulai secara manual, layanan yang dimulai secara manual juga dimulai secara otomatis saat startup sistem.
- AutomaticDelayedStart - Dimulai segera setelah sistem boot.
- Dinonaktifkan - Layanan dinonaktifkan dan tidak dapat dimulai oleh pengguna atau aplikasi.
- InvalidValue - Tidak berpengaruh. Cmdlet tidak mengembalikan kesalahan tetapi StartupType layanan tidak diubah.
- Manual - Layanan hanya dimulai secara manual, oleh pengguna, menggunakan Service Control Manager, atau oleh aplikasi.
Jenis: | ServiceStartupType |
Alias: | StartMode, SM, ST, StartType |
Nilai yang diterima: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Status
Menentukan status untuk layanan.
Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:
- Dijeda. Menangguhkan layanan.
- Berjalan. Memulai layanan.
- Dihentikan. Menghentikan layanan.
Jenis: | String |
Nilai yang diterima: | Paused, Running, Stopped |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika Set-Service
berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Alias: | wi |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan objek layanan ke cmdlet ini.
Anda dapat menyalurkan string yang berisi nama layanan ke cmdlet ini.
Output
None
Secara default, cmdlet ini tidak mengembalikan output.
Saat Anda menggunakan parameter PassThru , cmdlet ini mengembalikan objek ServiceController .
Catatan
Cmdlet ini hanya tersedia di platform Windows.
Set-Service
memerlukan izin yang ditingkatkan. Gunakan opsi Jalankan sebagai administrator.
Set-Service
hanya dapat mengontrol layanan ketika pengguna saat ini memiliki izin untuk mengelola layanan. Jika perintah tidak berfungsi dengan benar, Anda mungkin tidak memiliki izin yang diperlukan.
Untuk menemukan nama layanan atau nama tampilan layanan, gunakan Get-Service
. Nama layanan berada di kolom Nama dan nama tampilan berada di kolom DisplayName .