Set-Service

Bir hizmeti başlatır, durdurur ve askıya alır ve özelliklerini değiştirir.

Syntax

Set-Service
   [-Name] <String>
   [-DisplayName <String>]
   [-Credential <PSCredential>]
   [-Description <String>]
   [-StartupType <ServiceStartupType>]
   [-Status <String>]
   [-SecurityDescriptorSddl <String>]
   [-Force]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Service
   [-InputObject] <ServiceController>
   [-DisplayName <String>]
   [-Credential <PSCredential>]
   [-Description <String>]
   [-StartupType <ServiceStartupType>]
   [-SecurityDescriptorSddl <String>]
   [-Status <String>]
   [-Force]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Bu cmdlet yalnızca Windows platformunda kullanılabilir.

cmdlet'i Set-Service bir hizmetin Status, Description, DisplayName ve StartupType gibi özelliklerini değiştirir. Set-Service hizmeti başlatabilir, durdurabilir, askıya alabilir veya duraklatabilir. Bir hizmeti tanımlamak için hizmet adını girin veya bir hizmet nesnesi gönderin. Alternatif olarak, işlem hattının Set-Serviceaşağısına bir hizmet adı veya hizmet nesnesi gönderin.

Örnekler

Örnek 1: Görünen adı değiştirme

Bu örnekte, hizmetin görünen adı değiştirilir. Özgün görünen adı görüntülemek için kullanın Get-Service.

Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"

Set-Service, hizmetin adı olan LanmanWorkstation'ı belirtmek için Name parametresini kullanır. DisplayName parametresi, lanman workstation adlı yeni görünen adı belirtir.

Örnek 2: Hizmetlerin başlangıç türünü değiştirme

Bu örnekte bir hizmetin başlangıç türünü değiştirme işlemi gösterilmektedir.

Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status

Name  StartType   Status
----  ---------   ------
BITS  Automatic  Running

Set-Service, hizmetin adı olan BITS'i belirtmek için Name parametresini kullanır. StartupType parametresi hizmeti Otomatik olarak ayarlar.

Get-Service, BITS hizmetini belirtmek için Name parametresini kullanır ve nesneyi işlem hattına gönderir. Select-ObjectBITS hizmetinin durumunu görüntülemek için Property parametresini kullanır.

Örnek 3: Hizmetin açıklamasını değiştirme

Bu örnek, BITS hizmetinin açıklamasını değiştirir ve sonucu görüntüler.

Get-CimInstance Cmdlet, hizmetin Açıklamasını içeren bir Win32_Service nesnesi döndürdüğünden kullanılır.

Get-CimInstance Win32_Service -Filter 'Name = "BITS"'  | Format-List  Name, Description

Name        : BITS
Description : Transfers files in the background using idle network bandwidth. If the service is
              disabled, then any applications that depend on BITS, such as Windows Update or MSN
              Explorer, will be unable to automatically download programs and other information.

Set-Service -Name BITS -Description "Transfers files in the background using idle network bandwidth."
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List  Name, Description

Name        : BITS
Description : Transfers files in the background using idle network bandwidth.

Get-CimInstance nesnesini işlem hattına Format-List gönderir ve hizmetin adını ve açıklamasını görüntüler. Karşılaştırma amacıyla, komut açıklama güncelleştirilmeden önce ve sonra çalıştırılır.

Set-Service, BITS hizmetini belirtmek için Name parametresini kullanır. Description parametresi, hizmetlerin açıklaması için güncelleştirilmiş metni belirtir.

Örnek 4: Hizmet başlatma

Bu örnekte bir hizmet başlatılır.

Set-Service -Name WinRM -Status Running -PassThru

