martedì 23 settembre 2014

Skype: utilizzare due account contemporaneamente

Skype non mette a disposizione nessuna opzione per utilizzare contemporaneamente 2 account sulla stessa postazione. Una soluzione a questo problema consiste nell'utilizzare l'argomento /secondary nel lanciare la seconda istanza dell'applicazione.
Vediamo nel dettaglio come aprire 2 istanze di Skype sulla stessa postazione.

Avviamo normalmente Skype con il nostro account principale.
Creiamo un collegamento sul desktop specificando, come percorso del collegamento, la seguente stringa
"C:\Program Files (x86)\Skype\Phone\Skype.exe" /secondary

nel caso sulla postazione sia installata una versione di Windows a 32bit il percorso da indicare è il seguente:
"C:\Program Files\Skype\Phone\Skype.exe" /secondary

Cliccando sul collegamento viene avviata una seconda istanza di Skype in cui potremmo utilizzare un altro account

lunedì 22 settembre 2014

Windows Quick Tip: Modalità GodMode

A partire da Windows Vista è possibile creare una cartella virtuale contenente tutte quelle funzionalità normalmente accessibili tramite le applet del Pannello di Controllo. Tale modalità di accesso alle funzionalità del sistema operativo è stata ribattezzata GodMode.

Per accedere alla modalità GodMode basta creare una cartella, in qualsiasi posizione del disco, e nominarla:
GodMode.{ED7BA470-8E54-465E-825C-99712043E01C}
La cartella assumerà l'icona del Pannello di controllo e all'interno ritroveremo tutte le funzionalità raccolte per gruppi.

É possibile utilizzare la modalità GodMode in Windows Vista, Windows 7, Windows 8 e 8.1 e anche su Windows Server 2008 e Windows Server 2012

GodMode
FIG 1 - GodMode

Outlook: Richiedere una conferma di lettura per email inviate ad un indirizzo specifico

Se vogliamo richiedere una conferma di lettura per tutte le email che inviamo ad un particolare indirizzo possiamo procedere alla creazione di una regola:
  • Da Outlook 2010 e Outlook 2013 cliccare sul menu File quindi su Gestisci Regole e avvisi
  • Cliccare su Nuova Regola
    Regole e Avvisi
    FIG 1 - Regole e Avvisi
  • Selezionare Applica regola ai messaggi inviati quindi procedere cliccando su Avanti
    Creazione guidata regole: Applica regola ai messaggi inviati
    FIG 2 - Creazione guidata regole: Applica regola ai messaggi inviati
  • Selezionare Inviato a utenti o gruppo pubblico
  • Nella parte inferiore della finestra cliccare su utenti o gruppo pubblico e specificare l'indirizzo desiderato, quindi confermare cliccando su OK
    Creazione guidata regole: inviato a utenti o gruppo pubblico
    FIG 3 - Creazione guidata regole: inviato a utenti o gruppo pubblico
  • Cliccare su Avanti per proseguire con la creazione della regola
  • Nella finestra successiva selezionare la voce avvisa quando il messaggio è stato letto e cliccare su Avanti
    Creazione guidata regole: avvisa quando il messaggio è stato letto
    FIG 4 - Creazione guidata regole: avvisa quando il messaggio è stato letto
  • Specificare eventuali eccezioni (non necessario) e cliccare su Avanti
  • Assegnare un nome alla regola e assicurarsi che sia selezionata l'opzione Attiva regola quindi cliccare su Fine

FIG 5 - Creazione guidata regole: Attiva regola

Da questo momento in poi, quando inviamo un'email all'indirizzo specificato, al destinatario verrà richiesta la conferma di lettura.

giovedì 11 settembre 2014

MS Exchange: Risposte automatiche (Fuori Sede) tramite EMS

Le risposte automatiche (Fuori Sede) possono essere inserite facilmente dagli utenti tramite il client di posta (ad es. Outlook) oppure tramite OWA. 

Nel caso volessimo utilizzare Exchange Management Shell (EMS) per inserire o eliminare una regola fuori sede (out of office) dobbiamo servirci del cmd-let Set-MailboxAutoReplyConfiguration
Set-MailboxAutoReplyConfiguration <nome_utente> -AutoReplyState Scheduled -StartTime <data_e_ora_attivazione> -EndTime <data_e_ora_disattivazione> -ExternalMessage "Messaggio per i mittenti esterni all'organizzazione" -InternalMessage "Messaggio per i mittenti interni all'organizzazione."
I parametri StartTime e EndTime consentono di specificare la data e l'ora in cui attivare/disattivare l'invio della risposta automatica. Le date vanno espresse in modalità anglossassone (mese/giorno/anno).

ExternalMessage e InternalMessage consento di specificare il messaggio di risposta automatica desiderato rispettivamente per gli utenti esterni e interni all'organizzazione.

AutoReplyState consente di abilitare, disabilitare, schedulare la risposta automatica sulla casella. I valori accettati dal parametro sono:
  • Enabled per abilitare all'istante la risposta automatica fino a quando non viene deliberatamente disattivata.
  • Disabled per disabilitare la risposta automatica.
  • Scheduled permette di abilitare la risposta automatica solo nell'intervallo di date specificate con StartTime e EndTime.
Ad es.
Set-MailboxAutoReplyConfiguration GLUBRANO -AutoReplyState Scheduled -StartTime "10/31/2014 07:00 AM" -EndTime "10/31/2014 11:30 pm" -ExternalMessage "Sono in ferie." -InternalMessage "Sono in ferie."
Per disattivare la risposta automatica
Set-MailboxAutoReplyConfiguration GLUBRANO -AutoReplyState Disabled

martedì 9 settembre 2014

BPMTK: Basic Process Manipulation Tool Kit


