Bagikan melalui


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 User01 atau Domain01\User01, atau masukkan objek PSCredential , seperti yang dihasilkan oleh 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.

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.