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.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Menentukan deskripsi baru untuk layanan.

Deskripsi layanan muncul di Manajemen Komputer, Layanan. Deskripsi bukan properti objek Get-ServiceServiceController. Untuk melihat deskripsi layanan, gunakan Get-CimInstance yang mengembalikan objek Win32_Service yang mewakili layanan.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Aliases:DN
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:ServiceController
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:String
Aliases:ServiceName, SN
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Mengembalikan objek ServiceController yang mewakili layanan yang diubah. Secara default, Set-Service tidak menghasilkan output apa pun.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Aliases:sd
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.
Type:ServiceStartupType
Aliases:StartMode, SM, ST, StartType
Accepted values:Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.
Type:String
Accepted values:Paused, Running, Stopped
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Menunjukkan apa yang akan terjadi jika Set-Service berjalan. Cmdlet tidak dijalankan.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 .