Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Office 365 administrieren per Power Shell

2.616 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

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 />

×