Website-Icon Specialization is for insects

Office 365 mit Powershell

Nach frühen zaghaften versuchen einen Exchange Server in der Version 2010 über Powershell zu verwalten (man braucht Hobbies) geht das doch sicher auch mit Microsoft Office 365.

Voraussetzung:
1) Windows PC (oder eine virtualisierte Version)
2) der Microsoft Online Services-Anmelde-Assistent – Download hier
3) einen Neustart von Windows
4) der einmalige Befehlt „Set-ExecutionPolicy RemoteSigned“ als Admin auf der Powershell ausgeführt – Dient dazu Windows PowerShell für das Ausführen von signierten Skripts zu aktivieren

und schon gehts in zwei kleinen Schritten los – vorsicht, hohes Potential der Vernichtung von Mailboxen und Mails:

1) Powershell starten und Login/Password eingeben: $Login = Get-Credential

2) Bei Office365 einloggen:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Login -Authentication Basic -AllowRedirection
Import-PSSession $Session

Wenn das soweit funktioniert hat steht die Verbindung ins jeweilige Microsoft Datacenter und los gehts auf der Powershell – guter Test ist immer mal „get-mailbox“

Was mach ich dann weiter in dieser Session?
Eine Auswahl sinnvoller Commandlets findet sich mit Googles Hilfe – ansonsten auch hier:
Get-help – zeigt Hilfe zum Commandlet, also get-help get-mobiledevice
Get-Mailbox -Identity joerg@sahlmann.com | fl
– wirft mal alle wesentlichen Informationen zur Mailbox aus
Get-AcceptedDomain – zeigt alle Domains an die für diese Office365 Instanz konfiguriert sind
Get-Mailbox -resultsize unlimited | Get-MailboxStatistics | ft displayname, lastlogontime – wer hat sich wann zuletzt eingeloggt?

Wer hat Zugriff auf meinen Kalender?
Get-MailboxFolderPermission -Identity joerg@sahlmann.com:\Kalender

Wer hat Zugriff (Full Access) auf welche Mailbox?
$mailbox= Get-Mailbox -ResultSize Unlimited
$mailbox | Get-MailboxPermission | ? {$_.Accessrights -match "FullAccess" -and $_.User -notlike "NT AUTHORITY\SELF" -and $_.user -like "*USER*"} | FT identity,user,Accessrights -AutoSize

Abwesenheitsassistent
Ein/Ausschalten mit Set-MailboxAutoReplyConfiguration joerg@sahlmann.com -AutoReplyState Enabled bzw. AutoReplyState Disabled
anschauen mit Get-MailboxAutoReplyConfiguration -identity joerg@sahlmann.com
Abwesenheitsassistenzen setzen mit:
Set-MailboxAutoReplyConfiguration joerg@sahlmann.com –AutoReplyState Scheduled –StartTime “1/1/2015”-EndTime „2/2/2015″ –ExternalMessage “Sehr geehrte Damen und Herren<br>ich bin bis 2.2.2015 im Urlaub.<br>Mit freundlichem Gruss“ –InternalMessage “Servus<br>ich bin bis 2.2.2015 im Urlaub<br>Gruss“
Mobile Devices

Get-MobileDevice -Mailbox joerg@sahlmann.com | ft deviceuseragent, deviceOS – zeigt konfigurierte Devices und deren Betriebssystemversionen an.

Löschen von Mails – Wissen Sie was Sie tun?

Get-Mailbox -Identity joerg@sahlmann.com | Search-Mailbox -SearchQuery subject:“Bla Bla“ -DeleteContent

Hier ist die Mail:
Jetzt ist sie weg:
Nach getaner Arbeit – oder Verwüstung der Mailboxen – hilft ein einfaches „exit“ um die Session zu schliessen.
Die mobile Version verlassen