Visualizzazione post con etichetta Exchange Management Shell. Mostra tutti i post
Visualizzazione post con etichetta Exchange Management Shell. Mostra tutti i post

lunedì 27 aprile 2020

MS Exchange: Aggiungere una foto all'account utente tramite EMS

Nell'articolo MS Exchange: Rimuovere la foto associata all'account utente tramite EMS è stato mostrato come rimuovere la foto di un utente tramite Exchange Management Shell e il cmdlet Remove-UserPhoto. In questo articolo vedremo, invece, l'operazione opposta ovvero quella di associare una foto all'account utente tramite EMS. Il cmdlet utilizzato allo scopo è Set-UserPhoto. Con tale comando la foto verrà memorizzata all'interno dell'account di Active Directory dell'utente e nella directory radice della casella di posta di Exchange. Gli utenti possono comunque caricare, visualizzare in anteprima e salvare una foto utente nel proprio account utilizzando la pagina Opzioni di Outlook sul Web oppure da Outlook accedendo al menu File e, nella sezione Informazioni, cliccando sul link Cambia presente sotto la foto (si veda FIG 1).



MS Exchange, foto associata all'account utente
FIG 1 - MS Exchange, foto associata all'account utente

Sintassi


Set-UserPhoto
   [-Identity] <MailboxIdParameter>
   [-Cancel]
   [-Confirm]
   [-GroupMailbox]
   [-DomainController <Fqdn>]
   [-IgnoreDefaultScope]
   [-PhotoType <String>]
   [-WhatIf]

   [<CommonParameters>]

Set-UserPhoto
   [-Identity] <MailboxIdParameter>
   -PictureData <Byte[]>
   [-Confirm]
   [-DomainController <Fqdn>]
   [-GroupMailbox]
   [-IgnoreDefaultScope]
   [-PhotoType <String>]
   [-WhatIf]

   [<CommonParameters>]

Set-UserPhoto
   [-Identity] <MailboxIdParameter>
   [-PictureData <Byte[]>]
   [-PictureStream <Stream>]
   [-Preview]
   [-Confirm]
   [-DomainController <Fqdn>]
   [-GroupMailbox]
   [-IgnoreDefaultScope]
   [-PhotoType <String>]
   [-WhatIf]

   [<CommonParameters>]

Set-UserPhoto
   [-Identity] <MailboxIdParameter>
   -PictureStream <Stream>
   [-Confirm]
   [-DomainController <Fqdn>]
   [-GroupMailbox]
   [-IgnoreDefaultScope]
   [-PhotoType <String>]
   [-WhatIf]

   [<CommonParameters>]

Set-UserPhoto
   [-Identity] <MailboxIdParameter>
   [-Save]
   [-Confirm]
   [-DomainController <Fqdn>]
   [-GroupMailbox]
   [-IgnoreDefaultScope]
   [-PhotoType <String>]
   [-WhatIf]

   [<CommonParameters>]



Parametri

-Cancel
Consente di eliminare la foto attualmente caricata come anteprima.

-Confirm
Consente di specificare se mostrare o nascondere la richiesta di conferma.

-DomainController
Il parametro permette di specificare il controller di dominio utilizzato da questo cmdlet. Il domain controller va specificato come FQDN (Fully Qualified Domain Name). Ad esempio ServerDC01.mycompany.com. 

-PhotoType
Questo parametro è riservato all'uso interno da parte di Microsoft.

-GroupMailbox
Il parametro è necessario per modificare i gruppi di Office 365. 

-Identity
Tale parametro specifica la mailbox/account dell'utente su cui si desidera intervenire. Al parametro può essere passato un qualsiasi valore che identifica la mailbox in maniera univoca come:
GUID
Distinguished name (DN)
Dominio\Account
Nome dell'entità utente
LegacyExchangeDN
SamAccountName
Indirizzo SMTP
Alias 

-IgnoreDefaultScope
L'opzione IgnoreDefaultScope indica al comando di ignorare l'impostazione dell'ambito dei destinatari predefinita per la sessione di Exchange Management Shell e di utilizzare l'intera foresta come ambito. In questo modo, il comando consente di accedere a oggetti di Active Directory che non sono attualmente disponibili nell'ambito predefinito.
L'utilizzo di tale parametro presenta le seguenti restrizioni:
  • Non è possibile utilizzare il parametro DomainController. Il comando utilizza automaticamente un server di catalogo globale appropriato.
  • È possibile utilizzare solo il DN per il parametro Identity. Non vengono accettate altre forme di identificazione, ad esempio alias o GUID.


-PictureData
Il parametro PictureData consente di specificare il file di foto che verrà caricato nell'account dell'utente. Questo parametro utilizza la sintassi ([System. IO. file]:: ReadAllBytes ("<nome file e percorso>"))

-PictureStream
Il parametro PictureStream specifica la foto che deve essere caricata sull'account utente. Questo parametro viene utilizzato dalle applicazioni client come Outlook sul Web quando gli utenti aggiungono una foto. Per caricare una foto tramite PowerShell, utilizzare il parametro PictureData per specificare il file di foto.

