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