Symptoms:
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.
Issue:
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.
Enjoy!
IMPORTANT NOTE for those trying Thomas’s great May 21st solution. You MUST HAVE A SPACE AFTER THE EQUAL SIGN (The forum software may remove extra spaces from posts).
(At elevated cmd prompt) taskkill /IM silsvc.exe /F && sc config silsvc start= disabled (space between = and disabled)
Even after that then the service still resets the startup, so perhaps Microsoft has gotten wiser (with updates), or other posters just had better luck.
To get it to stick I had to first take ownership of C:\Windows\System32\silsvc.exe, then give myself (the administrator account) full permissions, and remove all other users (System, TrustedInstaller and everyone) from the security tab as per Antonio Aguirre’s 12/16/14 post. I didn’t need to delete the file. Just changing the permissions were enough to prevent the service from restarting and allowed the sc command to change the startup to disabled.
This was very helpful and most elegant solution, thank you very much !!!
Sweet baby Jesus… This had been an issue for months.
EBS environment was upgraded but retained one server running FSMO roles, which proceeded to shut down weekly.
Renamed silsvc.exe.msu and stopped the process.
Event viewer shows event 7034 The Software Licensing service terminated unexpectedly. It has done this 1 time(s).
Will inform if this did not work, I doubt it occur again.
Thank you so so sooooo much!
Short term update here;
Windows Activation throwing the following error: 0x80070426
Hi Joachim,
please read the post above from Kinga, in his case Windows showed not activated status as well. I cannot judge under what circumstances this happens, but you can either live with that or roll-back the silsvc and/or activate over the phone, as proposed here: http://answers.microsoft.com/en-us/windows/forum/all/error-0x80070426windows-activation-error-error/25eb3632-c704-4872-9584-e530ad22681d
After that you can disable the service in one command line as proposed and improved by Thomas, Thorsten and Marty here (search for &&)
Moodjbow,
Thanks for the reply. I ran “taskkill /IM silsvc.exe /F && sc config silsvc start= disabled”
Windows Standard Server is still showing as not activated, I successfully ran a windows update however.
Hi Joachim,
I hope that everything will still work, despite the status, from experience with other non-activated installations. But I’d still suggest that you monitor the system for a while.
Best
Bonjour,
j’ai le meme problème avec un 2016 essentials, j’ai pu renommé le fichier. Kill le service mais il redémarre sans cesse. J’ai tenté de déplacer le fichier slisvc.exe.mui également mais ca ne change rien. De plus, je n’ai pas l’accès pour mettre le service en disable même en tant qu’administrateur.
Hi Kevin, I don’t have a 2016 to test. Even the 2012 Essentials is not handy. SO: be quite careful what you do, but in general this command line should be quite robust. Or some alternative of the sequence of commands:
TAKEOWN /F c:\windows\system32\silsvc.exe && ICACLS c:\windows\system32\silsvc.exe /grant:R administrators:F && TASKKILL /IM silsvc.exe /F && REN c:\windows\system32\silsvc.exe c:\windows\system32\silsvc.exe.disabled && SC config silsvc start= disabled
Good luck and let me know the results!
Hi, I am in the middle of a domain move away from 2008 EBS over to Server 2016 domain, and the old EBS controller server kept shutting down every 4 hours. Same issue as the old SBS boxes, it needs to have all of the FSMO roles. This little fix will now let me move the data in a controlled fashion over the the new DFS sets, and not rushing it as the server keeps randomly turning itself off, many thanks.
I used the solution from thomas 21may. But i didnt kill any task. i used the commando and thats it. I restarted the server after to be sure it didnt start again and it didnt. Lets hope it stays that way. I keep this link in my favorites just in case
hi – does anyone know if this works with Essentials 2016 ….