-Preview
L'opzione Preview consente di caricare una foto di anteprima per l'account utente. La foto di anteprima è l'oggetto Photo caricato nell'account dell'utente, ma non viene salvato. Ad esempio, se un utente carica una foto nelle opzioni di Outlook sul Web per visualizzare un'anteprima prima di salvarla. Se si utilizza l'opzione Anteprima per caricare una foto di anteprima, è necessario eseguire il comando Set-UserPhoto -Save per salvarlo come foto dell'utente.

-Save
L'opzione Save consente di specificare che la foto caricata sull'account utente verrà salvata come foto utente.

-WhatIf
L'opzione WhatIf consente di simulare le azioni del comando. È possibile utilizzare tale opzione per visualizzare le modifiche che verrebbero applicate senza effettivamente applicarle. Con questa opzione non è necessario specificare alcun valore.



Esempi


Esempio 1
Set-UserPhoto -Identity GLUBRANO -PictureData ([System.IO.File]::ReadAllBytes("C:\Foto.jpg"))
Viene caricata e salvata la foto specificata sull'account utente GLUBRANO.

Esempio 2
Set-UserPhoto -Identity GLUBRANO -Cancel

Esempio 3
Set-UserPhoto -Identity GLUBRANO -PictureData ([System.IO.File]::ReadAllBytes("C:\Foto.jpg")) -Preview; Set-UserPhoto GLUBRANO -Save
Questo esempio mostra come utilizzare due comandi per caricare e salvare l'anteprima di una foto sull'account utente di GLUBRANO. Con il primo comando viene caricata una foto di anteprima nell'account utente mentre il secondo comando Salva la foto caricata come anteprima della foto.



venerdì 29 marzo 2019

MS Exchange: Visualizzare i permessi di una cartella presente sulla mailbox tramite EMS

Chi gestisce un'infrastruttura di posta elettronica può trovarsi spesso nella situazione di dover verificare permessi assegnati ad una particolare cartella presente in una mailbox. In ambiente MS Exchange Server tale operazione può essere eseguita con l'ausilio del cmdlet Get-MailboxFolderPermission tramite EMS (Exchange Management Shell).

Get-MailboxFolderPermission  [-Identity] <MailboxFolderIdParameter> [-DomainController <Fqdn>]   [-User <MailboxFolderUserIdParameter>]    [-GroupMailbox]   [<CommonParameters>]


Parametri

-DomainController
Il parametro consente di specificare il Domain Controller a cui far riferimento per reperire dati dall'Active Directory. Il dominio va specificato nel formato FQDN (Fully Qualified Domain Name) ad es. dc02.contoso.com

-GroupMailbox
Il parametro è utilizzato per includere nei risultati i gruppi di Office 365.

-Identity
Tale parametro specifica la mailbox e la cartella su cui si intendono verificare le abilitazioni. La sintassi è del tipo  <Mailbox>:\<Folder>. Per <Mailbox> può essere specificato un qualsiasi valore che identifica la mailbox in maniera univoca come:
GUID
Distinguished name (DN)
Dominio\Account
Nome dell'entità utente
LegacyExchangeDN
SamAccountName
Indirizzo SMTP
Alias 

-User
Il parametro User filtra i risultati visualizzando solo le abilitazioni dell'utente indicato. Anche in questo caso è possibile utilizzare qualsiasi valore che permetta l'identificazione univoca dell'utente/gruppo come:
Nome
Display name
Alias
Distinguished name (DN)
Canonical DN
Indirizzo email
GUID




Esempi


Esempio 1
Get-MailboxFolderPermission  -identity GLUBRANO
Per visualizzare i permessi sulla root della mailbox.


Esempio 2
Get-MailboxFolderPermission  -identity GLUBRANO:\Calendario
o per maggiori dettagli
Get-MailboxFolderPermission  -identity GLUBRANO:\Calendario |FL
Visualizza i permessi sulla cartella Calendario della casella dell'utente GLUBRANO
Get-MailboxFolderPermission
FIG 1 - Get-MailboxFolderPermission

Esempio 3
Get-MailboxFolderPermission  -identity GLUBRANO:\Calendario -User DDUCK
Visualizza i permessi che l'utente DDUCK dispone sulla cartella Calendario presente nella mailbox dell'utente GLUBRANO.




martedì 12 febbraio 2019

MS Exchange: Visualizzare le categorie definite su una casella di posta tramite EMS

Tramite le categorie colore è possibile raggruppare, organizzare e identificare rapidamente gli elementi di posta di proprio interesse. E' possibile scegliere tra un insieme di categorie predefinite o crearne di personalizzate e assegnare più categorie colore ad un singolo elemento di posta.

Per visualizzare le categorie colore definite su una mailbox tramite EMS (Exchange Management Shell) si utilizza il cmdlet Get-MessageCategory. La sintassi del comando è la seguente
Get-MessageCategory -Mailbox <userID o indirizzo_mailbox>

