Critical: Your Hyper-V licensed as Essentials R2 Server shuts down weekly. You observe the log “The process C:\Windows\system32\silsvc.exe [computername] has initiated the power off of computer [computername] on behalf of user NT AUTHORITY\SYSTEM” or similar, as described here.
Non-critical: You receive an error message “The SILSVC should be started automatically but it is stopped” as described here. If this is the case, you can either follow this link for a workaround, or read further below.
In both cases above you are running an ex-Windows Essentials that was either upgraded to Standard or stripped down to its sole Hyper-V functionality. There is a service called Server Infrastructure Licensing Service (aka silsvc if you are using sc command) that is causing the trouble after you transmogrify the Essentials edition. By the way, this Transmog term was new for me 🙂
The problem is the service cannot be stopped, neither from the services.msc nor using sc stop silsvc.
First question that needs to be cleared reads: ‘how critical is the service?’ If you look at it, there are no dependencies. Also the TechNet blog above confirms that you are not going to break your server if the service is missing or disabled.
As described by the first symptom though, you would hardly be able to restart a Hyper-V on which the productive environment is running. So how can you stop the service?
The first reasoning was to use SC from the elevated prompt: sc config “silsvc” start= disabled
Unluckily although a successful exit code is returned if you run sc query silsvc you will still see that nothing has changed and the service is still running and not stoppable. SC stop silsvc is as useless as you can imagine.
The second reasoning is to go and change the settings directly into the registry that can be found under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\silsvc. You will be confronted with security restrictions:
And you cannot add your account with Full Access permissions:
Since taking ownership on registry keys is not very comfortable for me, I decided to try a third option.
Third playground: NTFS permissions and Task Manager.
If you try to kill the process directly from the Task Manager you will most probably think that this cannot act also. By looking closely however, you will see that each time you end a task, the process ID is being changed.
Exactly this is the Achilles’ heel of the service: if you succeed in deleting or renaming the silsvc.exe file there will be nothing to start again. The file itself is precautionally NTFS protected. You will have to take ownership of the file and then grant yourself sufficient permissions to move or rename the file (I never recommend deleting!).
After adjusting the NTFS permissions and changing the file’s name and/or location you can kill the process and subsequently change the start type of the service to disabled. All can be done online without stopping any productive function.