New-Service

Membuat layanan Windows baru.

Sintaks

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.

New-Service Cmdlet 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 $SDDLToSet variabel . Parameter SecurityDescriptorSddl menggunakan $SDDL untuk mengatur SecurityDescriptor 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, jalur harus dikutip sehingga ditafsirkan dengan benar. Misalnya, d:\my share\myservice.exe harus ditentukan sebagai '"d:\my share\myservice.exe"'.

Jalur juga dapat menyertakan argumen untuk layanan mulai otomatis. Contohnya,'"d:\my share\myservice.exe" arg1 arg2'. Argumen ini diteruskan ke titik entri layanan.

Untuk informasi selengkapnya, lihat parameter lpBinaryPathName dari CreateServiceW API.

Type:String
Aliases:Path
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

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?.

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

-DependsOn

Menentukan nama layanan lain tempat layanan baru bergantung. Untuk memasukkan beberapa nama layanan, gunakan koma untuk memisahkan nama.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Menentukan deskripsi layanan.

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

-DisplayName

Menentukan nama tampilan untuk layanan.

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

-Name

Menentukan nama layanan. Parameter ini diperlukan.

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

-SecurityDescriptorSddl

Menentukan SecurityDescriptor untuk layanan dalam format Sddl.

Type:String
Aliases:sd
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StartupType

Mengatur jenis startup layanan. Nilai yang dapat diterima untuk parameter ini adalah:

  • 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 - 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.

Type:ServiceStartupType
Accepted values:Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue
Position:Named
Default value:Automatic
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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 .