Ad es.
Get-MessageCategory -Mailbox GLUBRANO

Get-MessageCategory -Mailbox giovanni.lubrano@contoso.com

L'output del comando visualizzerà tutte le categorie definite sulla mailbox specificata e sarà analogo a quello visualizzato in FIG 1 dove si evidenzia il campo Name che rappresenta il nome assegnato alla categoria e il campo Color che rappresenta il codice identificativo del colore.

Get-MessageCategory, visualizzare le categorie definite sulla mailbox
FIG 1 - Get-MessageCategory, visualizzare le categorie definite sulla mailbox




giovedì 16 agosto 2018

MS Exchange: Verificare ed eliminare regole di inoltro automatico impostate sulla mailbox utilizzando EMS

Negli articoli

è stato già mostrato come verificare la presenza di regole impostate sulla mailbox e come procedere alla loro disabilitazione e alla loro rimozione. In questo articolo verrà mostrato, invece, come individuare un particolare tipo di regole che inoltra i messaggi in arrivo ad un'altra mailbox.

Per verificare se su una mailbox è presente una regola di inoltro è possibile utilizzare il seguente comando in Exchange Management Shell (EMS)
Get-InboxRule -Mailbox <casella_di_posta>|fl Name,Identity,ForwardTo,ForwardAsAttachmentTo


MS Exchange, verificare la presenza di regole di inoltro presenti sulla mailbox
FIG 1 - MS Exchange, verificare la presenza di regole di inoltro presenti sulla mailbox

Il comando mostra tutte le regole di posta in arrivo presenti sulla mailbox specificata. Se i campi ForwardTo e/o ForwardAsAttachmentTo sono valorizzati allora si tratta di una regola di inoltro. Prendere nota del nome della regola e utilizzare il cmdlet Remove-InBoxRule come indicato di seguito per rimuoverla
Remove-InboxRule -Mailbox <casella_di_posta> -Identity <nome_regola>
MS Exchange, rimuovere la regola di inoltro definita sulla mailbox
FIG 2 - MS Exchange, rimuovere la regola di inoltro definita sulla mailbox


venerdì 18 maggio 2018

MS Exchange: Verificare la regola di posta indesiderata impostata su una casella di posta tramite EMS

Per visualizzare la configurazione della regola di posta indesiderata di una mailbox è possibile utilizzare il cmdlet Get-MailboxJunkEmailConfiguration tramite Exchange Management Shell.
La sintassi del comando è la seguente:
Get-MailboxJunkEmailConfiguration [-Identity] <MailboxIdParameter> [-Credential <PSCredential>] [-DomainController <Fqdn>] [-ReadFromDomainController] [-ResultSize <Unlimited>][<CommonParameters>]

Parametri principali


Identity
Il parametro identity permette di specificare la casella di posta che si intende verificare. Al parametro può essere passato il Display name, l'Alias, il Distinguishe name (DN), l'indirizzo email, l'User ID o l'User Principal Name (UPN). E' possibile anche utilizzare i carattery jolly (*) per identificare più caselle di posta.

Credential
Permette di specificare le credenziali, usename e password, con cui eseguire il comando. Generalmente tale parametro viene utilizzato all'interno degli script o quando si ha la necessità di utilizzare credenziali di un utente abilitato ad eseguire l'operazione.

DomainController
Permette di specificare il Domain Controller che il comando dovrà interrogare per recuperare le informazioni da Active Directory.

ReadFromDomainController
Il parametro consente di specificare che le informazioni devono essere lette da un controller di dominio nel dominio dell'utente.

ResultSize
Permette di indicare il numero massimo di oggetti da restituire. Il valore di default è 1000 se si intende visualizzare tutti gli oggetti al parametro va passato il valore Unlimited.



Esempi


Esempio 1
Get-MailboxJunkEmailConfiguration GLUBRANO
oppure
Get-MailboxJunkEmailConfiguration -Identity GLUBRANO
Visualizza la configurazione della regola di posta indesiderata relativa alla mailbox specificata.
Get-MailboxJunkEmailConfiguration, Visualizzare configurazione regola posta indesiderata
FIG 1 - Get-MailboxJunkEmailConfiguration, Visualizzare configurazione regola posta indesiderata

Esempio 2
Get-MailboxJunkEmailConfiguration -Identity * | Where {$_.Enabled -eq $false}
Visualizza la configurazione della regola di posta indesiderata per tutte le mailbox su cui la regola è disabilitata.




martedì 15 maggio 2018

MS Exchange: Individuare quali cmdlet sono disponibili per gli amministratori di Exchange Online

Microsoft Exchange Online può essere gestito da riga di comando tramite Exchange Online PowerShell. Anche se la maggior parte dei cmdlet disponibili per gli amministrazioni di Exchange Online possono essere utilizzati con la versione locale di Exchange Server, esistono circa 40 cmdlet che possono essere utilizzati esclusivamente con la versione online.

