SharePoint PowerShell Timer Jobs

Avete mai pensato a quanto sarebbe utile poter pianificare l’esecuzione di script Powershell nel contensto della vostra farm SharePoint? Certo, è possibile utilizzare il Task Scheduler di Windows, ma per farlo è richiesto l’accesso al server e non sempre questo è possibile.

Qualche giorno fa ho letto di un progetto molto interessante, creato da Ingo Karstein e condiviso su Codeplex, che permette di creare Timer Jobs per l’esecuzione di script Powershell semplicemente da Central Administrator. Le possibilità di utilizzo sono molteplici, solo per citarne alcune: script di warm-up, backup, elaborazione/conversione documenti (via Word Automation Services), ecc…

Una volta effettuato il deploy della solution ed attivata la feature nella Central Administration, in System Settings troverete un nuovo gruppo: Ingo Karstein’s SharePoint PowerShell Timer Jobs.

System Settings

Le pagine a disposizione sono due, creazione/modifica/cancellazione dei Timer Jobs e history list dei job eseguiti. Le possibili schedulazioni sono le classiche dei Timer Jobs; altre impostazioni consentono di selezionare lo stato del job (attivo/non attivo), il server dove verrà eseguito e ovviamente il nome.

Crea nuovo Timer Job

Una volta definite queste caratteristiche sarà possibile scrivere (o meglio copiare) il nostro script PowerShell. Nel mio esempio ho schedulato, ogni notte alle 23:15, il backup di tutte le site collection. Anche se può sembrare ovvio vi segnalo che non potranno essere eseguiti script che richiedono l’interazione con l’utente (es. input o conferme).

PowerShell script editor

Un’altra caratteristica interessante di questo progetto è che i Timer Jobs creati li troviamo negli stessi elenchi dei Timer Jobs standard (ad esempio in Monitoring > Scheduled Jobs) e possiamo modificare la schedulazione, disattivarli o eseguirli a richiesta.

Scheduled JobsEdit Timer Job

Questo progetto è ancora in beta, al momento in versione 0.1.0.0. Nel caso decideste di utilizzarlo di effettuare prima tutti i test del caso nel vostro ambiente di test. Inoltre ricordo che, come tutti I progetti che si trovano su Codeplex, non è garantito alcun supporto e che eventuali correzioni e bug fixing sono legati alla buona volontà e alla disponibilità dei proprietari del progetto.

Detto questo, il progetto di Ingo mi piace moltissimo sia per cosa riguarda che per come è realizzato, così intregrato a livello di Central Admin. Sicuramente un progetto che seguirò e spero che si evolva, per lo meno, fino ad una versione stabile.

Questo è il link alla pagina del progetto: http://sppowershelltimerjob.codeplex.com/

Questo è il corrispondente post dal blog di Ingo: http://ikarstein.wordpress.com/2011/08/04/sharepoint-powershell-timer-jobs-run-powershell-scripts-in-sharepoint-timer-service-context/

-Riccardo


2 commenti on “SharePoint PowerShell Timer Jobs”

  1. Ingo scrive:

    Thank you for the review of my project!🙂 please post your test results, bugs, … on codeplex or my blog for further improvements of the project!

    kind regards
    ingo

  2. ikarstein scrive:

    Hi Riccardo,

    I got a pingback from here on my blog.🙂 – Thank you for your review bof my project! (I’ve read a translated version😉 ) – Please post your experiences, problems, bugs, etc… on my blog or the projects Codeplex page. This would help for further improvements. I need at least BETA testers!

    Kind regards
    Ingo


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

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...