Office 365 administrieren per Power Shell

2,454 views

Published on

Eine Einführung in die Administration von Office 355 mit der PowerShell

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,454
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Office 365 administrieren per Power Shell

  1. 1. Einfach, effektiv aber auch am Anfang ein wenig ungewöhnlich<br />Office 365 administrieren per PowerShell<br />Peter Monadjemi/ActiveTraining<br />pm@activetraining.de<br />
  2. 2. Die Themen<br />Die PowerShell in 10 Minuten<br />Die Office 365-Architektur aus der Vogelperspektive<br />Wo bietet sich Administration per Befehlszeile an?<br />Voraussetzungen<br />Die Server-Befehle in einer Remote-Session benutzen<br />Beispiele aus der Praxis<br />PowerShell ist kein Rückschritt zur Befehlszeile<br />
  3. 3. Die PowerShell in 10 Minuten<br />PowerShell = Automatisierungstechnik für Windows-Computer<br />Ab Windows XP SP3 aufwärts verfügbar<br />Bei Windows 7/Windows Server 2008 R2 von Anfang an dabei<br />Modernes Konzept – sowohl für IT-Pros als auch für Gelegenheitsnutzer attraktiv<br />Man muss nicht zum Experten/Insider/Entwickler werden, um die PowerShell einsetzen zu können<br />Die PowerShell-Funktionalität wird über einen Hostangeboten<br />
  4. 4. Die Rolle des Hosts<br />Host = Anwendung, in die PowerShell integriert wird<br />Reichhaltige Auswahl an Hosts<br />Power-Shell<br />ISE<br />PowerGUI<br />Power-Shell.exe<br />Eigener<br />Host<br />SharePoint<br />WebPart<br />Exchange<br />Server<br />
  5. 5. Befehl = Cmdlet<br />Die PowerShell-Befehle heißen Cmdlets(Commandlet)<br />Einheitliche Schreibweise: Verb-Hauptwort<br />Eine Liste aller verfügbaren Cmdlets liefert ein<br />Es gibt insgesamt 236 fest eingebaute Cmdlets – es können über Module jederzeit weitere hinzugefügt werden<br />Get-Command –CommandtypeCmdlet<br />
  6. 6. PowerShell-Remoting<br />Jeder Befehl/Skript kann auch remote ausgeführt werden<br />Grundlage ist das Ws-Management-Protokoll (WsMan), das auf HTTP aufsetzt<br />Befehle und deren Ergebnisse werden im XML-Format transportiert<br />Auf dem Server muss PowerShell 2.0 installiert sein<br />Beispiel für die Ausführung eines Remote-Befehls<br />Invoke-Command –ScriptBlock { Get-Service –Name mssql`$SQL* } –Computer PMServer –Credential Administrator<br />Kennwort wird abgefragt<br />
  7. 7. Die Rolle der Session<br />Jeder Remote-Befehl wird in einer Session ausgeführt<br />Session = PowerShell-Prozess mit Einstellungen, die im Rahmen der Session-Konfiguration festgelegt werden<br />Eine Session wird entweder implizit oder explizit angelegt<br />Implizit:<br />Explizit:<br />Invoke-Command –ScriptBlock { Get-Process } –Computer PMServer –Credential Administrator<br />Es wird keine Session angegeben<br />$S = New-PsSession –Computer PMServer –CredentialAdministrator<br />Invoke-Command –ScriptBlock { Get-Process } –Session $S<br />Explizite Angabe einer Session<br />
  8. 8. Office 365 <br />Was steckt dahinter?<br />Was wird geboten?<br />Wie passt die PowerShell in das Bild?<br />Beispiele für die Office 365-Administration per PowerShell<br />
  9. 9. Office 365 in 5 Minuten<br />Vormals Business Productivity Online Services (BPOS)<br />Teil der Microsoft Cloud Services<br />Im Kern SharePoint Server und Exchange Server<br />Wesentliche Unterschiede gegenüber den bisherigen Angeboten:<br />Alles unter einem Dach<br />Beliebig skalierbar<br />Erweiterbar durch Partner-Lösungen<br />Vertrieb auch über Partner<br />MindBusiness ist einer von knapp 30 "Top-Cloud-Partner" in Deutschland<br />
  10. 10. Der Name kann etwas irreführend sein<br />Office 365 ist keinOffice 2010, das im Browser genutzt werden<br />Der Name soll lediglich suggerieren, dass die Services jeden Tag zur Verfügung stehen<br />Die klassische Office-Funktionalität wird über die WebApps zur Verfügung gestellt<br />Bieten nur ein Bruchteil der Möglichkeiten von Excel, Word, PowerPoint und OneNote<br />Lediglich die Outlook WebApp ist funktional reichhaltiger<br />Im Rahmen von Office Professional Plus erhält jeder User eine Office 2010 Professional-Lizenz<br />
  11. 11. Office 365-Architektur aus der Vogelperspektive<br />Kernbestandteile:<br />Exchange Online<br />Sharepoint Online<br />Lync (vormals Office Communication Server)<br />WebApps (Word, Excel, PowerPoint und OneNote)<br />Wird auf einer Abo-Basis sowohl direkt als auch über Partner verkauft<br />Einstiegspaket: Plan 1 für 5,25 € pro Monat (was relativ günstig ist)<br />
  12. 12. Ein Schaubild gibt es auch…<br />Microsoft Online Services im Überblick<br />Reseller/<br />Partner<br />Microsoft<br />Direct<br />Vermarktung<br />Angebote<br />Office 365<br />Small Business<br />Office 365Enterprise<br />Azure<br />Microsoft<br />Intune<br />Office 365LiveEdu<br />Online Services DeliveryPlatform (OSDP)<br />Infrastruktur<br />Marketing<br />Common<br />UX<br />Marketplace<br />Dienste<br />Exchange Online<br />Sharepoint Online<br />Lync Online<br />Office Pro Plus<br />Forefront Online<br />System Center Online<br />CRM Online<br />Windows Azure<br />SQL Azure<br />
  13. 13. Office 365 Administration<br />Die primäre Schnittstelle ist eine Web-Schnittstelle<br />Vorteile:<br />Leicht zu benutzen<br />Vertraute Symbolik<br />Kein Spezial-Know-how erforderlich<br />Nachteile:<br />Abläufe lassen sich nicht automatisieren<br />Was ist, wenn anstelle von 10 auf einmal 1.000 User angelegt werden sollen?<br />Abläufe sind nicht reproduzierbar<br />Wenn zwischendrin einmal "der falsche Button" geklickt wurde, lässt sich das im Allgemeinen nicht nachvollziehen<br />Kein "Audit" möglich<br />
  14. 14. Office 365 Administration an einem Beispiel<br />Anlegen eines neuen Benutzers<br />Alternativ über einen PowerShell-Befehl<br />New-MailUser–Name "Renate Roth"<br />Verschiedene Vorteile<br />Der Aufwand für 1, 10 oder 10.000 neue User ist exakt derselbe<br />Es können weitere Parameter, z.B. E-Mail-Adresse, angegeben werden<br />Es geht schneller<br />
  15. 15. PowerShell und Office 365 (Teil 1)<br />Wie passt die PowerShell in das Gesamtbild?<br />Einsatzbereich in erster Linie die Remote-Administrierung von Exchange Online und die Domänverwaltung<br />ca. 90% der 229 Cmdlets haben mit Exchange Online zu tun<br />
  16. 16. PowerShell und Office 365 (Teil 2)<br />Es gibt zwei Bereiche der PowerShell-Administration:<br />Die MsOnline-Cmdlets (werden lokal installiert)<br />Die Exchange Online-Cmdlets (stehen im Rahmen einer Remote-Session zur Verfügung)<br />
  17. 17. Wo bietet sich Administration per Befehlszeile an?<br />Anlegen von Mailboxen und Benutzern<br />Importieren von Kontakten<br />Hinzufügen von Regeln (z.B. für den Posteingang)<br />Einrichten von Berechtigungen<br />Konfigurieren von Benachrichtigungen (z.B. Kalendar)<br />Überwachen von Aktivitäten<br />Es gibt generell vielfältige Einsatzmöglichkeiten, die alle ein Ziel besitzen:<br />Das Einrichten von Konfigurieren von Exchange Online-Konten und SharePoint-Domänen zu automatisieren<br />
  18. 18. Das Client-Module für Microsoft Online<br />Separater Download für 32/64-Bit (Administrationconfig-de.msi)<br />Der Microsoft Online Anmelde-Assistent 7.0 muss zuvor installiert werden<br />Die Anforderungen stehen unter<br />http://onlinehelp.microsoft.com/de-de/Office365-enterprises/ff652560.aspx#BKMK_Requirements<br />Wird als Module mit dem Namen MsOnline zur Verfügung gestellt<br />Umfasst 49 Cmdlets<br />
  19. 19. Die Aufgaben der MsOnline-Cmdlets<br />Domän- und Federationsverwaltung<br />Abo-Verwaltung<br />Beispiele:<br />Connect-MsolService<br />New-MsolUser<br />New-MsolDomain<br />New-MsolFederatedDomain<br />Einrichten eines "Single-Sign-On"<br />Benutzer kann sich mit AD-Benutzerkonto bei Office 365 anmelden<br />
  20. 20. MsOnline - Beispiele für den Umgang mit Domänen<br />Auflisten der vorhandenen Domänen<br />Anlegen einer neuen Domäne<br />Connect-MsolService<br />Get-MsolDomainName Status Authentication ------ -------------- monadjemi.onmicrosoft.com Verified Managed<br />Connect-MsolService<br />New-MsolDomain –Name trainings.monadjemi.onmicrosoft.com<br />
  21. 21. MsOnline - Office 365 -Abo-Verwaltung<br />Cmdlets:<br />Get-MsolSubscription<br />Get-MsolAccountSku<br />New-MsolLicenseOptions<br />Set-MsolUserLicense<br />
  22. 22. Office 365-Administration in einer Remote-Session<br />Keine Vorbereitung auf dem Client<br />Anmelden mit Office 365-Benutzername/Kennwort<br />Cmdlets werden auf dem Server ausgeführt<br />
  23. 23. Voraussetzungen<br />Es muss eine Remote-Session zu ps.outlook.com/powershell eingerichtet werden<br />Im Rahmen der Remote-Session werden alle Cmdlets lokal importiert und über ein Modul als Funktionen zur Verfügung gestellt<br />Alle Funktionen, wie z.B. New-Mailbox, werden stets im Kontext der Remote-Session ausgeführt<br />Der Umgang mit den Cmdlets ist insgesamt einfach und geradlinig<br />
  24. 24. Die Server-Cmdlets in einer Remote-Session benutzen<br />Anlegen einer Remote-Session im Rahmen einer Funktion<br />function Init-Office365Session<br />{<br /> $Cred= Get-Credential –Credential Administrator $Uri = "http://ps.outlook.com/PowerShell-LiveID?PSVersion=2.0" $S = New-PsSession –ConnectionURI $Uri –Credential $Cred –AllowRedirection –Authentication Basic –ConfigurationNameMicrosoft.Exchange<br /> Import-PsSSession –Session $S<br />}<br />Auswahl der vorbereiteten Session-Konfiguration<br />Neue Session anlegen<br />Befehle aus der Remote-Session importieren<br />
  25. 25. Beispiel: Auflisten aller Commands der Remote-Session<br />Init-Office365SessionGet-Command -Module tmp_*<br /># Zählen der Cmdlets<br />"AnzahlCmdlets: $(Get-Command -Module tmp_* | Measure-Object | Select-Object -Exp Count)"<br />
  26. 26. Beispiel: Auflisten der Mailboxen<br />Init-Office365SessionGet-Mailbox | Select-Object -Property Name<br />
  27. 27. Beispiel: Neuen User anlegen<br />Init-Office365Session<br />$UserNamen = "Anton","Bert","Chris","Dieter"foreach($UserName in $UserNamen) { $UserPw = ConvertTo-SecureString -String "pw" ` -AsPlainText–Force New-MailUser-Name $UserName` -MicrosoftOnlineServicesID$UserName@monadjemi.onmicrosoft.com ` -Password $UserPW "$UserName wurde angelegt." }<br />
  28. 28. Beispiel: Kalenderbenachrichtigung einrichten<br />Init-Office365Session$ID = pemo@monadjemi.onmicrosoft.com<br />Set-CalendarNotification –Identity $ID `<br /> -CalendarUpdateNotification $true`<br />-MeetingReminderNotification $true`<br />-MeetingReminderSendDuringWorkHour $true<br />
  29. 29. Beispiel: CSV-Kontakte importieren<br />Init-Office365SessionImport-ContactList-CSV -CSVData ([System.IO.File]::ReadAllBytes($CSVPfad))-Identity pemo@monadjemi.onmicrosoft.com<br />Datei entsteht meistens aus Outlook-Export<br />
  30. 30. Beispiel: Neuen Exchange-Ordner anlegen<br />Init-Office365SessionNew-MailboxFolder-Parent :Posteingang -Name $Ordnername <br />
  31. 31. PowerShell-Tools mit etwas mehr Komfort<br />PowerGUI<br />"Nachbau" der Computer Management-Konsole von Windows<br />Jeder Knoten steht für ein PowerShell-Befehl/-Skript<br />PowerShell Plus<br />Editor mit viel Komfort<br />Primal Forms 2011<br />Grafische Benutzeroberflächen für PowerShell-Skripte<br />
  32. 32. Fazit: Die PowerShell ist kein (!) Rückschritt zur Befehlszeile<br />Die Befehlszeile ist nur eine von vielen "Formen", in denen die PowerShell genutzt werden kann<br />Die PowerShell ist eine polymorphe Automatisierungstechnik für Windows-Computer<br />Es gibt zahlreiche GUI-Tools – auch die Eigenentwicklung ist keine allzu große Herausforderung<br />In jeder "Erscheinungsform" bietet die PowerShell eine enorme Arbeits- und Zeitersparnis<br />
  33. 33. Wo kann man mehr erfahren?<br />Referenz aller Office 365-Cmdlets:<br />http://onlinehelp.microsoft.com/de-de/office365-enterprises/hh125002.aspx<br />Nur Kurzbeschreibung, eine ausführliche Beschreibung mit Beispielen gibt es nur über das Get-Help-Cmdlet<br />Es gibt viele Webseiten rund um Exchange Server-Administration per PowerShell – vieles ist 1:1 übertragbar<br />Buch: PowerShell Crashkurs (Microsoft Press)<br />Bietet eine allgemeine Einführung (ohne Office 365-Bezug)<br />Seminar:<br />PowerShell – Grundlagen, 22. – 25. November 2011 in Esslingen<br />Infos unter www.activetraining.de<br />

×