Per recuperare facilmente l'elenco dei cmdlet disponibili, eseguire il comando Get-Module da Exchange Management Shell. Il comando restituirà l'elenco di tutti i moduli al momento caricati nell'istanza di Windows PowerShell.

Exchange Management Shell, Get-Module
FIG 1 - Exchange Management Shell, Get-Module

In FIG 1 il modulo tmp_n1nnov4v.dpv è quello relativo ad Exchange Online. Il modulo non è installato localmente nel computer ma viene generato dinamicamente ogni volta che ci si connette ad Exchange Online. Proprio perché generato dinamicamente, il nome del modulo cambia ad ogni connessione ad Exchange Online ma è facilmente identificabile in quanto inizia sempre per "tmp".
Conoscendo il nome del modulo è possibile utilizzarlo con il parametro -Module del comando Get-Command come indicato di seguito per avere l'elenco di tutti i cmdlet di Exchange Online
Get-Command -Module "tmp_n1nnov4v.dpv"

Trattandosi di un elenco di 490 cmdlet è possibile eseguire la redirezione dell'output verso un file tramite l'operatore > con il comando
Get-Command -Module "tmp_n1nnov4v.dpv" > c:\ElencoCmdlet.txt
oppure utilizzare il comando More, come indicato di seguito, per visualizzare una schermata alla volta
Get-Command -Module "tmp_n1nnov4v.dpv" | More

Get-Command, visualizzare l'elenco dei cmdlet disponibili
FIG 2 - Get-Command, visualizzare l'elenco dei cmdlet disponibili

Se si intende visualizzare solo un determinato sottoinsieme di cmdlet è possibile filtrarli tramite il parametro -Name e il carattere Jolly (*). 
Ad es. per visualizzare i cmdlet il cui nome inizia per Enable si utilizza il comando
Get-Command -Name "Enable*" -Module "tmp_n1nnov4v.dpv" 

Get-Command, ricerca tra i cmdlet disponibili
FIG 3 - Get-Command, ricerca tra i cmdlet disponibili




martedì 20 marzo 2018

MS Exchange: Visualizzare la configurazione di trasporto dell'intera infrastruttura

Per visualizzare la configurazione delle impostazioni di trasporto globali applicate all'interno della propria organizzazione si utilizza il cmdlet Get-TransportConfig.
Il cmdlet va eseguito da Exchange Management Shell (EMS). 

La sintassi del comando è la seguente:
Get-TransportConfig [-Identity <OrganizationIdParameter>] [-DomainController <Fqdn>]



Esempi


Esempio 1
Get-TransportConfig
Se eseguito su un Mailbox Server visualizzerà la configurazione di trasporto globale mentre nel caso venga eseguito su un server di Trasporto Edge verrà visualizzata la configurazione di trasporto del solo computer locale.
MS Exchange, Get-TransportConfig
FIG 1 - MS Exchange, Get-TransportConfig


Esempio 2
Get-TransportConfig |Select MaxReceiveSize
Eseguito su un Mailbox Server visualizza la dimensione massima per i messaggi ricevuti impostato per l'intera organizzazione.






lunedì 5 marzo 2018

MS Exchange: Creare una cartella all'interno della propria mailbox tramite EMS

MS Exchange mette a disposizione il cmdlet New-MailboxFolder per la creazione di cartelle nella propria mailbox tramite Exchange Management Shell (EMS). Tale cmdlet non può essere utilizzato dagli amministratori per la creazione di cartelle su altre mailbox al di fuori di quella personale.

La sintassi del comando è la seguente:
New-MailboxFolder  -Parent <MailboxFolderIdParameter> -Name <String>


Parametri principali


Parent
Al parametro Parent va passata la mailbox e la cartella nella quale si intende creare la nuova cartella. Nel caso in cui la cartella padre non venga specificata, il cmdlet crea la nuova cartella nella root della casella. Se il nome della cartella padre contiene spazi va racchiuso tra apici. La mailbox può essere indicata tramite il nome, il Display Name, l'Alias, il Distinguished Name, l'indirizzo di posta o Id utente.

Name
Il  parametro Name consente di specificare il nome da assegnare alla nuova cartella. Nel caso in cui il nome contenga spazi va racchiuso tra apici.



Esempi


Esempio 1
Per creare una nuova cartella nella root della mailbox si può utilizzare il comando
New-MailboxFolder -Parent GLUBRANO -Name Personal
Dove GLUBRANO indica la mailbox e Personal rappresenta il nome da assegnare alla nuova cartella.


Esempio 2
Per creare una nuova cartella all'interno di una cartella già esistente si può utilizzare il comando
New-MailboxFolder -Parent GLUBRANO:\"Posta in arrivo" -Name Personal
Come si evince dal comando, al parametro Parent viene passata la mailbox e il nome della cartella padre, racchiuso tra apici in quanto contiene spazi, in cui creare la nuova cartella Personal.

New-MailboxFolder, creare una nuova cartella all'interno della mailbox
FIG 1 - New-MailboxFolder, creare una nuova cartella all'interno della mailbox




venerdì 2 marzo 2018

