New-Service
Membuat layanan Windows baru.
Sintaks
Default (Default)
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-SecurityDescriptorSddl <String>]
[-StartupType <ServiceStartupType>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Deskripsi
Cmdlet ini hanya tersedia di platform Windows.
cmdlet New-Service membuat entri baru untuk layanan Windows di registri dan di database layanan. Layanan baru memerlukan file yang dapat dieksekusi yang berjalan selama layanan.
Parameter cmdlet ini memungkinkan Anda mengatur nama tampilan, deskripsi, jenis startup, dan dependensi layanan.
Contoh
Contoh 1: Membuat layanan
New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
Perintah ini membuat layanan bernama TestService.
Contoh 2: Membuat layanan yang menyertakan deskripsi, jenis startup, dan nama tampilan
$params = @{
Name = "TestService"
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
}
New-Service @params
Perintah ini membuat layanan bernama TestService. Ini menggunakan parameter New-Service untuk menentukan deskripsi, jenis startup, dan nama tampilan untuk layanan baru.
Contoh 3: Melihat layanan baru
Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode : 0
Name : testservice
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
Perintah ini menggunakan Get-CimInstance untuk mendapatkan objek Win32_Service untuk layanan baru. Objek ini mencakup mode mulai dan deskripsi layanan.
Contoh 4: Atur SecurityDescriptor layanan saat membuat.
Contoh ini menambahkan SecurityDescriptor layanan yang sedang dibuat.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
$params = @{
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
SecurityDescriptorSddl = $SDDL
}
New-Service @params
SecurityDescriptor disimpan dalam variabel $SDDLToSet. Parameter SecurityDescriptorSddl menggunakan $SDDL untuk menyetel SecurityDescriptor dari layanan baru.
Parameter
-BinaryPathName
Menentukan jalur file yang dapat dieksekusi untuk layanan. Parameter ini diperlukan.
Jalur yang sepenuhnya memenuhi syarat ke file biner layanan. Jika jalur berisi spasi, harus diberikan tanda kutip sehingga ditafsirkan dengan benar. Misalnya, D:\my share\myservice.exe harus ditentukan sebagai '"D:\my share\myservice.exe"'.
Jalur juga bisa memasukkan argumen untuk layanan yang memulai secara otomatis. Contohnya, '"D:\my share\myservice.exe" arg1 arg2'. Argumen ini diteruskan ke titik entri layanan.
Untuk informasi selengkapnya, lihat parameter lpBinaryPathNameCreateServiceW API.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Jalur |
Kumpulan parameter
(All)
| Position: | 1 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Confirm
Meminta konfirmasi sebelum menjalankan cmdlet.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Cf |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Credential
Menentukan akun yang digunakan oleh layanan sebagai Akun Masuk Layanan.
Ketik nama pengguna, seperti
Kredensial disimpan dalam objek PSCredential
Nota
Untuk informasi selengkapnya tentang perlindungan data SecureString, lihat Seberapa aman SecureString?.
Properti parameter
| Jenis: | PSCredential |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-DependsOn
Menentukan nama layanan lain tempat layanan baru bergantung. Untuk memasukkan beberapa nama layanan, gunakan koma untuk memisahkan nama.
Properti parameter
| Jenis: | String[] |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Description
Menentukan deskripsi layanan.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-DisplayName
Menentukan nama tampilan untuk layanan.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-Name
Menentukan nama layanan. Parameter ini diperlukan.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Nama Layanan |
Kumpulan parameter
(All)
| Position: | 0 |
| Wajib: | True |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-SecurityDescriptorSddl
Menentukan SecurityDescriptor untuk layanan dalam format Sddl.
Properti parameter
| Jenis: | String |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | Sd |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-StartupType
Mengatur jenis startup layanan. Nilai yang dapat diterima untuk parameter ini adalah:
- Otomatis - Layanan dijalankan atau telah dimulai oleh sistem operasi, saat sistem dinyalakan. 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 tak lama setelah proses booting sistem.
- Dinonaktifkan - Layanan dinonaktifkan dan tidak dapat dimulai oleh pengguna atau aplikasi.
- InvalidValue - Nilai ini tidak didukung. Menggunakan nilai ini menghasilkan kesalahan.
- Manual - Layanan hanya dimulai secara manual, oleh pengguna, menggunakan Service Control Manager, atau oleh aplikasi.
Nilai defaultnya adalah Otomatis .
Properti parameter
| Jenis: | ServiceStartupType |
| Nilai default: | Automatic |
| Nilai yang diterima: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
| Mendukung wildcard: | False |
| DontShow: | False |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-WhatIf
Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
| Alias: | wi |
Kumpulan parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
ServiceController
Cmdlet ini mengembalikan objek yang mewakili layanan baru.
Catatan
Cmdlet ini hanya tersedia di platform Windows.
Untuk menjalankan cmdlet ini, mulai PowerShell dengan menggunakan opsi Jalankan sebagai administrator.
Dimulai di PowerShell 6.0, perintah tidak lagi menyertakan parameter ComputerName . Untuk menggunakan perintah ini pada komputer jarak jauh, gunakan untuk menargetkan Invoke-Command sistem jarak jauh.