office 365 administrieren per power shell
Post on 24-Jun-2015
2.054 Views
Preview:
DESCRIPTION
TRANSCRIPT
Einfach, effektiv aber auch am Anfang ein wenig ungewöhnlich
Office 365 administrieren per PowerShell
Peter Monadjemi/ActiveTrainingpm@activetraining.de
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 $UserName@monadjemi.onmicrosoft.com ` -Password $UserPW "$UserName wurde angelegt." }
Beispiel: Kalenderbenachrichtigung einrichtenInit-Office365Session
$ID = pemo@monadjemi.onmicrosoft.com
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 pemo@monadjemi.onmicrosoft.com
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
top related