MS Exchange: Verificare la versione di Exchange in esecuzione nella propria organizzazione

In un organizzazione può rivelarsi utile conoscere le versioni di MS Exchange in esecuzione sui server al fine di allineare/aggiornare i sistemi.
Per visualizzare il numero di build per le versioni di MS Exchange 2013/2016 in esecuzione sulla propria infrastruttura si può utilizzare il cmdlet Get-ExchangeServer in Exchange Management Shell (EMS).

Il comando da eseguire per visualizzare i server Exchange con relativa versione è il seguente:
Get-ExchangeServer | Format-List Name, Edition, AdminDisplayVersion


Visualizzare il numero di build dei server MS Exchange
FIG 1 - Visualizzare il numero di build dei server MS Exchange

Per visualizzare un elenco riepilogativo con tutti gli attributi di tutti i server Exchange presenti nell'infrastruttura si utilizza il comando
Get-ExchangeServer | Format-List


Per visualizzare le informazioni su uno specifico server Exchange, al cmdlet Get-ExchangeServer va passato il parametro Identity seguito dal nome del server di proprio interesse
Get-ExchangeServer -Identity SrvExc01 | Format-List




giovedì 1 marzo 2018

MS Exchange: Verificare le impostazioni delle risposte automatiche sulle caselle di posta tramite EMS

Per verificare le impostazioni delle risposte automatiche (Fuori sede) sulle caselle di posta, MS Exchange mette a disposizione il cmdlet Get-MailboxAutoReplyConfiguration da utilizzare in Exchange Management Shell (EMS).

Tramite il parametro Identity è possibile specificare la casella sulla quale effettuare la verifica. Il seguente comando, eseguito in Exchange Management Shell, restituirà le impostazioni della risposta automatica sulla casella specificata giovanni.lubrano@contoso.com
Get-MailboxAutoReplyConfiguration -identity giovanni.lubrano@contoso.com | FL


