Korektní ukončení IIS
Mnohokrát se mi stalo, že IISRESET skončil ztrátou konfigurace, kterou jsem těsně předtím upravoval. Dnes mi to už nedalo a tak jsem se, jako poslední možnost, podíval do nápovědy. A ejhle, ono v ní opravdu něco napsaného je
V případě, že zadám pouze IISRESET /NOFORCE, dám sice příkaz k nenásilnému ukončení IIS služeb. Jenže to většinou končí těmito chybami:
Attempting stop...
Restart attempt failed.
The requested control is not valid for this service. (2147943452, 8007041c)
Attempting stop...
Stop attempt failed.
The service did not respond to the start or control request in a timely fashion.
(2147943453, 8007041d)
Zajímavým je nicméně parametr /TIMEOUT:x, kde x je počet sekund. V případě pokynu pro restart je to standardně hodnota 20 sekund, pokud má jít o zastavení služby, je standardně nastaveno 60 sekund.
Takže bezpečným příkazem by měla být tato konstrukce:
IISRESET /STOP /NOFORCE /TIMEOUT:120
Teprve po bezpečném zastavení, kdy mám jistotu, že bylo vše korektně uloženo, zadám
IISRESET /START