Kami memiliki skrip PowerShell yang me-restart layanan di komputer lain. Ketika kami menggunakan cmdlet kontrol layanan bawaan PowerShell, seperti:
$svc = Get-Service -Name MyService -ComputerName myservicehostname
Stop-Service -InputObject $svc
Start-Service -InputObject $svc
Kami mendapatkan kesalahan ini kembali:
Stop-Service: Tidak dapat membuka layanan MyService di komputer 'myservicehostname'.
Namun, ketika kita menggunakan sc.exe, seperti:
C:\Windows\System32\sc \\myservicehostname stop MyService
C:\Windows\System32\sc \\myservicehostname start MyService
mulai dan berhenti berhasil.
Pengguna yang melakukan restart bukanlah administrator. Kami menggunakan subinacl untuk memberikan izin kepada pengguna untuk memulai / menghentikan dan meminta layanan:
subinacl.exe /service MyService /GRANT=MyServiceControlUser=STO
Kenapa PowerShell tidak bisa menghentikan layanan saya tetapi sc.exe
bisa?
sumber
subinacl
sebelumnya. Utilitas yang sangat berguna! Terima kasih telah kembali untuk meninggalkan informasi ini untuk kami semua.Perintah berikut berfungsi seperti yang diharapkan pada mesin Windows Server 2008 R2 saya.
Bisakah Anda juga mencoba perintah satu kali ini untuk menentukan apakah itu berfungsi, apakah Anda sudah memverifikasi bahwa pengguna adalah anggota grup yang merupakan anggota grup Pengguna di server target?
sumber