mercoledì 18 giugno 2014

MFCMAPI: Spostare una cartella speciale (Posta in arrivo, Posta indesiderata, Posta eliminata ecc)

In alcuni casi mi è capitato, a causa di anomalie sulla casella di posta, che cartelle speciali e predefinite (come Posta indesiderata, Posta eliminata, Posta in arrivo, ecc) fossero state spostate all'interno di altre cartelle. Provando a spostare nella posizione corretta tali cartelle tramite outlook si riceve il messaggio Impossibile spostare gli elementi. Impossibile spostare le cartelle speciali e predefinite, ad esempio Posta in arrivo, Contatti, Calendario, Attività e Soluzioni.


Impossibile spostare gli elementi
FIG. 1 Impossibile spostare gli elementi


Come fare per riportare la cartella nella posizione standard?
La soluzione è tramite MFCMAPI. Microsoft Foundation Class MAPI (MFCMAPI) è un tool molto utilizzato per identificare/risolvere problemi in Outlook e su caselle di posta in Exchange. Il tool può essere scaricato gratuitamente da http://mfcmapi.codeplex.com/ e non richiede installazione.
Per spostare le cartelle speciali procedere nel seguente modo:

  1. Assicurarsi che Outlook sia configurato in cached mode, quindi chiudere il client di posta;
  2. Avviare MFCMAPI sul client dell'utente che presenta il problema;
  3. Dal menu Session selezionare Logon e, nel caso si disponga di più profili di Outlook, indicare il profilo che si intende caricare;
    FIG. 2 MFCMAPI
  4. Cliccare 2 volte sulla casella di posta, espandere la voce Radice - Cassetta postale;
  5. Espandere la cartella IPM_SUBTREE
  6. Localizzare la cartella che si intende spostare, cliccarci su con il tasto destro e selezionare Copy dal menu contestuale;
  7. Selezionare la cartella IPM_SUBTREE quindi cliccarci su con il tasto destro del mouse e selezionare Paste;
  8. Nella finestra successiva viene chiesto se si vuole copiare solo il contenuto della cartella. Non selezionare nulla e cliccare su OK;
    MFCMAPI: Paste folder contents only
    FIG. 3 MFCMAPI Paste folder contents only
  9. Selezionare l'opzione Move folder instead of copy e Copy Subfolders quindi cliccare su OK
MFCMapi Copy Subfolders, Move folder instead of copy
FIG. 4 MFCMAPI Copy Subfolders, Move folder instead of copy


martedì 17 giugno 2014

Outlook: Disabilitare il riquadro di lettura tramite policy


In alcune realtà aziendali potrebbe essere necessario disabilitare, prevalentemente per questioni di sicurezza, il riquadro di lettura di outlook.
Per outlook 2007 e successivi è possibile effettuare tale operazione tramite policy. Con la policy settata il riquadro di lettura non viene visualizzato e tutte le relative opzioni, pulsanti e comandi vengono disabilitati.

Utilizzando gli appositi template amministrativi per la propria versione di Office (ad es. Office 2010 Administrative Template files (ADM, ADMX/ADML)and Office Customization Tool oppure Office 2013 Administrative Template files (ADMX/ADML) and Office Customization Tool) è possibile impostare la policy tramite l'Editor Criteri di gruppo locali (gpedit.msc):in Microsoft Outlook > Opzioni di Outlook > Altro attivare la policy Non visualizzare il riquadro di lettura


Policy Non visualizzare il riquadro di lettura
Fig. 1 Policy Non visualizzare il riquadro di lettura


Attivazione Policy
Fig. 2 Attivazione Policy

Se si preferisce agire direttamente tramite registro è necessario creare/modificare il valore DWORD nominato disablereadingpane, presente all'interno delle chiavi di Outlook sotto Policies, impostandolo ad 1:



Outlook 2013
HKEY_CURRENT_USER\Software\Policies\Microsoft\office\15.0\Outlook\options
DWORD: disablereadingpane
Value: 1

Outlook 2010
HKEY_CURRENT_USER\Software\Policies\Microsoft\office\14.0\Outlook\options
DWORD: disablereadingpane
Value: 1

Outlook 2007
HKEY_CURRENT_USER\Software\Policies\Microsoft\office\12.0\Outlook\options
DWORD: disablereadingpane
Value: 1


