Office 365 mit Powershell

Office_365_logo

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
0 Skripts ausfuehren
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
1 login

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”
2 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
O365 Zugriff auf 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:
mail löschen
Jetzt ist sie weg:
mail löschen1
Nach getaner Arbeit – oder Verwüstung der Mailboxen – hilft ein einfaches “exit” um die Session zu schliessen.
About Jörg Sahlmann 257 Articles
Specialization is for insects

Be the first to comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.