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.
Über Jörg Sahlmann 286 Artikel
Specialization is for insects

Ersten Kommentar schreiben

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .