Skip to main content

Eliminare i file di log di IIS più vecchi di una certa data con un file batch

I file di log di Internet Information Services costituiscono una risorsa irrinunciabile per qualsiasi amministratore di rete degno di questo nome, in quanto sono l’unico strumento che consente di tenere traccia in modo efficace di una serie di informazioni utilissime su chi visita i nostri siti e servizi web: per un elenco completo delle informazioni che sono in grado di memorizzare è possibile fare riferimento a questa pagina ufficiale che descrive il formato utilizzato, ovvero il W3C Extended Log File Format, al quale Microsoft ha scelto di uniformarsi a partire dalla versione 6 di IIS.

Premessa

Ovviamente la scelta su quali informazioni memorizzare e quali no dipende interamente dall’amministratore, il quale può optare per un livello di dettaglio più o meno approfondito tramite il pannello di gestione del servizio di pubblicazione web – anche noto come IIS Manager – facendo click sull’icona Logging, come è possibile vedere nella schermata di seguito:

iis-logging-screenshot

Come già detto poco sopra, attivare il logging del traffico dei propri siti è una scelta quasi obbligata per qualsiasi amministratore di rete. Oltre ad avere una indispensabile utilità statistica, si tratta di informazioni che è opportuno tenere anche per tutelarsi da una serie di potenziali problematiche di natura legale o penale: penetration attacks da parte di hacker o smanettoni in cerca di gloria, abuso dei servizi che vengono offerti al pubblico, e così via.

Si tratta di possibilità relativamente remote, ma attenzione a prenderle sotto gamba: qualsiasi servizio web che preveda la possibilità di effettuare un upload consente di fatto a un utente malintenzionato di caricare sul vostro sistema immagini, video, testi, brani musicale, software o altri file illegali che potrebbero prima o poi – se siete particolarmente sfortunati – essere oggetto di indagine da parte delle forze dell’ordine, con il conseguente obbligo di fornire tutti i log del caso. Ove mai un eventualità del genere venisse malauguratamente a verificarsi, la funzionalità di logging di IIS sarà una vera e propria manna dal cielo – ammesso che non l’abbiate disabilitata!

(altro…)

 

Visualizzare il percorso del file eseguibile di un processo di Windows

Recuperare le informazioni relative al PATH dell’eseguibile di un processo attivo su una macchina Windows può essere utile in molti casi, ad esempio quando si sospetta la presenza di un Malware o, più semplicemente, se si desidera acquisire maggiori informazioni sugli applicativi in esecuzione sul proprio sistema.

 

In tutte le ultime versioni di Windows è possibile recuperare questa informazione direttamente tramite l’interfaccia utente fornita dal Task Manager (in italiano Gestione Attività), il quale contiene una pratica tab Processi mediante la quale è possibile accedere alle Proprietà di ciascun processo in esecuzione: è sufficiente fare click con il tasto destro sul processo che ci interessa e selezionare Proprietà nel menu contestuale. Da Windows 7 in poi è possibile fare la stessa cosa anche tramite la nuova tab Dettagli, che mostra i processi in esecuzione in modo ancora più dettagliato.

(altro…)

 

Come visualizzare informazioni su un Account Utente su Windows Server con PowerShell

Avete bisogno di recuperare informazioni relative a un account utente, come ad esempio la data di ultimo login o l’ultima volta in cui ha cambiato password? Sfortunatamente l’interfaccia di amministrazione utenti di Windows Server non consente di visualizzare le suddette informazioni in modo rapido. Per nostra fortuna possiamo recuperarle in modo semplice ed efficace grazie a un apposito comando Powershell, ovvero Get-ADUser, disponibile a partire da Windows Server 2008.

(altro…)

 

Event Viewer: come inviare notifiche e-mail dal Registro Eventi con uno script Powershell

Il Visualizzatore Eventi di Windows, o Event Viewer in lingua inglese, è senza dubbio uno strumento fondamentale per qualsiasi amministratore di sistema: utilizzato dalla maggior parte dei programmi e dei servizi integrati per comunicare informazioni, avvisi ed errori relativi alla loro esecuzione, è spesso il luogo dove è possibile recuperare le informazioni necessarie per comprendere e risolvere un gran numero di problemi di configurazione, performance, sicurezza e stabilità del nostro sistema.

Sfortunatamente, questa imprescindibile funzionalità è affetta da sempre – perlomeno secondo il sottoscritto – da almeno due problemi:

  • la lentezza, dovuta al fatto che dipende da un parsing in tempo reale di eventi registrati su file di testo, attività che per ovvi motivi è scarsamente efficiente a livello di sistema.
  • la collocazione infelice all’interno del Pannello di Controllo, dovuta al fatto che viene considerato uno strumento ad uso prevalente degli amministratori di sistema.

Queste due problematiche rendono di fatto l’utilizzo del Visualizzatore Eventi particolarmente scomodo: il risultato, almeno nella mia esperienza, è che spesso persino gli amministratori di sistema si dimenticano della sua esistenza, lasciando accumulare errori su errori che potrebbero facilmente essere risolti se soltanto qualcuno riuscisse ad averne notizia in modo più immediato.

E’ proprio questa esigenza, sentita da moltissimi SysAdmin con cui mi trovo spesso a interagire, che mi ha spinto a scrivere questo articolo per illustrare un metodo molto semplice con cui è possibile impostare un vero e proprio sistema di notifiche in tempo reale tramite e-mail degli eventi disponibili all’interno del Visualizzatore Eventi. Ovviamente si avrà la possibilità di scegliere il log (Application, Security, Setup et. al.) e/o la tipologia (Information, Error et. al.) e/o il numero di evento da notificare, così da essere avvisati soltanto degli eventi che si desidera tenere sotto controllo. Vediamo come fare.

(altro…)

 

Riavviare IIS da un PC remoto con Powershell

Introduzione

Una delle necessità più comuni che emergono nel corso della gestione di una Server Farm è quella di poter operare da remoto: in particolare può essere molto utile avere la possibilità di fermare e/o riavviare IIS da un altro nodo del network, magari prima dell’esecuzione di backup periodici o altre task programmate.

Il modo più semplice per farlo è ricorrere a un comando PowerShell: prima di poterlo lanciare, però, è necessario fare in modo che sia il PC da cui volete inviare il comando – che chiameremo PC di origine – che quello su cui risiede l’istanza di IIS – che chiameremo PC di destinazione – siano configurati in modo da vedersi reciprocamente come Trusted Hosts. Vediamo come fare. (altro…)