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
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:
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).