Per chi non vuole editare il registro manualmente può scaricare il seguente file ed eseguire il file .reg in base alla versione di office installata.
Download


lunedì 16 giugno 2014

MS Exchange: Abilitare un utente in Full-Access su una casella di posta tramite EMS

In quest'articolo illustrerò come fornire i permessi di Full-Access su una casella di posta elettronica tramite Exchange Management Shell (EMS).
Il cmdlet per fornire i permessi in full access ad un utente su una casella di posta è Add-MailboxPermission.
La sintassi è la seguente:
Add-MailboxPermission <mailbox_da_condividere> -AccessRights FullAccess -user <utente_da_delegare>

ad es.
Add-MailboxPermission info@contoso.com -AccessRights FullAccess -user giovanni.lubrano@contoso.com
Add-MailboxPermission info@contoso.com -AccessRights FullAccess -user GLUBRANO


Al posto dell'indirizzo di posta primario è possibile utilizzare l'alias, il Distinguished Name (DN), dominio\account oppure l'Immutable ID.

AutoMapping
A partire da Exchange Server 2010 SP1 è stata introdotta una nuova funzionalità che consente ai client Outlook 2007 e successivi, tramite il servizio di individuazione automatica, di agganciare automaticamente le caselle di posta su cui l'utente è abilitato in Full-Access. Tale funzionalità è chiamata AutoMapping. Ciò può semplificare la vita all'utente che non deve configurarsi manualmente le caselle di posta condivise, tuttavia, se l'utente è abilitato in Full-Access ad un numero elevato di caselle, potrebbe comportarte un problema di prestazioni di Outlook. In Exchange 2010 SP1 non è in alcun modo possibile disattivare questa funzionalità mentre in Exchange 2010 SP2 è possibile disabilitarla utilizzando la shell.


Utilizzando l'opzione -AutoMapping con il cmdlet Add-MailboxPermission in EMS è possibile forzare l'abilitazione/disabilitazione di tale funzionalità quando deleghiamo un utente in full access su una casella di posta.

Per disabilitare l'AutoMapping
Add-MailboxPermission <mailbox_da_condividere> -AccessRights FullAccess -user <utente_da_delegare> -AutoMapping $FALSE

Per abilitare nuovamente l'automapping

Add-MailboxPermission <mailbox_da_condividere> -AccessRights FullAccess -user <utente_da_delegare> -AutoMapping $TRUE

