Başka bir bilgisayardaki hizmeti yeniden başlatan bir PowerShell betiğimiz var. PowerShell'in yerleşik hizmet denetimi cmdlet'lerini kullandığımızda, şöyle:
$svc = Get-Service -Name MyService -ComputerName myservicehostname
Stop-Service -InputObject $svc
Start-Service -InputObject $svc
Bu hatayı geri alıyoruz:
Durdurma Hizmeti: MyService hizmeti 'myservicehostname' bilgisayarında açılamıyor.
Ancak, sc.exe'yi kullandığımızda, şöyle:
C:\Windows\System32\sc \\myservicehostname stop MyService
C:\Windows\System32\sc \\myservicehostname start MyService
başlangıç ve bitiş başarılı.
Yeniden başlatmayı yapan kullanıcı bir yönetici değildir . Kullanıcıya hizmeti başlatma / durdurma ve sorgulama izinleri vermek için subinacl kullanıyoruz:
subinacl.exe /service MyService /GRANT=MyServiceControlUser=STO
PowerShell nasıl hizmetimi durduramaz ama sc.exe
yapabilir?