BPMTK è un utility open source creata da Didier Stevens (http://blog.didierstevens.com/) e appositamente pensata per la manipolazione dei processi in esecuzione in ambiente Windows.

BPMTK rappresenta un valido sostituto di gpdisable ormai non più supportato e , anzi, ne migliora diverse caratteristiche. L’utility permette di effettuare il dump della memoria, ricerche e sostituzioni all’interno della memoria utilizzata dai processi, DLL injection e molto altro.
A partire da Windows Vista, Microsoft ha cercato di rimediare e proteggere i suoi sistemi operativi da questo tipo di vulnerabilità introducendo il concetto di processo protetto: un tipo di processo che viene eseguito in uno spazio di memoria protetto dagli altri processi. Un processo protetto per essere considerato tale deve essere firmato da Microsoft.

Di seguito mostrerò alcuni esempi su come bypassare diverse protezioni utilizzando BPMTK.

Bypassare le Software Restriction Policies

Le Group Policy (in italiano conosciute come Criteri di Gruppo) vengono utilizzare per la configurazione e la gestione di un sistema Microsoft e in particolare vengono utilizzate in Active Directory. Le Group Policy permettono la configurazione di ogni aspetto del funzionamento delle workstation collegate alla rete aziendale, ad es. possiamo impedire all’utente di effettuare alcune operazioni o utilizzare alcuni programmi. 

Le Software Restriction Policies (SRP) sono una funzionalità delle Group Policy (GPO) che permettono all’amministratore di imporre restrizioni sul software che l’utente può eseguire. Le GPO vengono applicate attraverso le funzioni contenute in advapi32.dll. Diversi programmi, tra cui explorer.exe, richiamano tale DLL. Quando un utente tenta di eseguire un programma, explorer.exe, tramite le funzioni messe a disposizione da advapi32.dll, verifica se è autorizzato dalle GPO. Un ruolo importante in questa verifica è svolto dalla chiave TransparentEnabled. La presenza di tale chiave indica che le SRP sono attive e vanno verificate.  Un’utenza limitata non ha i permessi per andare a modificare le SRP pertanto sembrerebbe che il sistema non possa essere bypassato ma c’è un particolare. L’utente può modificare il codice contenuto all’interno del processi su cui ha i permessi come ad es.  explorer.exe. Cosa possiamo fare affinchè explorer.exe non vada ad interrogare la chiave TransparentEnabled? Dobbiamo fare in modo che la chiave TransparentEnabled non venga trovata dalle funzioni di advapi32.dll e quindi facendo credere al sistema di verifica che non è impostata alcuna SRP.

A questo punto interviene la nostra utility:
  • Scarichiamo l’utility da http://www.didierstevens.com/files/software/bpmtk_V0_1_6_0.zip
  • Scompattiamo il file in una cartella
  • Creiamo un file di testo e nominiamolo bypass-SRP.txt
  • All’interno del file copiamo il seguente codice:
    dll-name advapi32.dll
    search-and-write module:. unicode:TransparentEnabled ascii:X
  • Salviamo il file nella cartella contenente BPMTK;
  • Dal prompt dei comandi spostiamoci nella cartella dove abbiamo salvato il file .txt.
  • Eseguiamo il seguente comando:
    bpmtk bypass-SRP.txt


Con i comandi indicati all’interno del file .txt non facciamo altro che dire a BPMTK di cercare, in tutti i processi che caricano advapi32.dll, la stringa TransparentEnabled e sostituire la T con la X. Così facendo il nome della chiave diventerà XransparentEnabled.

Tuttavia questo procedimento non disabilita le SRP per i processi già in esecuzione. Le SRP, infatti, una volta caricate dal registro vengono memorizzate nella cache in modo da evitare continui accessi al registro che rallenterebbe l’esecuzione. Per rendere non valida la cache e quindi forzare la lettura dal registro bisogna aspettare un update delle GPO oppure forzarle con il comando gpupdate /force (se si tratta di utente limitato probabilmente non potrà forzare l’update delle GPO).
Anche in questo caso l’utility BPMTK ci viene incontro. La memorizzazione nella cache delle SRP viene controllata dalla variabile _g_ bInitializedFirstTime presente in advapi32.dll. Nella versione 5.1.2600.2180 di advapi32.api.dll la variabile è memorizzata all’indirizzo 77E463C8. Assegnando a tale variabile il valore 0 si rende non valida la cache. Modifichiamo il nostro file bypass-SRP.txt in modo tale che contenga le seguenti istruzioni:


dll-name advapi32.dll
search-and-write module:. unicode:TransparentEnabled ascii:X
write version:5.1.2600.2180 hex:77E463C8 hex:00

E se l’utente limitato non dispone di permessi per eseguire BPMTK?

Bypassare le Software Restriction Policies tramite BPMTK e le macro di Excel

Nel caso in cui l’utente non disponga i necessari permessi per eseguire BPMTK ma gli è permesso di eseguire macro in Excel allora possiamo sfruttare il VBScript.

In questo caso lo stesso autore di BPMTK ci mette a disposizione sul proprio sito una sua utility creata in python che permette di includere un file .exe o .dll in un file .vbs. È possible scaricare il programma al seguente link: www.didierstevens.com/files/software/file2vbscript_v0_3.zip

Per poter eseguire il programma è necessario aver installato un interprete python. Possiamo scaricare Python da www.python.it/download/

Una volta scompattato il file file2vbscript_v0_3.zip  e installato python copiamo il file file2vbscript.py nella stessa cartella del file bpmtk.exe.
Dal prompt dei comandi spostiamoci nella cartella che contiene i 2 file e digitiamo il seguente comando

file2vbscript.py -o BPMTK.exe nostroScript.vbs

Il programma non fa altro che eseguire il dump del file .exe e memorizzarlo all’interno del file .vbs.
Nel caso in cui volessimo eseguire il dump di una dll allora l’opzione da utilizzare è –l come mostrato di seguito:

file2vbscript -l bpmtk.dll bpmtk.vbs

Ora che abbiamo visto come includere una dll o un file eseguibile all’interno di un VBS abbiamo un altro problema: come facciamo ad includere il file bypass-SRP.txt visto precedentemente all’interno del nostro file VBS?

Basta eseguire il comando

bpmtk bypass-SRP.txt bpmtk-cmd.exe


Con questo comando non facciamo altro che eseguire una copia del file bpmtk.exe con incluso il file di testo. Il file risultante, come indicato nel comando, è bpmtk-cmd.exe.

Per quanti non dispongono di Python e non vogliono installarlo, ho realizzato un semplice programmino in C# (senza troppe pretese) per raggiungere lo stesso scopo. Nella realizzazione non mi sono discostato molto dal programma di Didier Stevens. Il codice C# è molto semplice e presenta diversi aspetti che possono essere migliorati ma per il nostro scopo va più che bene.

Da QUI potete scaricare il sorgente e il programma compilato.

Il programma, essendo già compilato, non necessita dell’installazione di Python inoltre presenta un’interfaccia grafica che ne facilita l’utilizzo e consente di integrare, insieme ad un file .exe, anche un file txt all’interno del vbs. Lo svantaggio sta nel fatto che è più lento nell’eseguire l’operazione di Dump.
File2VBS in C#
FIG 1 - File2VBS in C#

Eseguendo il mio programma appare un’interfaccia grafica dove andremo a selezionare l’output che ci interessa:
  • Office: se ci interessa un output da poter utilizzare come macro all'interno di un'applicazione Office (più avanti vedremo come utilizzarlo in Excel);
  • Library: se stiamo eseguendo il dump di una DLL;
  • Stand Alone: se ci interessa un VBS da eseguire autonomamente attraverso WSH;
  • Don’t execute: non esegue il file di dump generato.
Dopodiché specifichiamo il file che intendiamo utilizzare (exe o dll), un eventuale file di testo da integrare nel VBS e il nome del file di output. 

Clicchiamo su Proceed e attendiamo che la progress bar scompaia. A questo punto, una volta creato il nostro file VBS, non ci resta che inserirlo all’interno di Excel e farlo eseguire come Macro.

Creare una macro Excel 2013 con il file VBS

Il nostro file VBS può essere utilizzato all’interno di Excel come macro. Possiamo fare in modo che quando il file Excel venga aperto la macro venga eseguita automaticamente. Di seguito mostro i passaggi da eseguire per Excel 2013:


  • Avviare Excel 2013 e creare un nuovo foglio di lavoro vuoto;
  • Dal menu File selezionare Opzioni quindi cliccare su Personalizza barra multifunzione;
  • Nel riquadro Schede principali selezionare la casella relativa alla scheda Sviluppo

Schede principali - Sviluppo
FIG 2 - Schede principali - Sviluppo

  • A questo punto tra i ribbon di Excel troviamo anche la voce Sviluppo. Aprire il ribbon Sviluppo e cliccare sull’icona Sicurezza Macro.

FIG 3 - Sicurezza Macro

  • Selezionare Attiva tutte le macro (scelta non consigliata; potrebbe venire eseguito codice pericoloso) e confermiamo su OK
  • Cliccare sull’icona Visual Basic (oppure utilizziamo la combinazione ALT+F11)
  • Nella riquadro Progetto - VBAProject fare clic con il pulsante destro del mouse sull'oggetto Questa_cartella_di_lavoro (ThisWorkbook in inglese) e quindi selezionare Visualizza codice
  • Nel riquadro a destra, incollare il codice presente all’interno del file VBS prodotto da File2VBS
  • Se vogliamo che il codice venga eseguito all'apertura del file allora nell'elenco Oggetto, sopra alla finestra Codice, selezionare Workbook. Per l'evento Open verrà creata automaticamente una routine vuota nominata Workbook_Open(). Aggiungere alla procedura la chiamata a DoIt in modo che appaia come la seguente:
 
Private Sub Workbook_Open()
 DoIt
End Sub

Excel 2013 VBA
FIG 4 - Excel 2013 VBA



Bypassare le retrizioni relative all’esecuzione del prompt dei comandi

Solitamente gli amministratori di sistema disabilitano l’accesso al prompt dei comandi (CMD.EXE) da parte degli utenti. Tale restrizione non viene applicata con una Software Restriction Policy (SRP) bensì con una GPO dedicata. 

Quando viene eseguito cmd.exe va a verificare la presenza della chiave di registro DisableCMD. Se tale chiave è presente allora cmd.exe non verrà eseguito e, al suo posto, apparirà un messaggio che avverte l’utente della restrizione.

Con BPMTK è possibile bypassare anche questo tipo di restrizione:
  • Creiamo un file di testo e nominiamolo bypass-CMD.txt
  • All’interno del file copiamo il seguente codice:
    start cmd.exe 
    search-and-write module:.  unicode:DisableCMD hex:41
  • Salviamo il file nella cartella contenente BPMTK;
  • Dal prompt dei comandi spostiamoci nella cartella dove abbiamo salvato il file .txt.
  • Eseguiamo il seguente comando:
    bpmtk bypass-CMD.txt

Praticamente andiamo ad eseguire il prompt dei comandi (CMD.EXE) e andiamo ad intercettare la chiave DisableCMD che andremo a rinominare in AisableCMD in modo da non farla trovare a CMD.EXE.






Con questo termino il presente articolo. BPMTK offre numerose possibilità che non è possibile trattare in un singolo articolo pertanto è probabile che in futuro ritornerò sull'argomento.



mercoledì 3 settembre 2014

Windows Quick Tip: Ricevere gli aggiornamenti di Windows XP fino al 2019

Dal 8 Aprile 2014 Microsoft non fornisce più supporto e aggiornamenti per Windows XP tuttavia continuerà a rilasciare aggiornamenti per la sicurezza, fino al 2019, per la versione Windows Embedded POSReady 2009: una versione del Sistema Operativo basata su XP e installata sui bancomat e sui POS di mezzo mondo.
Effettuando alcune modifiche al registro di Windows XP possiamo far credere a Windows update che stiamo utilizzando la versione Embedded POSReady 2009 permettendoci di scaricare e installare i nuovi aggiornamenti di sicurezza rilasciati.

Prima di procedere è necessario tenere presente e valutare attentamente quanto segue:

  • L'operazione è sconsigliata da Microsoft;
  • Non è detto che l'operazione funzioni sul nostro PC;
  • É necessario disporre di Windows XP SP3 a 32bit (il trucco non funziona sulle versioni a 64 bit di XP);
  • Il sistema POSReady è simile ad XP ma non identico pertanto, trattandosi di aggiornamenti non certificati per XP, non si esclude che un aggiornamento possa provocare problemi al nostro sistema.


Una volta valutati i rischi dell'operazione se si desidera continuare è possibile procedere come descritto di seguito.

Per far credere a Windows Update che si dispone di un sistema Embedded POSReady 2009 è necessario creare la chiave di registro HKEY_LOCAL_MACHINE\SYSTEM\WPA\PosReady quindi creare all'interno della chiave un nuovo valore DWORD, nominarlo Installed e valorizzarlo ad 1

[HKEY_LOCAL_MACHINE\SYSTEM\WPA\PosReady]
"Installed"=dword:00000001



Per disabilitare il messaggio di fine supporto di Windows XP, invece,  è necessario posizionarsi, all'interno del registro di Windows, su HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion e creare un valore DWORD nominato DisableEOSNotification e valorizzato ad 1

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"DisableEOSNotification"=dword:00000001

Per chi non vuole agire manualmente sul registro può scaricare i file .reg dal seguente link
DOWNLOAD

lunedì 1 settembre 2014

MS Exchange: Fornire i permessi di Revisore sulla mailbox tramite EMS


In alcuni contesti potrebbe essere necessario abilitare un utente su una casella di posta con permessi limitati, ad esempio in solo lettura.
In questi casi basta fornire i permessi di Revisore (Reviewer) all'utente sull'intera casella di posta o su una singola cartella, permettendone la visualizzazione degli elementi ma non la modifica, la cancellazione o la creazione di nuovi. L'operazione può essere effettuata da Outlook o tramite Exchange Management Shell.
In questo articolo vedremo come effettuare l'operazione tramite EMS.

Il comando utilizzato è il seguente:
Add-MailboxFolderPermission -Identity <mailbox o mailbox:\cartella> -User <utente> AccessRights Reviewer

Vediamo qualche esempio.

Per fornire i permessi su una singola cartella, il primo passo è quello di abilitare l'utente come Revisore sulla cartella Top of Information Store:
Add-MailboxFolderPermission -Identity info@contoso.com:\ -User GLUBRANO -AccessRights Reviewer

I permessi forniti sulla cartella Top of Information Store non vengono ereditati dalle sottocartelle, quindi dobbiamo procedere manualmente all'abilitazione su una specifica cartella. Ad es. per la cartella Posta in arrivo:
Add-MailboxFolderPermission -Identity "info@contoso.com:\posta in arrivo" -User GLUBRANO -AccessRights Reviewer
Nel caso in cui i nomi delle cartelle siano in inglese è necessario sostituire Posta in arrivo con inbox
Add-MailboxFolderPermission -Identity "info@contoso.com:\Inbox" -User GLUBRANO -AccessRights Reviewer

Se invece vogliamo fornire i permessi di revisore sull'intera casella di posta possiamo crearci uno script PS1 che individua le cartelle presenti sulla casella di posta e abilita l'utente come revisore su ciascuna di esse. Allo script vanno ovviamente passati la mailbox e l'utente che si intende abilitare.


param (
 [Parameter( Mandatory=$true)]
 [string]$Mailbox,

 [Parameter( Mandatory=$true)]
 [string]$User
)
Set-AdServerSettings -ViewEntireForest $true 

$exclusions = @("/Recoverable Items",
                "/Deletions",
                "/Purges",
                "/Versions"
                )

ForEach($folder in (Get-MailboxFolderStatistics $Mailbox |select folderpath))
 {
  if ($folder.FolderPath -eq "/Top of Information Store")
  {
   $foldername=$Mailbox;
  }
  else
  {
   $foldername=$Mailbox + ":" + $folder.FolderPath.Replace("/","\"); 
  }
 
  if ($exclusion -notcontains $folder.FolderPath)
  {
   if (Get-MailboxFolderPermission $foldername -User $User)
   {
    Set-MailboxFolderPermission $foldername -User $User -AccessRights Reviewer
   }
   else
   {
       Add-MailboxFolderPermission $foldername -User $User -AccessRights Reviewer
   }
  }
 

 }

Dal link di seguito è possibile scaricare il file PS1
DOWNLOAD

giovedì 21 agosto 2014

CalCheck (Calendar Checking Tool for Outlook): riparare il calendario di Outlook

CalCheck (Calendar Checking Tool for Outlook) è un tool a riga di comando messo a disposizione da Microsoft per aiutare gli amministratori nella risoluzione di problemi relativi al calendario. Il tool, eseguito in locale sulla macchina, apre il profilo di di posta di Outlook ed effettua una serie di verifiche sia sul calendario sia sui singoli elementi in esso contenuti. Il calendario deve risiedere su account Exchange e non sono supportati altri tipi di account, POP3 o IMAP.


Per quanto riguarda le verifiche sul calendario il tool provvede a:

  • Verificare i permessi/autorizzazioni;
  • Verificare le informazioni sulla disponibilità;
  • Verificare deleghe;
  • Verificare la gestione automatica degli appuntamenti/riunioni;
  • Verificare il numero di elementi presenti nel calendario. Un numero elevato di elementi può compromettere le prestazioni di outlook. Come indicato dalla KB 2768656 (http://support.microsoft.com/kb/2768656), quando outlook lavora in cached mode , generando il file .OST, o con file PST che hanno cartelle contenenti oltre 50.000 elementi, le prestazioni possono risentirne. In modalità online e senza file pst di grandi dimensioni, le prestazioni di outlook sono influenzate dal server Exchange.


Le verifiche che il tool effettua su ciascun elemento contenuto nel calendario riguardano gli errori più comuni:

  • Nessun indirizzo di posta elettronica dell'organizzatore (PR_SENDER_EMAIL_ADDRESS o PR_SENT_REPRESENTING_EMAIL_ADDRESS);
  • Nessun display name dell'organizzatore (PR_SENDER_NAME o PR_SENT_REPRESENTING_NAME);
  • Nessuna proprietà dispidRecurring. L'assenza di questa proprietà provoca la mancata visualizzazione dell'evento (nella modalità di visualizzazione giorno, settimana o mese);
  • Verifica presenza data e ora nelle proprietà dispidApptStartWhole e dispidApptEndWhole;
  • Nessun oggetto per le riunioni che si verificheranno in futuro o per le riunioni ricorrenti;
  • Nessun Message Class;
  • Message Class errato. Verifica che la classe del messaggio sia IPM.appointment;
  • Verifica proprietà dispidApptRecur;
  • Proprietà dispidRecurring è impostata su False o non esiste mentre la proprietà dispidRecurType non è impostata su Nessuno. Ciò indica che l'appuntamento è ricorrente;
  • Verifica elementi in conflitto all'interno del calendario analizzando il flag PR_MESSAGE_STATUS;
  • Tramite alcune proprietà MAPI, verifica se ci sono elementi duplicati
  • Verifica delle riunioni che hanno lo stesso Global Object ID oppure se questo è vuoto;
  • Verifica gli elementi che dispongono delle proprietà Start time, End time o Recurrence impostate a 0 (anno 1601) o se risultano mancanti;
  • Verifica gli elementi che dispongono delle proprietà Start time, End time o Recurrence impostate su date precedenti al 1995 o successive al 2025;
  • Verifica gli elementi che dispongono delle proprietà Start time, End time o Recurrence superiori ai limiti di outlook;
  • Verifica gli elementi che hanno dimensioni superiori a 10, 25 e 50 megabyte;
  • Verifica gli elementi che hanno più di 25 allegati;
  • Verifica se sono presenti più di 1250 riunioni ricorrenti (viene prodotto un messaggio di avviso). Nel caso in cui vengono riscontrare oltre 1300 riunioni ricorrenti viene prodotto un messaggio di errore (il massimo numero di eventi ricorrenti è 1300);
  • Verifica se, all'interno dell'elemento, si è sia partecipanti che organizzatori della riunione;
  • Verifica Recurrence BLOB;
  • Verifica che all'interno delle tabelle dei destinatari non siano presenti elementi non validi, corrotti o duplicati;
  • Verifica e report degli elementi Festività


Ad ogni modo è possibile personalizzare i test effettuati dal tool agendo sul file CalCheck.cfg.

Le opzioni da riga di comando messe a disposizione del tool:

CalCheck [-P <Profile name>] [-L <path\file>] [-M <LegacyExchangeDN>] [-N <DisplayName>] [-O <path>] [-C <Version>] [-A] [-F] [-R] [-V] 

  • P Nome del profilo di posta/outlook 
  • L Percorso e file contenente la lista (Nome e LegacyExchangeDN) delle caselle da controllare
  • M Mailbox DN viene utilizzata con l'opzione -N (verifica solo la mailbox specificata)
  • N Display name, è utilizzato con -M (verifica solo la mailbox specificata)
  • O Output path (è possibile indicare il path in cui salvare il file di output contenente il report. Di default viene creato all'interno della cartella corrente)
  • C Versione per Office 2013 Click-to-Run scenario
  • A Esporta gli elementi del calendario in CALCHECK.CSV
  • F Crea la cartella CalCheck e vi sposta gli elementi corrotti
  • R Inserisce un messaggio di report in posta in arrivo con in allegato il file CalCheck.log
  • V Output dettagliato (Verbose output)
  • ? Visualizza le opzioni e informazioni su CalCheck.


Alla fine dell'analisi viene prodotto il file di report CalCheck.log in cui vengono riportati dettagli dell'analisi e gli eventuali errori riscontrati.


Il tool, in versione sia a 32 che a 64bit può essere scaricato dal seguente link
Download

NB: la versione a 64bit funziona solo con Office a 64bit

mercoledì 20 agosto 2014

MS Exchange: Visualizzare i Domain Controller utilizzati da Exchange utilizzando EMS

Exchange Server, tramite il servizio DSAccess (Directory Service Access), gestisce autonomamente il discovery dei domain controller presenti all'interno dell'infrastruttura. Il servizio si attiva circa ogni 15 min. e registra, nel log Applicazione, gli eventi MSExchange ADAccess con codice 2080 contenenti l'elenco dei DC trovati.


Evento MSExchange ADAccess
FIG 1 - Evento MSExchange ADAccess



In un'azienda può essere utile conoscere quali domain controller vengono utilizzati da Exchange, ad es., se vengono installati nuovi domain controller all'interno dell'infrastruttura potrebbe essere utile verificare se i server Exchange riescono a contattarli. 

Il cmdlet utile a tale scopo è Get-ExchangeServer.
Tramite Get-ExchangeServer è possibile visualizzare gli attributi di uno o tutti i server Exchange presenti all'interno dell'infrastruttura. Se ci interessa conoscere quali domain controller vengono utilizzati dai vari server Exchange presenti possiamo utilizzare il seguente comando:

Get-ExchangeServer -Status | FL Name,Current*

Il comando resitutisce i campi Name, CurrentDomainControllers, CurrentGlobalCatalogs e CurrentConfigDomainController che di seguito vedremo in dettaglio.

Name
Nome del server Exchange

CurrentDomainControllers
Indica i domain controller utilizzati per eseguire query LDAP alla porta 389

CurrentGlobalCatalogs
Indica i domain controller che hanno la funzione di Global Catalog utilizzati per eseguire query LDAP alla porta 3268

CurrentConfigDomainController
Indica il domain controller scelto per leggere/scrivere sulla Configuration Partition di Active Directory. La Configuration Partition viene modificata ogni volta che si effettua una modifica all'organizzazione di Exchange.


martedì 19 agosto 2014

Windows Quick Tip: Visualizzare la cartella di Esecuzione automatica in Windows

Per aprire velocemente la cartella Esecuzione automatica in Windows dalla finestra Esegui (WIN + R ) digitare il comando 
shell:startup

Questo comando è utile soprattutto in Windows 8 e Windows 8.1 per via della mancanza del classico menu Start

Windows Quick Tip: Collegamento a unità disco nella barra delle applicazioni


Se vogliamo inserire un collegamento ad un'unità disco sulla barra della applicazioni, possiamo procedere nel seguente modo: 

  • Assicuriamoci che sia abilitata la visualizzazione delle estensioni dei file. 
  • Cliccare con il tasto destro del mouse sul Desktop e, dal menu contestuale, selezionare Nuovo e Documento di testo.
  • Nominiamo il file in Disco.exe (sostituendo l'estensione .txt)
  • Clicchiamo con il tasto destro del mouse sul file appena creato e selezioniamo Aggiungi alla barra delle applicazioni
  • Tenendo premuto il tasto Shift clicchiamo con il tasto destro del mouse sull'icona appena aggiunta nella barra delle applicazioni.
  • Dal menu contestuale selezioniamo Proprietà
  • Nella scheda Collegamento, eliminiamo il contenuto della casella Destinazione e inseriamo la lettera dell'unità disco seguita da due punti e backslash (ad es. C:\ )
  • Confermiamo la modifica cliccando su OK

Collegamento al disco nella barra delle applicazioni
FIG 1 - Collegamento al disco nella barra delle applicazioni


giovedì 14 agosto 2014

Windows Quick Tip: Monitoraggio affidabilità


In Windows 7 e Windows 8/8.1 è incluso uno strumento poco conosciuto che consente di visualizzare e valutare eventuali problemi hardware e software presenti sulla macchina: Monitoraggio affidabilità.
Tale strumento fornisce anche un indice di stabilità compreso tra 1 (stabilità minima) e 10 (stabilità massima) consentendo, in questo modo, di valutare l'affidabilità del computer.

Per avviare tale strumento procedere nel seguente modo:

  • Posizionarsi sulla casella di ricerca (in Windows 7 basta premere il tasto WIN sulla tastiera, mentre in Windows 8/8.1 utilizzare la combinazione WIN + W)
  • Nella casella di ricerca digitare affidabilità
  • Cliccare su Visualizza cronologia affidabilità


A video apparirà la finestra di Monitoraggio affidabilità da cui è possibile visualizzare gli eventi relativi a problemi hardware/software. Cliccando sull'evento vengono visualizzati ulteriori dettagli e informazioni e, tramite gli appositi collegamenti posti in basso nella finestra, è possibile cercare una soluzione al problema o esportare le informazioni in un file XML. In alto è possibile vedere l'indice di affidabilità che può decrescere in caso di problemi di una certa gravità.


Monitoraggio affidabilità
FIG 1 Monitoraggio Affidabilità

mercoledì 13 agosto 2014

MS Exchange: Aggiornare la rubrica offline di Exchange tramite EMS


Può capitare, ad es. a seguito di modifica o creazione di massa di mailbox, di dover forzare la rigenerazione delle rubrica (o le rubriche) offline di Exchange (rubriche che vengono scaricate dai client outlook). Tale operazione è in genere schedulata per essere eseguita ogni giorno sul server tuttavia, per via dei ritardi con cui outlook sincronizza la rubrica offline (OAB), possono verificarsi disallineamenti anche superiori alle 24 ore.

Per forzare la rigenerazione della rubrica, possiamo utilizzare il seguente cmdlet tramite Exchange Management Shell (EMS):

Get-OfflineAddressBook | Update-OfflineAddressBook

una volta rigenerata la rubrica possiamo riavviare il servizio Background file transfer con il comando

Get-ClientAccessServer | Update-FileDistributionService

Ora non resta che forzare il client Outlook a scaricare l'Offline Address Book (OAB): In Outlook 2010/2013 cliccare sul menu Invia/Ricevi selezionare Gruppi di invio/ricezione quindi cliccare su Scarica rubrica...

Per scaricare una copia completa della rubrica rimuovere la spunta alla voce Scarica modifiche successive a ultima operazione di invio/ricezione

Windows Quick Tip: Eseguire defrag su tutti i volumi in parallelo


Generalmente il defrag avviene per un solo disco alla volta. Se vogliamo eseguire l'operazione su tutti i volumi in parallelo possiamo procedere nel seguente modo:

  • Avviamo il prompt dei comandi come amministratore
  • digitiamo ed eseguiamo il seguente comando 
    defrag /c /h /u /r

I parametri passati a defrag indicano quanto segue
/c esegue il comando su tutti i volumi;
/h esegue il comando impostando come priorità normale (di default il comando viene eseguito con priorità bassa);
/u visualizza lo stato dell'operazione a schermo;
/r esegue il comando in parallelo su più volumi;

martedì 12 agosto 2014

Windows Quick Tip: Eliminare cartelle da "Questo PC" in Windows 8.1

In Windows 8.1 Esplora file (conosciuto come Esplora Risorse nelle versioni precedenti di Windows) visualizza la cartella radice del computer con il nome Questo PC. Oltre al nome cambia anche il contenuto della cartella, infatti all'interno vengono visualizzate le cartelle Documenti, Immagini, Musica, Video, Desktop e Download che fino alla versione precedente del sistema operativo, erano riportare nelle sezioni Preferiti e Raccolte.
Possiamo eliminare tali cartelle da Questo PC agendo tramite l'editor di registro:
- Accediamo, tramite l'editor di registro, al seguente percorso
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace

Le sottochiavi sono stringhe GUID (Globally Unique Identifier), un numero a 128 bit rappresentato da una stringa esadecimale suddivisa in 5 blocchi. Per rimuovere una cartella all'interno di questo PC basta rimuovere il GUID corrispondente. Di seguito le corrispondenze cartella - GUID

Desktop:
{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}

Documenti:
{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0}

Download:
{374DE290-123F-4565-9164-39C4925E467B}

Immagini:
{3ADD1653-EB32-4cb0-BBD7-DFA0ABB5ACCA}

Musica:
{1CF1260C-4DD0-4ebb-811F-33C572699FDE}

Video:
{A0953C92-50DC-43bf-BE83-3742FED03C9C}


Windows 8.1: Questo PC
FIG 1 - Windows 8.1: Questo PC

Affinché le modifiche diventino effettive non è necessario riavviare.

Per chi non vuole mettere mano al registro di windows può scaricare i file .reg per la rimozione/ripristino delle cartelle da QUESTO PC utilizzando il seguente link
DOWNLOAD

Windows Quick Tip: Sovrascrivere dati eliminati con cipher.exe


Quando i dati (file o cartelle) vengono cancellati da un disco rigido o da una chiavetta USB in realtà non vengono definitivamente eliminati: lo spazio occupato dai dati viene semplicemente contrassegnato come libero in modo tale che il sistema operativo possa riutilizzarlo. Con apposite utility, se non sono stati sovrascritti, i dati eliminati possono essere recuperati.

Windows fornisce uno strumento che consente di sovrascrivere i dati eliminati in modo tale da non consentirne il recupero: cipher.exe.

Premere la combinazione di tasti WIN+R quindi digitare il seguente comando
cipher /w:drive_letter:

sostituendo drive_letter con la lettera del volume su cui si intende operare. Per poter funzionare cipher richiede che il file system sia NTFS.
Cipher provvederà a sovrascrivere lo spazio libero presente sul volume indicato e potrebbe richiedere molto tempo se lo spazio da sovrascrivere è di grandi dimensioni.

lunedì 11 agosto 2014

Windows Quick Tip: Disabilitare Bing per la ricerca integrata online in Windows 8.1

In Windows 8.1 una delle novità principali è rappresentata dall'integrazione fra il motore di ricerca locale e le informazioni provenienti da Internet. Quando si effettua una ricerca in Windows 8.1, oltre alla ricerca in locale sulla postazione, vengono recuperate, tramite Bing, anche informazioni da Internet e integrate nella pagina dei risultati. Come è facile immaginare questo può essere un problema per la sicurezza in particolare per le aziende.

Se vogliamo disabilitare tale impostazione possiamo procedere nel seguente modo:

- Dalla Charm bar (WIN + C) cliccare su Impostazioni;

- Cliccare su Modifica Impostazioni PC;

Impostazioni
FIG 1 - Impostazioni
- Selezionare la voce Ricerca e app nell'elenco di sinistra;


Ricerca e app
FIG 2 - Ricerca e app
- Nella sezione Ricerca disattivare l'opzione Usa Bing per la ricerca online 



Usa Bing per la ricerca online
FIG 3 - Usa Bing per la ricerca online 

Office Quick Tip: Aggiungere la calcolatrice nella barra di accesso rapido in Excel 2013

La calcolatrice di Windows può essere utile per effettuare calcoli veloci. Chi lavora con i  fogli di calcolo può, in alcune occasioni, avere la necessità di accedere velocemente alla calcolatrice per eseguire un calcolo 'al volo'.

In questo articolo vedremo come aggiungere un collegamento alla calcolatrice nella barra di accesso rapido di Excel 2013.

Clicchiamo sulla freccia della barra di accesso rapido (in altro a sinistra sulla barra del titolo). Verrà aperto il menu Personalizza barra di accesso rapido


Personalizza barra di accesso rapido
FIG 1 - Personalizza barra di accesso rapido

Dal menu selezionare la voce Altri comandi. Ci troveremo davanti alla finestra Opzioni di Excel mostrata in figura.


Opzioni di Excel
FIG 2 - Opzioni di Excel

Dal menu Scegli comandi da: selezionare Comandi non presenti sulla barra multifunzione. Dall'elenco selezionare Calcolatrice quindi cliccare sul tasto Aggiungi >> per aggiungere la nuova funzione alla Barra di accesso rapido e confermiamo l'operazione cliccando sul pulsante OK.


Opzioni di Excel: Calcolatrice
FIG 3 - Opzioni di Excel: Calcolatrice
Adesso sulla Barra di accesso rapido troveremo il link alla calcolatrice di Windows


Barra di accesso rapido
FIG 4 - Barra di accesso rapido





mercoledì 30 luglio 2014

MS Exchange: Rimuovere regola di posta in arrivo impostata sulla casella tramite EMS


Nell'articolo MS Exchange: Visualizzare le regole di posta in arrivo impostate sulla casella tramite EMS abbiamo visto come visualizzare le regole definite sulla posta in arrivo di una casella tramite Exchange Management Shell.
In questo articolo, sempre tramite EMS, vedremo come rimuovere una singola regola o tutte le regole di posta in arrivo definite sulla casella utilizzando il cmdlet Remove-InBoxRule.

Per eliminare una specifica regola di posta in arrivo definita su una casella possiamo utilizzare il seguente comando:

Remove-InBoxRule -Mailbox <casella_di_posta> -identity <nome_regola> -Confirm:$FALSE -Force

Al posto della casella di posta è possibile utilizzare l'Alias, Display Name, Dominio\account o Distinguished Name (DN). I parametri -Confirm:$FALSE e -Force forzano l'eliminazione della regola senza che venga visualizzata una richiesta di conferma.

ad es.
Remove-InBoxRule -Mailbox GLUBRANO -identity TEST -Confirm:$FALSE -Force

con il comando sopra illustrato eliminiamo la regola nominata TEST dalla casella GLUBRANO

Se invece vogliamo eliminare tutte le regole di posta in arrivo definite sulla casella:
Get-InboxRule -Mailbox <casella di posta> | Remove-InboxRule

ad es.
Get-InboxRule -Mailbox GLUBRANO | Remove-InboxRule -Confirm:$FALSE -Force

martedì 29 luglio 2014

MS Exchange: Visualizzare le regole di posta in arrivo impostate sulla casella tramite EMS


Tramite Exchange Management Shell (EMS) è possibile visualizzare le regole di posta in arrivo definite sulla casella utilizzando il cmdlet Get-InboxRule:
Get-InboxRule -Mailbox <casella_di_posta>

Al posto della casella di posta è possibile utilizzare l'Alias, Display Name, Dominio\account o Distinguished Name (DN)

ad es.
Get-InboxRule -Mailbox GLUBRANO
Get-InboxRule -Mailbox giovanni.lubrano@contoso.com
Get-InboxRule
FIG 1 - Get-InboxRule


Se vogliamo maggiori dettagli sulle regole possiamo utilizzare la Format List (fl)
Get-InboxRule -Mailbox <casella_di_posta> |fl

ad es.
Get-InboxRule -Mailbox GLUBRANO

e avremo un output dettagliato sulle regole del tipo mostrato di seguito


RunspaceId                            : 871f5e59-3e43-4f9d-8a6b-bd94ede79728
Description                           : If the message:
                                            the message was received from 'TEST@contoso.com'
                                        Take the following actions:
                                            move the message to folder 'TEST'
                                            and stop processing more rules on this message
                                        
Enabled                               : True
Identity                              : giovannilubrano.com/USERS/010/GLUBRANO\397942073027723265
InError                               : False
Name                                  : TEST@contoso.com
Priority                              : 1
RuleIdentity                          : 397942073027723265
SupportedByTask                       : True
BodyContainsWords                     : {}
ExceptIfBodyContainsWords             : {}
FlaggedForAction                      : 
ExceptIfFlaggedForAction              : 
FromAddressContainsWords              : {}
ExceptIfFromAddressContainsWords      : {}
From                                  : {"TEST@contoso.com" [SMTP:TEST@contoso.com]}
ExceptIfFrom                          : 
HasAttachment                         : False
ExceptIfHasAttachment                 : False
HasClassification                     : 
ExceptIfHasClassification             : 
HeaderContainsWords                   : {}
ExceptIfHeaderContainsWords           : {}
FromSubscription                      : 
ExceptIfFromSubscription              : 
MessageTypeMatches                    : 
ExceptIfMessageTypeMatches            : 
MyNameInCcBox                         : False
ExceptIfMyNameInCcBox                 : False
MyNameInToBox                         : False
ExceptIfMyNameInToBox                 : False
MyNameInToOrCcBox                     : False
ExceptIfMyNameInToOrCcBox             : False
MyNameNotInToBox                      : False
ExceptIfMyNameNotInToBox              : False
ReceivedAfterDate                     : 
ExceptIfReceivedAfterDate             : 
ReceivedBeforeDate                    : 
ExceptIfReceivedBeforeDate            : 
RecipientAddressContainsWords         : {}
ExceptIfRecipientAddressContainsWords : {}
SentOnlyToMe                          : False
ExceptIfSentOnlyToMe                  : False
SentTo                                : 
ExceptIfSentTo                        : 
SubjectContainsWords                  : {}
ExceptIfSubjectContainsWords          : {}
SubjectOrBodyContainsWords            : {}
ExceptIfSubjectOrBodyContainsWords    : {}
WithImportance                        : 
ExceptIfWithImportance                : 
WithinSizeRangeMaximum                : 
ExceptIfWithinSizeRangeMaximum        : 
WithinSizeRangeMinimum                : 
ExceptIfWithinSizeRangeMinimum        : 
WithSensitivity                       : 
ExceptIfWithSensitivity               : 
ApplyCategory                         : {}
CopyToFolder                          : 
DeleteMessage                         : False
ForwardAsAttachmentTo                 : 
ForwardTo                             : 
MarkAsRead                            : False
MarkImportance                        : 
MoveToFolder                          : TEST
RedirectTo                            : 
SendTextMessageNotificationTo         : {}
StopProcessingRules                   : True
MailboxOwnerId                        : giovannilubrano.com/USERS/010/GLUBRANO
IsValid                               : True


mercoledì 23 luglio 2014

Windows Quick Tip: Come rimuovere la scheda "Sicurezza" dalla finestra proprietà di un file o una cartella


In Windows per visualizzare le proprietà di un file o di una cartella possiamo accedere alla schermata delle Proprietà cliccando con il tasto destro del mouse sul file/cartella e selezionando dal menu contestuale la relativa voce.
La finestra Proprietà contiene anche una scheda (TAB) nominata Sicurezza. Questa scheda ci consente di impostare i permessi o cambiare il proprietario della cartella/file.

Se vogliamo impedire agli utenti di effettuare questo tipo di modifiche possiamo nascondere la scheda Sicurezza:

  • Dall'editor di registro accedere al seguente percorso
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
  • Creiamo un nuovo valore DWORD nominato NoSecurityTab e valorizziamolo a 1
Generalmente tale modifica è subito effettiva, in caso contrario disconnettersi e riconnettersi da windows, riavviare il sistema o riavviare il processo Explorer


Scheda Sicurezza
FIG. 1 Scheda Sicurezza



Scheda Sicurezza rimossa
FIG. 2 Scheda Sicurezza rimossa


Tale metodo funziona su tutte le versioni di Windows come Windows XP, Vista, Windows 7, 8 e 8.1.

Di seguito è possibile scaricare i 2 file .reg per abilitare/disabilitare la scheda sicurezza.
DOWNLOAD