Quando si forniscono i permessi in Full-Access su una casella con l'AutoMapping attivato, Exchange provvede:

  • a popolare l'attributo msExchDelegateListLink in Active Directory sull'account della casella condivisa (viene aggiunto l'utente delegato);
  • a popolare l'attributo MsExchDelegateListBL in AD sull'account dell'utente delegato. L'attributo contiene la casella di posta su cui l'utente è stato abilitato in full-access con AutoMapping attivo. Outlook interroga tale attributo per auto-configurare la casella di posta condivisa.


Tale processo funziona perfettamente nel caso di permessi assegnati individualmente agli utenti ma in molte aziende l'assegnazione di permessi viene gestita tramite gruppi e in questi casi l'AutoMapping non funziona. Quando un gruppo viene delegato in Full-Access su una casella i permessi vengono ereditati anche dai membri ma l'attributo msExchDelegateListBL viene modificato solo al gruppo e non ai suoi membri.
Un workaround a questo tipo di problema è quello di crearsi uno script che, passati come parametri la casella di posta e il gruppo, fornisce i permessi Full-Access a tutti gli utenti appartenenti al gruppo. Nel caso un utente venga aggiunto successivamente al gruppo in AD possiamo rieseguire lo script oppure abilitare singolarmente l'AutoMapping all'utente con il cmdlet Add-MailboxPermission e il paramentro -AutoMapping $True.


Se vogliamo abilitare più utenti in Full-Access su una casella di posta possiamo avvalerci di uno script. Lo script che illustrerò di seguito (Add-FullAccess.ps1) accetta come parametri la casella di posta da condividere e un file CSV contenente l'elenco degli utenti da abilitare in Full-Access sulla casella. Nello script viene forzata la disabilitazione dell'AutoMapping. Rimuovendo il parametro -AutoMapping $False o passandogli il valore $True, l'AutoMapping verrà attivato. Ovviamente è possibile modificare lo script in modo tale che possiamo decidere se abilitare o meno l'AutoMapping in base ad un apposito parametro passato nella chiamata allo stesso.


Esempio di utilizzo dello script:
c:\scripts\Add-FullAccess.ps1 info@contoso.com  c:\scripts\elenco.csv


param($Arg1,$Arg2)
Set-AdServerSettings -ViewEntireForest $true 
$csv = Import-Csv $Arg2 -Header @("UserToEnable")
foreach ($line in $csv) {    
 Add-MailboxPermission $Arg1 -AccessRights FullAccess -user $line.UserToEnable -AutoMapping $False
} 

Per quanto riguarda lo script per abilitare l'AutoMapping a tutti gli utenti appartenenti ad un gruppo possiamo creare uno script a cui passare, tramite parametri, la mailbox da condividere e il nome del gruppo. Lo script provvederà ad abilitare l'AutoMapping a tutti gli utenti appartenenti al gruppo

ad es.
c:\scripts\Add-FullAccessGroup.ps1 info@contoso.com  GruppoAD


param($Arg1,$Arg2)
Set-AdServerSettings -ViewEntireForest $true 
$DL = Get-distributiongroupmember $Arg2 | Select-Object -ExpandProperty Name
foreach ($MEMBER in $DL ) {
 Add-MailboxPermission $Arg1 -AccessRights FullAccess -User $MEMBER -AutoMapping $True
}
I più pigri possono scaricare i 2 script tramite il link sottostante
Download Scripts

sabato 14 giugno 2014

Outlook: Modificare i criteri di archiviazione degli elementi in Outlook


I criteri utilizzati dall'archiviazione automatica di outlook variano a seconda del tipo di elemento da archiviare:

Messaggio di posta elettronica
il messaggio di posta elettronica viene archiviato in base alla data di ricezione o di ultima modifica, a seconda di quale è successiva.

Elementi del calendario
L'elemento del calendario (appuntamento, evento o riunione programmata) viene archiviato in base alla data di ultima modifica o la data effettiva dell'appuntamento, a seconda di quale è successiva.

Attività
Le attività vengono archiviate in base alla data di completamento o dell'ultima modifica , a seconda di quale è successiva. Le Attività non contrassegnate come completate non vengono archiviate mentre le attività assegnate ad altri utenti sono archiviate solo se lo stato è completato.

Note
Le note vengono archiviate in base alla data di ultima modifica.

Voce di diario
Le voci presenti nel diario vengono archiviate in base alla data  in cui vengono create o dell'ultima modifica, a seconda di quale è successiva.

Contatti
I Contatti non vengono archiviati dall'archiviazione automatica.

É possibile modificare il modo in cui l'archiviazione automatica archivia gli elementi andando a modificare una chiave di registro.

Per Outlook 2013 creare un valore DWORD con valore 1 e nominarlo ArchiveIgnoreLastModifiedTime all'interno della chiave
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Preferences

DWORD Value: ArchiveIgnoreLastModifiedTime
Value data: 1

Per le versioni precedenti di outlook la chiave è la stessa, basta sostituire il numero della versione con quella effettivamente installata:
Outlook 2010 
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\Preferences
Outlook 2007
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\Preferences 


Dopo aver creato e configurarto il valore del Registro di sistema ArchiveIgnoreLastModifiedTime , Outlook archivierà gli elementi nel seguente modo:

Messaggio di posta elettronica
I messaggi di posta elettronica vengono archiviate in base alla data di ricezione.

Elementi del calendario
Gli elementi del calendario vengono archiviate in base alla data effettiva programmata per un appuntamento, un evento o una riunione.

Attività
Le attività vengono archiviate in base alla data di completamento.

Note
Le note vengono archiviare in base alla data dell'ultima modifica.

Voce di diario
Le voci del diario vengono archiviate in base alla data di creazione.

Contatti 
Non archiviati.

venerdì 13 giugno 2014

Recuperare elementi di posta cancellati da file PST

Nel caso in cui abbiate cancellato innavvertitamente e in modo permanente (SHIFT+CANC) alcuni elementi di posta importanti o svuotato la cartella Posta eliminata all'interno di un file PST sappiate che c'è ancora una possibilità per recuperarli.

Un file PST è un database. Gli elementi di posta non sono altro che record del database in cui è presente un indice contenente i puntatori a ciascun elemento. Quando viene svuotata la cartella Posta eliminata o vengono eliminati definitivamente elementi di posta all'interno del file PST, viene semplicemente eliminato il relativo puntatore presente all'interno dell'indice e l'elemento viene contrassegnato come whitespace (spazio bianco/vuoto). Gli elementi cancellati sono ancora presenti all'interno del database (ecco perché le dimensioni di un file PST non si riducono quando cancellate gli elementi contenuti) ma sono irraggiungibili, pertanto non visualizzabili, in quanto Outlook non conosce la loro posizione. Quando si effettua la compattazione del file PST, gli elementi cancellati vengono effettivamente eliminati riducendo le dimensioni del file. Generalmente quando la percentuale dei whitespace all'interno di un file PST raggiunge la percentuale del 20%, Outlook inizia la compattazione del file. Per recuperare gli elementi cancellati è necessario forzare la creazione dell'indice del file PST attraverso la corruzione del file. In pratica andremo a corrompere volutamente l'indice presente all'interno del file PST tramite un editor esadecimale dopodiché ne forziamo la ricostruzione tramite il tool SCANPST fornito con il pacchetto office.

Per recuperare gli elementi eliminati da un file PST procediamo nel seguente modo:

  • Chiudere Outlook (nel caso il file pst sia ancora connesso al client di posta);
  • Effettuare una copia di backup del file PST originale;
  • Procurarsi un editor esadecimale. Nel mio caso ho utilizzato la versione portable di HxD (è possibile scaricarlo da http://mh-nexus.de/en/downloads.php?product=HxD) che, oltre ad essere stato tradotto in moltissime lingue tra cui l'italiano, è anche free.
  • Avviare l'editor esadecimale ed aprire il file PST contenente gli elementi da recuperare;
  • A partire dalla posizione 07 alla 13 sostituire i valori con 20 (spazio) come mostrato nelle seguenti figure;

Editor Esadecimale: cifre esadecimale da modificare
Fig. 1 Editor Esadecimale: cifre esadecimale da modificare



Editor Esadecimale: cifre esadecimali modificate
Fig. 2 Editor Esadecimale: cifre esadecimali modificate


  • Una volta terminata l'operazione, salvare il file. A questo punto  è necessario procedere alla riparazione del file tramite SCANPST. Il percorso del tool varia a seconda della versione di office e del sistema operativo (se a 32 o 64bit) installato. Di solito questi sono i percorsi dove si trova SCANPST:

Outlook 2013
Windows 32-bit e Office 32-bit C:\Programmi\Microsoft Office\Office15
Windows 64-bit e Office 32-bit C:\Programmi(x86)\Microsoft Office\Office15
Windows 64-bit e Office 64-bit C:\Programmi\Microsoft Office\Office15

Outlook 2010
Windows 32-bit e Office 32-bit C:\Programmi\Microsoft Office\Office14
Windows 64-bit e Office 32-bit C:\Programmi(x86)\Microsoft Office\Office14
Windows 64-bit e Office 64-bit C:\Programmi\Microsoft Office\Office14

Outlook 2007
Windows 32-bit C:\Programmi\Microsoft Office\Office12
Windows 64-bit C:\Programmi (x86)\Microsoft Office\Office12

Outlook 2003
Windows 32-bit  C:\Programmi\Common Files\System\MSMAPI\<locale ID>
Windows 64-bit  C:\Programmi (x86)\Common Files\System\MSMAPI\<locale ID>

Outlook 2002/XP
C:\Programmi\Common Files\System\MAPI\<locale ID>\scanpst.exe

Outlook 2000
C:\Programmi\Common Files\System\MAPI\<locale ID>\NT\scanpst.exe

Outlook 97 / Outlook 98
C:\Programmi\Common Files\Windows Messaging\scanpst.exe


dove <locale ID> è un numero che identifica la lingua di office.

Una volta avviato SCANPST dobbiamo indicare il file che vogliamo analizzare utilizzando il tasto Sfoglia, quindi avviamo l'analisi tramite il tasto Avvia.


SCANPST
Fig. 3 SCANPST


L'analisi di file di grandi dimensioni e altamente compromessi potrebbe richiedere anche delle ore. Dopo le 8 fasi di analisi del file, SCANPST visualizza un resoconto sul numero di cartelle e elementi trovati inoltre viene chiesto all'utente se effettuare una copia di backup del file prima di procedere alla riparazione. Il file di backup non è altro che una copia del file pst a cui viene cambiata l'estensione in .bak. Se abbiamo effettuato la copia di backup precedentemente, possiamo togliere la spunta alla relativa opzione e proseguire cliccando su Correggi.


SCANPST richiesta di backup
Fig. 4 SCANPST richiesta di backup

Al termine verrà visualizzato un messaggio di operazione conclusa, viene generato un file di log e aprendo il file pst tramite outlook dovremmo trovare tutti gli elementi che erano stati cancellati dal file pst.

giovedì 12 giugno 2014

MS Exchange:verificare Exchange ActiveSync, MAPI, OWA, POP o IMAP su una cassetta postale tramite EMS

Nell'articolo MS Exchange: abilitare/disabilitare Exchange ActiveSync, MAPI, OWA, POP o IMAP per una cassetta postale tramite EMS abbiamo visto come attivare alcune caratteristiche sulla casella di posta tramite il comando Set-CASMailbox da Exchange Management Shell (EMS).

E se volessimo verificarne solo lo stato attualmente impostato sulla casella?

Niente di più semplice. Basta utilizzare il comando Get-CASMailbox e indicare la casella di posta (tramite indirizzo di posta, user id o alias).

ad es.
Get-CASMailbox giovanni.lubrano@contoso.com
Get-CASMailbox <user_ID>

get-mailbox <user_id>
Fig. 1 Get-CASMailbox <user_id>

con gli esempi sopra indicati si ottiene, in output, la situazione sullo stato di Exchange ActiveSync, MAPI, OWA, POP e IMAP.



Se invece ci interessa solo una delle caratteristiche possiamo utilizzare la seguente sintassi:

Get-CASMailbox UserName@DomainName |fl PopEnabled
Per visualizzare se il protocollo POP è attivo sulla casella

Get-CASMailbox UserName@DomainName |fl OWAEnabled
Per visualizzare se l'accesso tramite OWA è abilitato sulla casella

Get-CASMailbox UserName@DomainName |fl ImapEnabled
Per visualizzare se il protocollo IMAP è attivo sulla casella

get-CASMailbox UserName@DomainName |fl MapiEnabled
Per visualizzare se il protocollo MAPI è attivo sulla casella

get-CASMailbox UserName@DomainName |fl ActiveSyncEnabled
Per visualizzare se Active Sync è attivo sulla casella


Fig. 2 Get-CASMailbox

That's all

mercoledì 11 giugno 2014

Windows 8.1: Salvare copie di backup con Cronologia File

Windows 8.1 consente di effettuare backup periodici dei file presenti nelle cartelle principali dell'utente. É possibile anche salvare più versioni dello stesso file in modo tale da poter scegliere quale versione ripristinare in caso di problemi.

Colleghiamo un'unità esterna al PC come una pendrive o un hard disk esterno

Accediamo al Pannello di Controllo di Windows (WIN+I e selezionare Pannello di Controllo).



Pannello di controllo
Fig. 1 Pannello di Controllo

In Sistema e Sicurezza clicchiamo su Salva copie di Backup dei file con Cronologia file.


Cronologia file
Fig. 2 Cronologia File

A questo punto Windows cercherà un unità in cui salvare il backup. Se abbiamo più unità selezioniamo quella su cui vogliamo effettuare il backup e clicchiamo sul relativo pulsante Attiva.

Cliccando su Impostazioni avanzate possiamo scegliere la frequenza di salvataggio dei file, la dimensione della cache offline e se mantenere le versioni salvate inoltre, in tale schermata, possiamo accedere al registro eventi per verificare se si sono verificati dei problemi durante il salvataggio.


Impostazioni avanzate
Fig. 3 Impostazioni avanzate



Per ripristinate i file basta accedere, sempre da Pannello di Controllo, a Salva copie di Backup dei file con Cronologia file e cliccare su Ripristina i file personali. Nella nuova finestra bisogna selezionare le cartelle che vogliamo ripristinare quindi, cliccando con il tasto destro del mouse sulle cartelle selezionate, scegliere dal menu contestuale la voce Ripristina.

Ripristina i file personali
Fig. 4 Ripristina i file personali