Archivi tag: EMS

Usare la Exchange Management Shell in remoto su Office 365

ems-cloud Vorreste usare la Exchange management shell anche su Office 365?

Può capitare di voler usare i comandi Powershell che normalmente utilizzate nella gestione del vostro Exchange “on premise” anche nella versione in cloud. Ma come si accede con powershell ad Office365?

Anzitutto salvate nella variabile $UserCredential le vostre credenziali di accesso amministrativo ad Office 365:

$UserCredential = Get-Credential

Ora lanciate il comando ed attendete che la sessione venga creata:

$SessioneO365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection

Una volta creata la connessione, per accedere alla sessione remota su Office 365 digitate:

Import-PSSession $SessioneO365 -DisableNameChecking

Se tutto è andato bene lanciando il seguente comando otterete:

PS C:\Windows\system32> Get-Recipient | Where-Object {($_.RecipientType -eq “UserMailbox”)}

Name                             RecipientType
----                             -------------
Utente 1                         UserMailbox
Utente 2                         UserMailbox
Utente 3                         UserMailbox

Attenzione:

A fine lavoro non lasciate la sessione aperta ma rimuovetela col comando:

Remove-PSSession $SessioneO365

Se poi volete anche accedere alle risorse di Office365 installate il modulo MSonline. Questo il comando:

[PS] C:\Windows\system32>Install-Module MSOnline

Archivio non attendibile
Stai installando i moduli da un archivio non attendibile. Se ritieni attendibile questo archivio, modifica il relativo
valore InstallationPolicy eseguendo il cmdlet Set-PSRepository. Vuoi installare i moduli da 'PSGallery'?
[S] Sì  [T] Sì a tutti  [N] No  [U] No a tutti  [O] Sospendi  [?] Guida (il valore predefinito è "N"): S

Quindi per connettersi:

[PS] C:\Windows\system32>Connect-MsolService -Credential $UserCredential

Per testarne il funzionamento si potrà usare il comando Get-MsolUser ottenendo:

[PS] C:\Windows\system32>Get-MsolUser | select UserPrincipalName, DisplayName

UserPrincipalName               DisplayName
-----------------               -----------
mrossi@acme.onmicrosoft.com     Mario Rossi
ebianchi@acme.onmicrosoft.com   Enzo Bianchi
pneri@acme.onmicrosoft.com      Paolo Neri
imarroni@acme.onmicrosoft.com   Ilaria Marroni

Se il comando Install-Module vi da errore sappiate che esso è disponibile solo dalla versione 3 di powershell. Per verificare che versione di Powershell e di Windows avete lanciate:

$PSVersionTable.PSVersion
(Get-WmiObject Win32_operatingsystem).caption
(Get-WmiObject Win32_operatingsystem).OSarchitecture

se in corrispondenza della colonna Major avrete un risultato <5.1 allora bisognerà installare una versione più recente del Windows Management Framework.

Ecco il link:

https://docs.microsoft.com/it-it/powershell/wmf/5.1/install-configure

Oppure per versioni più vecchie puoi installare il PackageManagement PowerShell Modules:

https://www.microsoft.com/en-us/download/confirmation.aspx?id=51451&6B49FDFB-8E5B-4B07-BC31-15695C5A2143=1

Attenzione: se lanciando un comando remoto ricevete l’errore:

Exception : System.Management.Automation.RemoteException: The syntax is not supported by this runspace.
This can occur if the runspace is in no-language mode.

c’è un problema con le policy che permettono l’esecuzione degli script Powershell. Chiudete la sessione col comando suindicato e verificatele col comando Get-ExecutionPolicy -List. Settatele poi secondo esigenza col comando Set-ExecutionPolicy (per testare potete usare il comando Set-ExecutionPolicy bypass che permette l’esecuzione di tutti gli script).

Annunci

Come vedere rapidamente le dimensioni in GB delle cassetta postali di Exchange con la EMS

Find username Avete la necessità di controllare le dimensioni della casella postale di uno o più utenti in modo rapido nel vostro Exchange?

Potete usare la EMS (Exchange Management Shell)!

Ecco come fare:

$Totale=0;(get-mailbox)| where-object {$_.LinkedMasterAccount -ne "NT AUTHORITY\SELF"}| select-object -property @{Name="Utente";Expression={$_.Name}},@{Name="GB";Expression = {"{0:N2}" -f ((get-mailbox $_.Alias|Get-MailboxStatistics).Totalitemsize.value.tomb()/1024)}},@{Name="Limite";Expression={$_.ProhibitSendReceiveQuota}} | sort-object GB -Descending;(get-mailbox)| % { $Totale+=((get-mailbox $_.Alias|Get-MailboxStatistics).Totalitemsize.value.tomb()/1024)};write-host ;write-host "Totale cassette (in GB):"([math]::Round($Totale))

Questo il risultato:

Utente          GB          Limite
------          --          ------
Valerio         9,52         12GB
Antonio         5,41          6GB
Leonardo        4,92          6GB
Emanuele        3,52          5GB
Salvatore       2,59          8GB

Totale cassette (in GB): 25,96