Status   Name               DisplayName
------   ----               -----------
Running  WinRM              Windows Remote Management (WS-Manag...

Set-ServiceHizmeti (WinRM) belirtmek için Name parametresini kullanır. Status parametresi, hizmeti başlatmak için Çalışıyor değerini kullanır. PassThru parametresi, sonuçları görüntüleyen bir ServiceController nesnesi oluşturur.

Örnek 5: Hizmeti askıya alma

Bu örnekte hizmet vermek için duraklatmak için işlem hattı kullanılır.

Get-Service -Name Schedule | Set-Service -Status Paused

Get-ServiceSchedule hizmetini belirtmek için Name parametresini kullanır ve nesneyi işlem hattına gönderir. Set-ServiceHizmeti Duraklatıldı olarak ayarlamak için Durum parametresini kullanır.

Örnek 6: Hizmeti durdurma

Bu örnekte bir hizmeti durdurmak için bir değişken kullanılır.

$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped

Get-ServiceHizmeti (Schedule) belirtmek için Name parametresini kullanır. nesnesi, $Sdeğişkeninde depolanır. Set-ServiceInputObject parametresini kullanır ve depolanan $Snesnesini belirtir. Status parametresi hizmeti Durduruldu olarak ayarlar.

Örnek 7: Uzak sistemde bir hizmeti durdurma

Bu örnek, uzak bilgisayardaki bir hizmeti durdurur. Daha fazla bilgi için bkz . Invoke-Command.

$Cred = Get-Credential
$S = Get-Service -Name Schedule
Invoke-Command -ComputerName server01.contoso.com -Credential $Cred -ScriptBlock {
  Set-Service -InputObject $S -Status Stopped
}

Get-Credential kullanıcı adı ve parola ister ve kimlik bilgilerini değişkende $Cred depolar. Get-Service, Zamanlama hizmetini belirtmek için Name parametresini kullanır. nesnesi, $Sdeğişkeninde depolanır.

Invoke-Commanduzak bir bilgisayar belirtmek için ComputerName parametresini kullanır. Credential parametresi, bilgisayarda oturum açmak için değişkenini kullanır$Cred. ScriptBlock çağrısında bulunurSet-Service. InputObject parametresi depolanan $Shizmet nesnesini belirtir. Status parametresi hizmeti Durduruldu olarak ayarlar.

Örnek 8: Hizmetin kimlik bilgilerini değiştirme

Bu örnek, bir hizmeti yönetmek için kullanılan kimlik bilgilerini değiştirir.

$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential

Get-Credential kullanıcı adı ve parola ister ve kimlik bilgilerini değişkende $credential depolar. Set-Service, Zamanlama hizmetini belirtmek için Name parametresini kullanır. Credential parametresi değişkenini $credential kullanır ve Schedule hizmetini güncelleştirir.

Örnek 9: Bir hizmetin SecurityDescriptor'ını değiştirme

Bu örnek, bir hizmetin SecurityDescriptor'sını değiştirir.

$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL

SecurityDescriptor değişkeninde $SDDL depolanır. Set-Service, BITS hizmetini belirtmek için Name parametresini kullanır. SecurityDescriptorSddl parametresi, BITS hizmetinin SecurityDescriptor'ını değiştirmek için kullanır$SDDL.

Örnek 10: Birden çok hizmet için başlangıç türünü ayarlama

Cmdlet aynı Set-Service anda yalnızca bir hizmet adını kabul eder. Ancak, birden çok hizmetin yapılandırmasını değiştirmek için Set-Service birden çok hizmeti adresine yöneltebilirsiniz.

Get-Service SQLWriter,spooler |
    Set-Service -StartupType Automatic -PassThru |
    Select-Object Name, StartType

Name      StartType
----      ---------
spooler   Automatic
SQLWriter Automatic

Parametreler

-Confirm

komutunu çalıştırmadan Set-Serviceö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?.

Bu parametre PowerShell 6.0'da kullanıma sunulmuştur.

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

-Description

Hizmet için yeni bir açıklama belirtir.

Hizmet açıklaması Bilgisayar Yönetimi, Hizmetler'de görünür. Açıklama, ServiceController nesnesinin Get-Servicebir özelliği değildir. Hizmet açıklamasını görmek için, hizmeti temsil eden bir Win32_Service nesnesi döndüren öğesini kullanınGet-CimInstance.

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

-DisplayName

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

Not

Genellikle yalnızca Set-Service Windows hizmetlerinde çalışır, sürücüler üzerinde çalışmaz. Ancak, bir sürücünün adını belirtirseniz, Set-Service sürücüyü hedefleyebilir.

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

-Force

Hizmetin Durdurma modunu belirtir. Bu parametre yalnızca kullanıldığında çalışır -Status Stopped . Etkinleştirilirse, Set-Service hedef hizmet durdurulmadan önce bağımlı hizmetleri durdurur. Varsayılan olarak, diğer çalışan hizmetler hedef hizmete bağımlı olduğunda özel durumlar ortaya çıkar.

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

-InputObject

Değiştirecek hizmeti temsil eden bir ServiceController nesnesi belirtir. Nesnesini içeren bir değişken girin veya nesneyi alan bir komut veya ifade yazın, örneğin bir Get-Service komut. bir hizmet nesnesini Set-Serviceadresine göndermek için işlem hattını kullanabilirsiniz.

Type:ServiceController
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Değiştirilecek hizmetin hizmet adını belirtir. Joker karakterlere izin verilmez. İşlem hattını kullanarak hizmetine bir hizmet adı Set-Servicegönderebilirsiniz.

Not

Genellikle yalnızca Set-Service Windows hizmetlerinde çalışır, sürücüler üzerinde çalışmaz. Ancak, bir sürücünün adını belirtirseniz, Set-Service sürücüyü hedefleyebilir.

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

-PassThru

Değiştirilen hizmetleri temsil eden bir ServiceController nesnesi döndürür. Varsayılan olarak, Set-Service herhangi bir çıkış oluşturmaz.

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

-SecurityDescriptorSddl

Hizmetin SecurityDescriptor'ınıSddl biçiminde belirtir. Bu parametreyle çağrı yapan Set-Service hesabın WRITE_DAC ve WRITE_OWNER izinleri olmalıdır. Daha fazla bilgi için bkz . Hizmet güvenliği ve erişim hakları.

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

-StartupType

Hizmetin başlangıç modunu belirtir.

Bu parametre için kabul edilebilir değerler aşağıdaki gibidir:

  • 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.
  • AutomaticDelayedStart - Sistem önyüklemeden kısa bir süre sonra başlar.
  • Devre dışı - Hizmet devre dışı bırakıldı ve bir kullanıcı veya uygulama tarafından başlatılamıyor.
  • InvalidValue - Hiçbir etkisi yoktur. Cmdlet bir hata döndürmez, ancak hizmetin StartupType değeri değiştirilmez.
  • 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.
Type:ServiceStartupType
Aliases:StartMode, SM, ST, StartType
Accepted values:Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Status

Hizmetin durumunu belirtir.

Bu parametre için kabul edilebilir değerler aşağıdaki gibidir:

  • Duraklatıldı. Hizmeti askıya alır.
  • Çalışıyor. Hizmeti başlatır.
  • Durduruldu. Hizmeti durdurur.
Type:String
Accepted values:Paused, Running, Stopped
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Çalıştırılırsa Set-Service ne olacağını gösterir. Cmdlet çalıştırılmıyor.

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

Girişler

ServiceController

Bir hizmet nesnesini bu cmdlet'e yöneltebilirsiniz.

String

Hizmet adı içeren bir dizeyi bu cmdlet'e aktarabilirsiniz.

Çıkışlar

None

Varsayılan olarak, bu cmdlet çıkış döndürmez.

ServiceController

PassThru parametresini kullandığınızda, bu cmdlet bir ServiceController nesnesi döndürür.

Notlar

Bu cmdlet yalnızca Windows platformlarında kullanılabilir.

Set-Service yükseltilmiş izinler gerektirir. Yönetici olarak çalıştır seçeneğini kullanın.

Set-Service yalnızca geçerli kullanıcının hizmetleri yönetme izinleri olduğunda hizmetleri denetleyebiliyor. Bir komut düzgün çalışmıyorsa gerekli izinlere sahip olmayabilirsiniz.

Bir hizmetin hizmet adını veya görünen adını bulmak için kullanın Get-Service. Hizmet adları Ad sütununda, görünen adlar ise DisplayName sütunundadır.