Mengelola layanan
Sampel ini hanya berlaku untuk Windows PowerShell 5.1.
Ada delapan cmdlet Layanan inti, yang dirancang untuk berbagai tugas layanan . Artikel ini hanya melihat daftar dan mengubah status berjalan untuk layanan. Anda bisa mendapatkan daftar cmdlet layanan menggunakan Get-Command *-Service
. Anda dapat menemukan informasi tentang setiap cmdlet dengan menggunakan Get-Help <Cmdlet-Name>
, seperti Get-Help New-Service
.
Mendapatkan layanan
Anda bisa mendapatkan layanan di komputer lokal atau jarak jauh dengan menggunakan Get-Service
cmdlet. Get-Process
Seperti halnya Get-Service
, menggunakan perintah tanpa parameter mengembalikan semua layanan. Anda dapat memfilter berdasarkan nama, bahkan menggunakan tanda bintang sebagai kartubebas:
PS> Get-Service -Name se*
Status Name DisplayName
------ ---- -----------
Running seclogon Secondary Logon
Running SENS System Event Notification
Stopped ServiceLayer ServiceLayer
Karena tidak selalu terlihat apa nama asli untuk layanan tersebut, Anda mungkin menemukan bahwa Anda perlu menemukan layanan berdasarkan nama tampilan. Anda dapat mencari berdasarkan nama tertentu, menggunakan kartubebas, atau memberikan daftar nama tampilan:
PS> Get-Service -DisplayName se*
Status Name DisplayName
------ ---- -----------
Running lanmanserver Server
Running SamSs Security Accounts Manager
Running seclogon Secondary Logon
Stopped ServiceLayer ServiceLayer
Running wscsvc Security Center
PS> Get-Service -DisplayName ServiceLayer, Server
Status Name DisplayName
------ ---- -----------
Running lanmanserver Server
Stopped ServiceLayer ServiceLayer
Mendapatkan layanan jarak jauh
Dengan Windows PowerShell, Anda dapat menggunakan parameter ComputerName cmdlet Get-Service
untuk mendapatkan layanan di komputer jarak jauh. Parameter ComputerName menerima beberapa nilai dan karakter kartubebas, sehingga Anda bisa mendapatkan layanan di beberapa komputer dengan satu perintah. Misalnya, perintah berikut mendapatkan layanan di komputer jarak jauh Server01.
Get-Service -ComputerName Server01
Dimulai di PowerShell 6.0, *-Service
cmdlet tidak memiliki parameter ComputerName . Anda masih bisa mendapatkan layanan di komputer jarak jauh dengan jarak jauh PowerShell. Misalnya, perintah berikut mendapatkan layanan di komputer jarak jauh Server02.
Invoke-Command -ComputerName Server02 -ScriptBlock { Get-Service }
Anda juga dapat mengelola layanan dengan cmdlet lainnya *-Service
. Untuk informasi selengkapnya tentang jarak jauh PowerShell, lihat about_Remote.
Mendapatkan layanan yang diperlukan dan dependen
Cmdlet Get-Service memiliki dua parameter yang sangat berguna dalam administrasi layanan. Parameter DependentServices mendapatkan layanan yang bergantung pada layanan.
Parameter RequiredServices mendapatkan layanan di mana layanan LanmanWorkstation bergantung.
PS> Get-Service -Name LanmanWorkstation -RequiredServices
Status Name DisplayName
------ ---- -----------
Running MRxSmb20 SMB 2.0 MiniRedirector
Running bowser Bowser
Running MRxSmb10 SMB 1.x MiniRedirector
Running NSI Network Store Interface Service
Parameter DependentServices mendapatkan yang memerlukan layanan LanmanWorkstation.
PS> Get-Service -Name LanmanWorkstation -DependentServices
Status Name DisplayName
------ ---- -----------
Running SessionEnv Terminal Services Configuration
Running Netlogon Netlogon
Stopped Browser Computer Browser
Running BITS Background Intelligent Transfer Ser...
Perintah berikut mendapatkan semua layanan yang memiliki dependensi. Format-Table
Cmdlet untuk menampilkan properti Status, Nama, RequiredServices, dan DependentServices layanan.
Get-Service -Name * | Where-Object {$_.RequiredServices -or $_.DependentServices} |
Format-Table -Property Status, Name, RequiredServices, DependentServices -auto
Menghentikan, memulai, menangguhkan, dan memulai ulang layanan
Cmdlet Layanan semuanya memiliki bentuk umum yang sama. Layanan dapat ditentukan dengan nama umum atau nama tampilan, dan mengambil daftar dan kartubebas sebagai nilai. Untuk menghentikan penampung cetak, gunakan:
Stop-Service -Name spooler
Untuk memulai penampung cetak setelah dihentikan, gunakan:
Start-Service -Name spooler
Untuk menangguhkan penampung cetak, gunakan:
Suspend-Service -Name spooler
Restart-Service
Cmdlet bekerja dengan cara yang sama seperti cmdlet Layanan lainnya:
PS> Restart-Service -Name spooler
WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
PS>
Perhatikan bahwa Anda mendapatkan pesan peringatan berulang tentang mulainya Print Spooler. Saat Anda melakukan operasi layanan yang membutuhkan waktu, PowerShell memberi tahu Anda bahwa powerShell masih mencoba melakukan tugas tersebut.
Jika Anda ingin memulai ulang beberapa layanan, Anda bisa mendapatkan daftar layanan, memfilternya, lalu melakukan mulai ulang:
PS> Get-Service | Where-Object -FilterScript {$_.CanStop} | Restart-Service
WARNING: Waiting for service 'Computer Browser (Browser)' to finish stopping...
WARNING: Waiting for service 'Computer Browser (Browser)' to finish stopping...
Restart-Service : can't stop service 'Logical Disk Manager (dmserver)' because
it has dependent services. It can only be stopped if the Force flag is set.
At line:1 char:57
+ Get-Service | Where-Object -FilterScript {$_.CanStop} | Restart-Service <<<<
WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
Cmdlet Layanan ini tidak memiliki parameter ComputerName , tetapi Anda dapat menjalankannya di komputer jarak jauh dengan menggunakan Invoke-Command
cmdlet . Misalnya, perintah berikut memulai ulang layanan Spooler pada komputer jarak jauh Server01.
Invoke-Command -ComputerName Server01 {Restart-Service Spooler}
Mengatur properti layanan
Set-Service
Cmdlet mengubah properti layanan pada komputer lokal atau jarak jauh. Karena status layanan adalah properti, Anda dapat menggunakan cmdlet ini untuk memulai, menghentikan, dan menangguhkan layanan.
Cmdlet Set-Service juga memiliki parameter StartupType yang memungkinkan Anda mengubah jenis startup layanan.
Untuk menggunakan Set-Service
Windows Vista dan versi Windows yang lebih baru, buka PowerShell dengan opsi Jalankan sebagai administrator .
Untuk informasi selengkapnya, lihat Set-Service
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk