Bagikan melalui


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-Servicemenggunakan 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-Servicemenggunakan parameter Nama untuk menentukan nama layanan, BITS. Parameter StartupType mengatur layanan ke Otomatis.

Get-Servicemenggunakan parameter Nama untuk menentukan layanan BITS dan mengirim objek ke bawah alur. Select-Objectmenggunakan 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-Servicemenggunakan 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-Servicemenggunakan 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-Servicemenggunakan parameter Nama untuk menentukan layanan Jadwal, dan mengirim objek ke bawah alur. Set-Servicemenggunakan 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-Servicemenggunakan parameter Nama untuk menentukan layanan, Jadwal. Objek disimpan dalam variabel , $S. Set-Servicemenggunakan 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-Servicemenggunakan parameter Nama untuk menentukan layanan Jadwal. Objek disimpan dalam variabel , $S.

Invoke-Commandmenggunakan 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-Servicemenggunakan 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-Servicemenggunakan 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

ServiceController

Anda dapat menyalurkan objek layanan ke cmdlet ini.

String

Anda dapat menyalurkan string yang berisi nama layanan ke cmdlet ini.

Output

None

Secara default, cmdlet ini tidak mengembalikan output.

ServiceController

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 .