Tra le impostazioni restituite troviamo:
  • Se la risposta automatica è abilitata (Enabled), pianificata (Scheduledo disabilitata (Disabled);
  • Data di inizio e fine in cui verrà inviata la risposta automatica;
  • Se i mittenti esterni ricevono la risposta automatica (nessuno, mittenti noti o tutti);
  • Messaggio di risposta automatica da inviare ai mittenti interni ed esterni.

Per verificare se la risposta automatica è abilitata , disabilitata  o schedulata si può interrogare esclusivamente lo stato di AutoReplyState utilizzando il comando
Get-MailboxAutoReplyConfiguration -identity giovanni.lubrano@contoso.com | FL AutoReplyState


MS Exchange, Verifica attivazione Risposte automatiche (Fuori sede)
FIG 1 - MS Exchange, Verifica attivazione Risposte automatiche (Fuori sede) 

Se si intende verificare le impostazioni solo sulle mailbox dell'infrastruttura su cui è attiva la risposta automatica si può utilizzare il comando
Get-Mailbox | Get-MailboxAutoReplyConfiguration | Where-Object { $_.AutoReplyState -eq "Enabled" }





mercoledì 17 gennaio 2018

MS Exchange: Ricerca all'interno delle Public Folders utilizzando EMS

Per recuperare gli attributi di una cartella o un insieme di cartelle pubbliche in Exchange Management Shell (EMS) è disponibile il cmdlet Get-PublicFolder.
Il cmdlet può essere utilizzato da solo oppure insieme ad uno o più parametri di seguito elencati.

Parametri principali


GetChildren
Permette di specificare se restituire solo gli elementi figlio della cartella specificata da -Identity. Non può essere utilizzato con il parametro Recurse.

Identity
Il parametro Identity permette di specificare una determinata public folder. Consente di indicare anche il path utilizzando il formato \TopLevelPublicFolder\PublicFolder.

Recurse 
Il parametro recurse specifica che il comando restituirà la cartella pubblica indicata e tutti i sui figli.

Mailbox
Il parametro Mailbox consente di specificare l'identità della casella di posta di cartelle pubbliche gerarchica. Il parametro accetta l'Alias, il Display Name, il Distinguished Name (DN) o il Domain\Account.

ResultSize
Con ResultSize è possibile specificare il numero massimo di risultati da restituire. Il valore massimo predefinito è 10.000. Se non si intende impostare alcun limite al numero di risultati restituiti, al parametro va passato il valore Unlimited. Resultsize può essere specificato solo con i parametri Recurse o GetChildren.


Esempi


Esempio 1
Get-PublicFolder
Il cmdlet senza parametri restituisce la cartella pubblica radice (IPM_SUBTREE).

Esempio 2
Get-PublicFolder -Identity "\Agenzia1\Documenti\Legale"
Il comando restituisce la cartella pubblica Legale presente in \Agenzia1\Documenti\. Per visualizzare anche il contenuto delle sottocartelle di Legale è possibile utilizzare il parametro -Recurse come indicato di seguito
Get-PublicFolder -Identity "\Agenzia1\Documenti\Legale" -Recurse

Esempio 3
Get-PublicFolder -Mailbox "Ufficio1" -ResidentFolders
Restituisce le cartelle pubbliche che risiedono nella cartella pubblica della casella Ufficio1.

Esempio 4
Get-PublicFolder -recurse -resultsize unlimited | where {$_.name -like "sala*"}
Ricerca le cartelle il cui nome inizia per sala all'interno delle cartelle pubbliche.


Get-PublicFolder, ricerca cartelle pubbliche
FIG 1 - Get-PublicFolder, ricerca cartelle pubbliche




mercoledì 8 novembre 2017

MS Exchange: Visualizzare lo stato delle code dei messaggi utilizzando EMS

Exchange Management Shell mette a disposizione il cmd-let Get-Queue per visualizzare lo stato delle code dei messaggi relative ai server mailbox e di trasporto. Il cmd-let è utile per verificare che il flusso dei messaggi all'interno dell'organizzazione non presenti intoppi o colli di bottiglia evidenziando il numero di email ancora da processare. La sintassi del comando è la seguente:

Get-Queue [-Filter <String>] [-Server <ServerIdParameter>]
oppure
Get-Queue [-Identity <QueueIdentity>]

Parametri principali


Exclude
Permette di specificare il tipo di code da escludere dai risultati. Accetta le proprietà InternalExternal o una delle proprietà DeliveryType (DeliveryAgentDnsConnectorDeliveryNonSmtpGatewayDeliverySmartHostConnectorDelivery) per filtrare le code.

Include
Consente di specificare il tipo di code da includere nei risultati. Accetta le stesse proprietà viste per Exclude.

Filter
Il parametro Filter viene utilizzato per specificare una o più code utilizzando la sintassi del filtro OPath: nome di una proprietà della coda seguito da un operatore di confronto e da un valore. Ad es. {NextHopDomain -eq "contoso.com"}

Identity
Tale parametro consente di specificare la coda da interrogare. Al parametro va passata in input la coda da visualizzare nel formato Server\coda, ad es. Server1\contoso.com



Esempi


Esempio 1
Get-Queue | FL
Visualizza informazioni dettagliate su tutte le code.

Esempio 2
Get-Queue -Exclude Internal
Visualizza solo le code che non hanno il valore Internal all'interno della proprietà NextHopCategory

Esempio 3

Get-Queue -Filter {MessageCount -gt 50}
Permette di elencare solo le code che contengono più di 50 messaggi.

Esempio 4

Get-Queue Server1\contoso.com | FL
Visualizza informazioni dettagliate sulla coda esistente sul server Server1.



martedì 3 ottobre 2017

MS Exchange: Recuperare l'elenco dei dispositivi mobili sincronizzati con la casella di posta tramite EMS

Per recuperare l'elenco dei dispositivi mobili, configurati per sincronizzarsi con una casella di posta, tramite Exchange Management Shell (EMS) si utilizza il cmdlet Get-MobileDeviceStatistics.

La sintassi del comando è la seguente
Get-MobileDeviceStatistics -Identity <MobileDeviceIdParameter>
oppure
Get-MobileDeviceStatistics -Mailbox <MailboxIdParameter>


Parametri Principali

  • Identity
    Tale parametro è obbligatorio a meno che non venga utilizzato il parametro Mailbox,  in tal caso verrà ignorato. Il parametro consente di specificare l'ID del dispositivo dell'utente da analizzare.

  • Mailbox
    Tale parametro è obbligatorio a meno che non venga utilizzato il parametro Identity. Consente di recuperare le statistiche dei device mobili sincronizzati con la casella di posta specificata.

  • ActiveSync 
    Il parametro ActiveSync consente di specificare se restituire le statistiche per Microsoft Exchange ActiveSync o per la sincronizzazione di altri dispositivi mobili.

  • GetMailboxLog
    Se impostato su $true permette di specificare se inviare i registri della casella di posta tramite email all'amministratore che esegue l'attività.

  • NotificationEmailAddresses
    Se GetMailboxLog è impostato su $true, con tale parametro è possibile specificare un indirizzo o un elenco di indirizzi di posta separati da virgola a cui verranno inviati i registri della casella di posta analizzata. Con GetMailboxLog impostato su $false tale parametro verrà ignorato.

  • ShowRecoveryPassword
    Se impostato su $true, il comando restituisce la password di ripristino per il telefono cellulare.


Esempio:
Get-MobileDeviceStatistics -Mailbox giovanni.lubrano@contoso.com
Con tale comando vengono visualizzate informazioni e statistiche relative ai dispositivi mobili che si sincronizzano con la casella giovanni.lubrano@contoso.com

MS Exchange, Get-MobileDeviceStatistics
FIG 1 - MS Exchange, Get-MobileDeviceStatistics 




martedì 16 maggio 2017

MS Exchange: Rimuovere la foto associata all'account utente tramite EMS

Per rimuovere una foto associata ad un'account utente in ambiente MS Exchange 2013/2016 è possibile agire tramite EMS (Exchange Management Shell) utilizzando il cmdlet Remove-UserPhoto. La sintassi del comando è la seguente

Remove-UserPhoto -identity <IdentificativoMailbox>

oppure

Remove-UserPhoto -ClearMailboxPhotoRecord <SwitchParameter> -Identity <IdentificativoMailbox>

MS Exchange, foto associata all'account utente
FIG 1 - MS Exchange, foto associata all'account utente


Parametri principali


Identity
Il parametro Identity specifica l'identità dell'account utente. Il parametro accetta un qualsiasi valore che consenta di identificare l'account in modo univoco come:
GUID
Nome distinto (DN)
Dominio\Account
Nome dell'entità utente
LegacyExchangeDN
SamAccountName
Indirizzo SMTP
Alias 


ClearMailboxPhotoRecord
Il parametro ClearMailboxPhotoRecord è disponibile solo per il servizio basato su cloud e indica che la foto eliminata da una casella di posta viene considerata vuota anziché rimossa. Non è necessario specificare un valore per questa opzione.



Esempi


Esempio 1
Remove-UserPhoto -identity GLUBRANO
Elimina la foto associata all'account GLUBRANO

Esempio 2
Remove-UserPhoto -identity giovanni.lubrano@contoso.com -Confirm:$false
Rimuove la foto associata all'account identificato dall'indirizzo giovanni.lubrano@contoso.com senza chiedere conferma prima di procedere.



martedì 18 aprile 2017

MS Exchange: Riparare una casella di posta danneggiata

A partire da Exchange 2010 SP1 è stato introdotto il cmdlet New-MailboxRepairRequest che consente di rilevare e correggere problemi presenti su una casella di posta. Il comando può essere eseguito su una specifica casella di posta oppure su un intero database.

La riparazione della casella/database avviene online: non è più necessario procedere al dismount del database per la riparazione. L'accesso alla casella viene interrotto solo durante la sua riparazione. Nel caso in cui il comando venga eseguito su un intero database, l'accesso viene interrotto solo sulla casella in fase di riparazione mentre le altre continueranno ad essere accessibili.

La sintassi  è la seguente:
New-MailboxRepairRequest -Mailbox <MailboxIdParameter> [-Archive <SwitchParameter>] -CorruptionType <MailboxCorruptionType[]> [-Confirm [<SwitchParameter>]]

oppure

New-MailboxRepairRequest -Database <DatabaseIdParameter> [-StoreMailbox <StoreMailboxIdParameter>] -CorruptionType <MailboxCorruptionType[]> [-Confirm [<SwitchParameter>]]


Parametri Principali


  • CorruptionType
    Tale parametro è obbligatorio e consente di specificare il tipo di problema che si intende rilevare e correggere. I valori accettati sono
    SearchFolder  : Verifica e ripara la cartella di ricerca.
    AggregateCounts : Verifica che i conteggi di aggregazione sulle cartelle riflettano valori corretti.
    ProvisionedFolder : Verifica e ripara la struttura delle cartelle.
    FolderView :Verifica e ripara le viste delle cartelle che non restituiscono il contenuto corretto.

    Per specificare più tipi di errori che si intendono correggere basta indicarli separandoli con una virgola.

  • Database
    È obbligatorio specificare tale parametro a meno che non venga indicata una determinata casella. Come è facile intuire, tale parametro permette di specificare il database su cui eseguire il comando. In tale caso la ricerca e riparazione verranno eseguite su tutte le caselle presenti all'interno del database specificato. Per questioni di prestazioni è possibile avere attiva una sola richiesta di riparazione database.
    Non è possibile utilizzare questo parametro insieme al parametro Mailbox.
    Al parametro va passato il nome del database oppure il GUID.

  • Mailbox
    Il parametro Mailbox specifica la casella di posta su cui eseguire questo comando. Il parametro accetta uno dei seguenti valori:
    GUID
    Nome distinto (DN)
    Dominio\Account
    Nome dell'entità utente
    LegacyExchangeDN
    Indirizzo SMTP
    Alias

    Non è possibile utilizzare tale parametro insieme al parametro Database.

  • Archive
    Il parametro Archive indica che la verifica e la riparazione vanno eseguite sull'archivio online associato alla casella di posta specificata. Se il parametro non viene indicato, verrà verificata e riparata solo la casella di posta principale.
    Non è possibile utilizzare questo parametro insieme al parametro Database.

  • StoreMailbox
    Tale parametro consente di specificare il GUID della mailbox che si desidera ripristinare. Va utilizzato con il parametro Database. Per conoscere il GUID di una casella di posta eseguire il cmdlet Get-MailboxStatistics.

  • DetectOnly
    Il parametro DetectOnly indica che il comando deve segnalare gli errori senza correggerli.


Esempi


Esempio 1
New-MailboxRepairRequest –Mailbox giovanni.lubrano@contoso.com –CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView
Il comando esegue la verifica e la riparazione della mailbox specificata (giovanni.lubrano@contoso.com). Come si nota dal comando, al parametro CorruptionType sono stati passati tutti i valori possibili separati da una virgola.
New-MailboxRepairRequest, richiesta di riparazione mailbox
FIG 1 - New-MailboxRepairRequest, richiesta di riparazione mailbox


Esempio 2
New-MailboxRepairRequest -Mailbox giovanni.lubrano@contoso.com -CorruptionType SearchFolder -DetectOnly
Con tale comando vengono rilevati e segnalati eventuali problemi sulla cartella di ricerca. Non viene effettuata alcuna riparazione della casella di posta.


Esempio 3
New-MailboxRepairRequest -Database DB01 -CorruptionType FolderView
Il comando permette di rilevare e riparare gli errori di tipo FolderView su tutte le caselle che risiedono sul database DB01.


Esempio 4
New-MailboxRepairRequest -Mailbox giovanni.lubrano@contoso.com -CorruptionType ProvisionedFolder, SearchFolder, AggregateCounts, Folderview -Archive
Il comando permette di rilevare e riparare tutti i tipi di errori sull'archivio online connesso alla casella di posta indicata.



Output

Il cmdlet New-MailboxRepairRequest non restituisce alcun output sull'esito dell'operazione. Una volta lanciato il comando questo viene accodato ad eventuali altre richieste. Per visualizzare informazioni sull'esito dell'operazione è possibile procedere in 2 modi: tramite il registro eventi di Windows oppure utilizzando il cmdlet Get-MailboxRepairRequest.
  • Tramite registro eventi
  • Per visualizzare l'esito dell'operazione tramite il registro eventi è necessario aprire il registro Applicazione del registro eventi sul Server Exchange dove risiede la casella di posta. All'interno del registro è necessario ricercare gli eventi che hanno come origine la dicitura MSExchangeIS Mailbox. All'interno dell'evento la mailbox viene indicata con il GUID. L'ID evento varia a seconda dell'esito dell'operazione:
    ID EventoDescrizione
    10044La richiesta di ripristino delle cassette postali non è riuscita per le cartelle di provisioning. Questo ID evento viene creato insieme all'ID evento 10049.
    10045La richiesta di ripristino del database non è riuscita per le cartelle di provisioning. Questo ID evento viene creato insieme all'ID evento 10049.
    10046La richiesta di ripristino delle cartelle di provisioning è stata completata.
    10047La richiesta di ripristino a livello di cassetta postale è stata avviata.
    10048La richiesta di ripristino del database o della cassetta postale è stata completata.
    10049La richiesta di ripristino del database o della cassetta postale non è riuscita perché Exchange ha rilevato un problema a livello di database o un'altra attività è in esecuzione nel database. Per risolvere il problema, fare quanto segue:
    1. Eseguire nuovamente il comando.
    2. Se il problema persiste, eseguire Eseutil (Utilità database Exchange Server) per verificare la presenza di errori nell'unità.
    3. Eseguire Microsoft Exchange Troubleshooting Assistant v1.1 (ExTRA) con la proprietà tagISINTEG. Salvare le informazioni di tracciamento del registro ExTRA e contattare il servizio di supporto Microsoft.
    10050Non è stato possibile eseguire la richiesta di ripristino nel database perché quest'ultimo non supporta la tipologia di errore specificata nel comando. Questo problema può verificarsi se si esegue il comando da un server su cui è installata una versione di Exchange successiva a quella del database analizzato.
    10051La richiesta di ripristino del database è stata annullata perché il database è stato disinstallato.
    10059La richiesta di ripristino a livello di database è stata avviata.
    10062Sono stati rilevati dati danneggiati. Controllare i dettagli nel registro di ripristino per individuare il tipo di errore e se è stato corretto.


  • Tramite Get-MailboxRepairRequest
    Con MS Exchange 2013 è stato introdotto il cmdlet Get-MailboxRepairRequest che consente di reperire informazioni sull'esito/stato di una richiesta di riparazione.
    La sintassi è molto semplice
    Get-MailboxRepairRequest -Identity <StoreIntegrityCheckJobIdParameter>
    Get-MailboxRepairRequest -Database <DatabaseIdParameter>
    Get-MailboxRepairRequest -Mailbox <MailboxIdParameter>

    Con il parametro Identity va indicato un GUID complesso generato nel momento della richiesta (Il formato è <DatabaseGuid>\<RequestGuid>\<JobGuid>) mentre con i parametri Mailbox e Database vanno indicati rispettivamente la mailbox e il database su cui è stata effettuata la richiesta di riparazione.
    Get-MailboxRepairRequest, reperire l'esito della richiesta di riparazione
    FIG 2 - Get-MailboxRepairRequest, reperire l'esito della richiesta di riparazione

    Per visualizzare maggiori dettagli è possibile formattare l'output con Format-List ad es.
    Get-MailboxRepairRequest -Mailbox giovanni.lubrano@contoso.com |fl

    GetMailboxRepairRequest, maggiori informazioni con Format-List
    FIG 3 - GetMailboxRepairRequest, maggiori informazioni con Format-List