Aracılığıyla paylaş


New-Service

Yeni bir Windows hizmeti oluşturur.

Syntax

New-Service
   [-Name] <String>
   [-BinaryPathName] <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-StartupType <ServiceStartMode>]
   [-Credential <PSCredential>]
   [-DependsOn <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Cmdlet, New-Service kayıt defterinde ve hizmet veritabanında bir Windows hizmeti için yeni bir girdi oluşturur. Yeni bir hizmet, hizmet sırasında çalışan yürütülebilir bir dosya gerektirir.

Bu cmdlet'in parametreleri hizmetin görünen adını, açıklamasını, başlangıç türünü ve bağımlılıklarını ayarlamanıza olanak sağlar.

Örnekler

Örnek 1: Hizmet oluşturma

New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'

Bu komut TestService adlı bir hizmet oluşturur.

Örnek 2: Açıklama, başlangıç türü ve görünen ad içeren bir hizmet oluşturma

$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

Bu komut TestService adlı bir hizmet oluşturur. Yeni hizmet için bir açıklama, başlangıç türü ve görünen ad belirtmek için parametresini New-Service kullanır.

Örnek 3: Yeni hizmeti görüntüleme

Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"

ExitCode  : 0
Name      : testservice
ProcessId : 0
StartMode : Auto
State     : Stopped
Status    : OK

Bu komut, yeni hizmet için Win32_Service nesnesini almak için kullanırGet-CimInstance. Bu nesne başlangıç modunu ve hizmet açıklamasını içerir.

Örnek 4: Hizmeti silme

sc.exe delete TestService
# - or -
(Get-CimInstance -Class Win32_Service -Filter "name='TestService'").delete()

Bu örnekte TestService hizmetini silmenin iki yolu gösterilmektedir. İlk komut, öğesinin silme seçeneğini Sc.exekullanır. İkinci komut, döndüren Win32_Service nesnelerinin Get-CimInstance Delete yöntemini kullanır.

Parametreler

-BinaryPathName

Hizmet için yürütülebilir dosyanın yolunu belirtir. Bu parametre zorunludur.

Hizmet ikili dosyasının tam yolu. Yol bir boşluk içeriyorsa, doğru yorumlanması için tırnak içine alınmalıdır. Örneğin, d:\my share\myservice.exe olarak '"d:\my share\myservice.exe"'belirtilmelidir.

Yol, otomatik başlatma hizmetinin bağımsız değişkenlerini de içerebilir. Örneğin, '"d:\my share\myservice.exe" arg1 arg2'. Bu bağımsız değişkenler hizmet giriş noktasına geçirilir.

Daha fazla bilgi için CreateServiceW API'sinin lpBinaryPathName parametresine bakın.

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

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

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

-Credential

Hizmet tarafından Hizmet Oturum Açma Hesabı olarak kullanılan hesabı belirtir.

User01 veya Domain01\User01 gibi bir kullanıcı adı yazın veya cmdlet'i tarafından Get-Credential oluşturulan gibi bir PSCredential nesnesi girin. Bir kullanıcı adı yazarsanız, bu cmdlet sizden parola ister.

Kimlik bilgileri bir PSCredential nesnesinde depolanır ve parola SecureString olarak depolanır.

Not

SecureString veri koruması hakkında daha fazla bilgi için bkz. SecureString ne kadar güvenli?.

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

-DependsOn

Yeni hizmetin bağımlı olduğu diğer hizmetlerin adlarını belirtir. Birden çok hizmet adı girmek için adları ayırmak için virgül kullanın.

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

-Description

Hizmetin açıklamasını belirtir.

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

-DisplayName

Hizmet için bir görünen ad belirtir.

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

-Name

Hizmetin adını belirtir. Bu parametre zorunludur.

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

-StartupType

Hizmetin başlangıç türünü ayarlar. Bu parametrenin kabul edilebilir değerleri şunlardır:

  • Otomatik - Hizmet, işletim sistemi tarafından, sistem başlatma sırasında başlatılır veya başlatılır. Otomatik olarak başlatılan bir hizmet el ile başlatılan bir hizmete bağımlıysa, el ile başlatılan hizmet de sistem başlangıcında otomatik olarak başlatılır.
  • Devre dışı - Hizmet devre dışı bırakıldı ve bir kullanıcı veya uygulama tarafından başlatılamıyor.
  • El ile - Hizmet yalnızca el ile, kullanıcı tarafından, Service Control Manager kullanılarak veya bir uygulama tarafından başlatılır.
  • Önyükleme - Hizmetin sistem yükleyicisi tarafından başlatılan bir cihaz sürücüsü olduğunu gösterir. Bu değer yalnızca cihaz sürücüleri için geçerlidir.
  • Sistem - Hizmetin 'IOInitSystem()' işlevi tarafından başlatılan bir cihaz sürücüsü olduğunu gösterir. Bu değer yalnızca cihaz sürücüleri için geçerlidir.

Varsayılan değer Otomatik'tir.

Type:ServiceStartMode
Accepted values:Boot, System, Automatic, Manual, Disabled
Position:Named
Default value:Automatic
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

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

Girişler

None

Nesneleri bu cmdlet'e yöneltemezsiniz.

Çıkışlar

ServiceController

Bu cmdlet, yeni hizmeti temsil eden bir nesne döndürür.

Notlar

Bu cmdlet'i çalıştırmak için Yönetici olarak çalıştır seçeneğini kullanarak PowerShell'i başlatın.

Bir hizmeti silmek için Sc.exe kullanın veya cmdlet'ini Get-CimInstance kullanarak hizmeti temsil eden Win32_Service nesnesini alın ve hizmeti silmek için Delete yöntemini kullanın. Döndüren Get-Service nesnenin silme yöntemi yok.