हमारे पास एक PowerShell स्क्रिप्ट है जो दूसरे कंप्यूटर पर एक सेवा को पुनरारंभ करता है। जब हम PowerShell की अंतर्निहित सेवा नियंत्रण cmdlets का उपयोग करते हैं, जैसे:
$svc = Get-Service -Name MyService -ComputerName myservicehostname
Stop-Service -InputObject $svc
Start-Service -InputObject $svc
हमें यह त्रुटि वापस मिलती है:
स्टॉप-सर्विस: कंप्यूटर 'myservicehostname' पर MyService सेवा नहीं खोल सकता।
हालाँकि, जब हम sc.exe का उपयोग करते हैं, तो जैसे:
C:\Windows\System32\sc \\myservicehostname stop MyService
C:\Windows\System32\sc \\myservicehostname start MyService
शुरू और सफल बंद करो।
पुनरारंभ करने वाला उपयोगकर्ता व्यवस्थापक नहीं है । सेवा को शुरू / बंद करने और क्वेरी करने के लिए उपयोगकर्ता की अनुमति देने के लिए हम सबइंक्ल का उपयोग करते हैं:
subinacl.exe /service MyService /GRANT=MyServiceControlUser=STO
कैसे आएँ PowerShell मेरी सेवा को रोक नहीं सकता है लेकिन sc.exe
कर सकता हूँ?