Abilitare e disabilitare ActiveSync per utenti membri di un gruppo AD (Exchange 2010 SP1)

Postato il

MS_Exchange_ActiveSyncPer impostazione predefinita, su Exchange 2010, il protocollo ActiveSync è abilitato, quindi tutti gli utenti che dispongono di una mailbox, e conoscono  i parametri di connessione, possono sincronizzare i propri smartphone con la mailbox aziendale, presente sul server Microsoft Exchange.
Finqui tutto nella norma almeno che non si vogliano rivedere le politiche aziendali di sicurezza e abilitare solo alcuni utenti all’utilizzo della mail aziendale sul proprio smartphone personale, avendo così un controllo più granulare.
Sul protocollo ActiveSync è possibile eseguire le seguenti attività :

  • Abilitare e disabilitare Exchange ActiveSync per singoli utenti
  • Impostare criteri quali la lunghezza minima della password, il blocco del dispositivo e il numero massimo di tentativi di immissione della password non riusciti.
  • Avviare la cancellazione remota per cancellare tutti i dati da un telefono cellulare perduto o rubato.
  • Eseguire numerosi rapporti per la visualizzazione o l’esportazione in un rapporto di segnalazione

Però la gestione di ActiveSync da Exchange non prevede la possibilità di gestione per gruppi se non un’abilitazione generale di protocollo ON/OFF oppure abilitazione/disabilitazione su singolo utente.
Esistono, fortunatamente, metodi e script per gestire l’abilitazione dell’ActiveSync per utenti appartenenti ad un gruppo di Active Directory e disabiltarlo invece per gli utenti che non ne fanno parte.
Il primo step, in una realtà aziendale già in essere, è quello di estrapolare una lista, che contenga gli utenti che hanno un mobile phone associato alla propria mailbox, e che quindi utilizzano l’ActiveSync.
Dal server di Exchange lanciamo questi comandi (copia/incolla) dalla “Exchange Management Shell” che estrapolano una lista contenente i dispositivi ActiveSync associati ad una mailbox:

$ActiveSyncDevices = @()
$mbx = get-casmailbox -ResultSize Unlimited | ?{$_.hasactivesyncdevicepartnership -eq $true}
ForEach ($Mailbox in $mbx) {
Get-ActiveSyncDeviceStatistics -Mailbox  $Mailbox.Identity –ErrorAction SilentlyContinue  | Select DeviceFriendlyName, Devicetype, DeviceModel, DeviceOS, DeviceUserAgent | ForEach-Object { $_ | Add-Member –MemberType NoteProperty -Name “MailboxIdentity” -value $Mailbox;
$ActiveSyncDevices += $_ }
}
$ActiveSyncDevices | select DeviceType, DeviceModel, DeviceOS, MailboxIdentity | ft -Autosize >c:\temp\Activesync_list.txt

Nella file di testo vengono visualizzati, con le opzioni impostate sopra,  il tipo di device, il modello, il sistema operativo e la mailbox associata. come da figura:

activesync

Successivamente occorre creare in Active Directory un gruppo, che chiameremo “ActiveSyncAllow”, e inserirvi gli utenti presenti nella lista estrapolata.
Infine sul sito technet trovate questo utilissimo script powershell Set-ActiveSyncEnabled.ps1 che appunto abilitata all’ActiveSync solo utenti appartenti al gruppo “ActiveSynvAllow” mentre lo disabilitarà per quegli utenti che non ne fanno parte.
Lo script va editato inserendo il nome del gruppo che nel nostro caso è “ActiveSyncAllow” (in rosso) e lanciato dal server Exchange utilizzando la “Windows PowerShell Modules”, che caricherà i moduli richiesti dalla script per lanciare comandi su Exchange.
Lo script si manda in esecuzione digitando  il comando  .\Set-ActiveSyncEnabled.ps1

PowerShell
<# 
    .SYNOPSIS 
        Disable ActiveSync for all users NOT in AD group and enable it for all users in that same group 
    .DESCRIPTION 
        Disable ActiveSync for all users NOT in AD group and enable it for all users in that same group 
    .PARAMETER 
    .INPUTS 
    .OUTPUTS 
    .EXAMPLE 
    .NOTES 
        NAME:  Set-ActiveSyncEnabled.ps1 
        AUTHOR: Charles Downing 
        LASTEDIT: 06/20/2012 
        KEYWORDS: 
    .LINK 
#> 

# Add Exchange Admin module 
If ((Get-PSSnapin | where {$_.Name -match "Exchange.Management"}) -eq $null) 
{ 
    Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin 
} 

# Assign ALL USERS to a dynamic array 
$allUsers = get-Mailbox -ResultSize:unlimited 

# Assign all members of the ALLOWED GROUP to a dynamic array 
$groupUsers = Get-DistributionGroupMember -Identity ActiveSyncAllow

# Loop through array of all users 
foreach ($member in $allUsers)  
{ 
    $str = "" 

    #get CAS attributes for current user 
    $mailbox = Get-CasMailbox -resultsize unlimited -identity $member.Name 

    #determine if current user is member of allowed group 
    if(($groupUsers | where-object{$_.Name -eq $member.Name})) 
    { 
        #if user already has ActiveSync enabled, do nothing 
        if ($mailbox.ActiveSyncEnabled -eq "true") 
        { 
            $str += "Current - enabled - "  
        } 
        #if user does not have ActiveSync enabled, enable it 
        else 
        { 
            $member | Set-CASMailbox –ActiveSyncEnabled $true 
            $str += "Enabled - " 
        } 
    } 
    #if user is not member of allowed group, disable ActiveSync 
    else 
    { 
        if ($mailbox.ActiveSyncEnabled -eq "true") 
        { 
            $member | Set-CASMailbox –ActiveSyncEnabled $false 
            $str = "Disabled - " 
        } 
        else 
        { 
            $str += "Current - disabled - " 
        } 
    } 

    $str += $mailbox.Name + "`n" 
    echo $str 
}

Lo script mostrerà, nella finestra powershell,  l’avanzamento dell’ abilitazione o meno all’activesync degli utenti.
Al termine troveremo che gli utenti appartenenti al nostro gruppo “ActiveSyncAllow” avranno il protocollo ActiveSync abilitato, mentre gli utenti non membri del gruppo saranno disabilitati all’ActiveSync.
E’ possibile poi creare un flusso di autorizzazione all’activesync per gli utenti, inserendoli semplicemente nel gruppo e lanciando lo script che può essere schedulato per esempio, per essere eseguito giornalmente.
Ecco un esempio di schedulazione per lanciare lo script tramite la powershell con l’opzione “Windows PowerShell Modules”.

schedule_activesync

IZ

 

 

 

 

Lascia un commento

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

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...