Mai più servizi automatici stoppati!

restartservices Spesso capita che su un server alcuni servizi automatici siano fermi.

Come evitarlo?

Con Powershell, grazie ai comandi Get-Service e Start-Service, possiamo controllare tutti quei servizi il cui avvio è impostato ad automatico e riavviarli nel caso in cui qualcuno di essi sia fermo.

Meglio ancora è programmare un controllo giornaliero che compia per noi questa azione e grazie all’Utilità di pianificazione è possibile schedulare tale attività.

Ecco come fare:

Create un file AvviaServiziAutomatici.xml con il blocco note come qui di seguito indicato

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
 <RegistrationInfo>
 <Description>Lo script powershell avvia tutti i servizi arrestati che hanno la modalità di avvio automatico settata</Description>
 </RegistrationInfo>
 <Triggers>
 <CalendarTrigger>
 <Enabled>true</Enabled>
 <ScheduleByDay>
 <DaysInterval>1</DaysInterval>
 </ScheduleByDay>
 </CalendarTrigger>
 </Triggers>
 <Principals>
 <Principal id="Author">
 <LogonType>Password</LogonType>
 <RunLevel>HighestAvailable</RunLevel>
 </Principal>
 </Principals>
 <Settings>
 <MultipleInstancesPolicy>StopExisting</MultipleInstancesPolicy>
 <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
 <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
 <AllowHardTerminate>true</AllowHardTerminate>
 <StartWhenAvailable>false</StartWhenAvailable>
 <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
 <IdleSettings>
 <StopOnIdleEnd>true</StopOnIdleEnd>
 <RestartOnIdle>false</RestartOnIdle>
 </IdleSettings>
 <AllowStartOnDemand>true</AllowStartOnDemand>
 <Enabled>true</Enabled>
 <Hidden>false</Hidden>
 <RunOnlyIfIdle>false</RunOnlyIfIdle>
 <WakeToRun>false</WakeToRun>
 <ExecutionTimeLimit>PT1H</ExecutionTimeLimit>
 <Priority>7</Priority>
 </Settings>
 <Actions Context="Author">
 <Exec>
 <Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command>
 <Arguments>-command " &amp; {get-service | where {($_.status -eq 'stopped') -and ($_.starttype -eq 'Automatic')} | Start-Service}"</Arguments>
 </Exec>
 </Actions>
</Task>

Quindi aprite l’Utilità di Pianificazione (potete farlo anche lanciando il comando taskschd.msc) e nel pannello Azioni, presente a destra, cliccate su Importa attività. Confermate il tutto ed inserite, quando richiesto, le credenziali di un amministratore del server.

Avrete così una schedulazione giornaliera che riavvia automaticamente i vostri servizi fermi.

 

Annunci

Lascia un commento qui

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...