Office 365 - PowerShell
Für die Verwaltung von Office 365 eignet sich in einem kleinen Rahmen schon die GUI, besonders wenn Sie keinen Verzeichnisabgleich benutzen und die Anwender einer kleinen Firma (Siehe auch Office 365 - Zielgruppe) sich selten ändern.
Die alte MSOnline und AzureAD-Powershell ist abgekündigt. Siehe EOL MSOnline und AzureAD PowerShell. Zeit zum Update ihrer Skripte
Eigene Webseite zu "PowerShell für Office 365"
http://PowerShell.office.com/
Eigene Seiten zu Graph
Get-O365Usage
Wer aber größere Stammdaten zu pflegen hat oder diese per DirSync noch mit einem lokalen Active Directory verbunden sind, wird schnell eine Option suchen, um elegant Massenänderungen durchzuführen. Einige Änderungen können Sogar gar nicht über die Weboberfläche erfolgen. Der Zugriff per PowerShell ist zum Glück nicht sonderlich schwer.
Warum brauch ich PowerShell?
Aus meiner Sicht gibt es drei Grüne, warum Sie PowerShell mit Office 365 nutzen müssen.
- Nicht alle Einstellungen der Dienste
sind im Portal
Das gilt nicht nur für Teams sondern auch für Exchange Online, Azure, SharePoint und viele andere Cloud-Dienste., wo sie bestimmte Parameter nur per PowerShell setzen können - Automatisches Provisionieren von
Benutzern
Auch wenn ADSync als Office 365 Identity Management für Sie Benutzer und Gruppen im AzureAD verwaltet, so dass ADSync nur die Felder übertragen, die im lokalen Active Directory auch vorhanden sind.
Bei Exchange im Hybrid Mode ist ADSync ja Pflicht aber dennoch müssen Sie die Einstellungen bezüglich POP3/IMAP, Quotas, ActiveSync Quarantäne in der Cloud vornehmen. Auch bei Skype/Teams ist der Dialplan nicht durch Informationen aus dem lokalen Active Directory einstellbar sondern nur in der Cloud - Zeitgewinn für Massenänderungen
Selbst wenn bestimmte Einstellungen im Portal möglich sind, so kommen Sie bei vielen Änderungen an ihre Grenzen. Per PowerShell geht es dann doch schneller und zuverlässiger als per Browser.
Mittlerweise kann sogar die Office 365 Lizenzverwaltung über Gruppen erfolgen. Aber es gibt immer noch Dinge, die nur per PowerShell direkt gegen die Cloud konfiguriert werden können. Es gibt also durchaus "Arbeit" für ihr Identity Management mit einer Office 365 Einführung, da es nicht für alle Einstellungen ein entsprechendes LDAP-Feld im lokalen Active Directory gibt. Und diese Einstellungen müssen Sie direkt in der Cloud einstellen. Einige Einstellungen sind zwar per Webbrowser möglich aber letztlich werden Sie sich Skripte bauen, die solche Einstellungen in der Cloud vornehmen.
Eine PowerShell - Viele Module
Es gibt zwar nur die eine PowerShell.exe aber diese wird durch Module erweitert. Es gibt auch nicht die eine "Office 365"-PowerShell sondern pro Dienst ein eigenes Modul, welches Sie zum Teil sogar erst lokal installieren müssen, ehe Sie es verwenden können.
Modul | Commandlets | Einsatzbereich |
---|---|---|
Office 365 |
*-MSOL* |
Verwalten aller Office 365
Benutzer, Gruppen, Tenant Einstellungen |
AzureAD |
*AzureAD* |
Verwaltung von AzureAD Diensten und Einstellungen. Es gibt hier eine Überlappung mit Office 365 bei Benutzern, Gruppen Lizenzen etc. |
Exchange Online |
Exchange Commandlets. Leider ohne eigenes Präfix |
Exchange Commandlets. Leider ohne eigenes Präfix. Das ändert sich aber mit der |
Skype for Business |
*-csonline* |
Administratoren, die Dialpläne, Policies etc in Skype for Business Online und Teams verwalten. |
Teams |
|
Verwalten von Teams Einstellungen im Teams,
z.B. Kanäle, Channel etc |
SharePoint |
*-SPO* |
Verwalten von SharePoint Online |
InTune |
Diverse PowerShell-Skripte |
Nutzt Graph zur Verwaltung |
Hinweis
Immer mehr Funktionen sind auch per
Graph API
erreichbar. Schauen Sie speziell bei
Automatisierungsaufgaben auch hier nach, ob dies keine
elegantere Alternative zur PowerShell ist.
Sie können alle Module einzeln installieren und sich auch einzeln anmelden. Es gibt aber schon Skripte, die ihnen das ersparen
- Connect to all Office 365 services in a
single Windows PowerShell window
https://docs.microsoft.com/en-us/office365/enterprise/powershell/connect-to-all-office-365-services-in-a-single-windows-powershell-window - Connect-365 Script Updates
https://www.cgoosen.com/2019/02/connect-365-script-updates/
Download http://cgoo.se/1srvTiS oder https://gallery.technet.microsoft.com/Connect-EXOps1-Connect-to-4d694663
Git: https://GitHub.com/cgoosen/Connect-365
Azure Cloud Shell
Unter der Url http://shell.azure.com/ können Sie mit jedem Browser eine Shell in Azure öffnen. technisch startet Microsoft dann für ihre Session eine PowerShell Core-Umgebung auf Linux. Meist sind sie dann direkt in der BASH-Shell. Aber durch den Aufruf von "Pwsh" starten Sie die PowerShell Core. Zu Ablage von Skripten etc. benötigen Sie noch eine Azure File Storage.
Interessant ist dabei, dass Sie damit eine Azure CLI haben aber auch die Exchange PowerShell einbinden können.
- Cloud Shell
https://azure.microsoft.com/de-de/features/cloud-shell/ - Quickstart for PowerShell in Azure Cloud
Shell
https://docs.microsoft.com/en-us/azure/cloud-shell/quickstart-powershell - Overview of Azure Cloud Shell
https://docs.microsoft.com/azure/cloud-shell/overview - Azure Cloud Shell Now Supports Exchange
Online
https://techcommunity.microsoft.com/t5/Exchange-Team-Blog/Azure-Cloud-Shell-Now-Supports-Exchange-Online/ba-p/652269 - Using PowerShell with Azure Cloud Shell
https://dev.to/azure/using-powershell-with-azure-cloud-shell-4iio
Office 365 PowerShell installieren
Die PowerShell Erweiterung sind ein kostenfrei von Microsoft Online erhältlicher Download. Damit diese aber funktionieren, muss auch "Microsoft Online Services Sign-In Assistant" installiert sein. Er addiert ein paar Einträge in der Registrierung, dass die PowerShell auch die Online Dienste erreichen kann. (Siehe auch Office 365 Client)
- Microsoft Online Services
Sign-In Assistant
32-bit http://g.microsoftonline.com/0bd00en-us/568
64-bit http://g.microsoftonline.com/0bd00en-us/569 - Azure Active Directory
Module für Windows PowerShell
(DE)
32-bit: http://go.microsoft.com/fwlink/p/?linkid=236298
64-bit: http://go.microsoft.com/fwlink/p/?linkid=236297 - Windows PowerShell cmdlets für Office 365 management and
deployment
https://technet.microsoft.com/en-us/library/hh974317.aspx - Managing Office 365 and
Exchange Online with Windows
PowerShell
https://support.office.com/en-us/article/Managing-Office-365-and-Exchange-Online-with-Windows-PowerShell-06a743bb-ceb6-49a9-a61d-db4ffdf54fa6 - Connect to all Office 365
services in a single Windows
PowerShell Window
https://docs.microsoft.com/en-us/office365/enterprise/powershell/connect-to-all-office-365-services-in-a-single-windows-powershell-window
Nach der Installation ist in der Regel kein Neustart erforderlich.
# Anfrage der aktuell installierten Version (get-item C:\Windows\System32\WindowsPowerShell\v1.0\Modules\MSOnline\Microsoft.Online.Administration.Automation.PSModule.dll).VersionInfo.FileVersion
- Microsoft Azure Active Directory
PowerShell Module Version Release History
http://social.technet.microsoft.com/wiki/contents/articles/28552.microsoft-azure-active-directory-powershell-module-version-release-history.aspx
Powershell und HTTP-Proxy
Wenn die PowerShell mit der Cloud kommunizieren muss, dann ist ggfls. ein Proxy zu nutzen. Die PowerShell nutzt dabei nicht die Einstellungen des IE sondern erfordert Einstellungen in WinHTTP:
netsh winhttp set proxy xxxxx
Allerdings gibt es auch Commandlets die den Proxy nicht nutzen. Viele nutzen aber als Unterbau die HTTP-Requests und daher kann folgender Trick wirken: Sie machen einfach mal einen HTTP-Request zum gewünschten Ziel:
Invoke-WebRequest ` -Proxy http://proxy.msxfaq,de:8080 ` -ProxyUseDefaultCredentials ` -Url https://provisioningapi.microsoftonline.com/provisioningwebservice.svc
Mit etwas Glück können Sie so eine PowerShell-Session über den Proxy aufbauen, die dann von anderen Befehlen mit genutzt wird.
- Connect-MsolService through Proxy in
Powershell
https://www.morgantechspace.com/2016/10/connect-msolservice-through-proxy-in.html - How I got Powershell to connect to
Office 365 from behind a standard proxy
https://community.sophos.com/products/unified-threat-management/f/web-protection-web-filtering-application-visibility-control/75939/how-i-got-powershell-to-connect-to-office-365-from-behind-a-standard-proxy
Office 365 PowerShell starten und verbinden
Nach der Installation findet sich auf dem Desktop und im Startmenü der passende Link zum Start der PowerShell.
Wie bei einer PowerShell üblich hat ein Anwender dann erst mal eine schwarze Box vor sieht.
Hinweis:
Wenn Sie in der PowerShell z.B. ADFS einrichten
wollen, dann müssen Sie auf dem ADFS-Server sein und die PowerShell "Als Administrator" starten,
da die Commandlets auch lokal Änderungen durchführen.
Der erste Schritt ist daher die Herstellung einer Verbindung:
In einigen Anleitungen werden noch alte Commandlets (z.B. Set-MSOLContextCredential) verwendet, die aber nicht mehr gültig sind.
In der Version vom Jan 2012 wird eine Verbindung mit dem "Connect-MsolService"-Commandlet hergestellt, welches interaktiv nach den Anmeldedaten fragt oder per Parameter vorab erfasste Credentials übernimmt.
Connect-MSOLService
Im Netmon kann man gut sehen, dass die komplette Kommunikation per HTTPS abgewickelt wird:
Wer nicht die PowerShell über das Startmenü aufrufen will, sondern in einem bestehenden Skript einfach die Commandlets aktivieren will, der kann das Modul auch manuell nachladen.
PS> Get-Module | fl Name : MSOnline Path : C:\Windows\system32\WindowsPowerShell\v1.0\Modules\MSOnline \Microsoft.Online.Administration.Automation.PSModule.dll Description : Microsoft Online Services Module für Windows PowerShell ModuleType : Binary Version : 1.0 NestedModules : {Microsoft.Online.Identity.Federation.PowerShell} ExportedFunctions : {} ExportedCmdlets : {Add-MsolGroupMember, Add-MsolRoleMember, Confirm-MsolDomai n, Connect-MsolService...} ExportedVariables : {} ExportedAliases : {}
Das Microsoft Online Modul laden Sie dann also mit folgendem Befehl nach:
import-module msonline
Commandlets für Office 365
Dank der Funktion "Get-Command" und dem Wissen, dass alle Office 365 Commandlets ein "MSOL" im Namen tragen, können Sie recht einfach eine vollständige Liste erhalten.
PS> get-command *msol* CommandType Name Definition ----------- ---- ---------- Cmdlet Add-MsolGroupMember Add-MsolGroupMember -GroupOb... Cmdlet Add-MsolRoleMember Add-MsolRoleMember -RoleObje... Cmdlet Confirm-MsolDomain Confirm-MsolDomain -DomainNa... Cmdlet Connect-MsolService Connect-MsolService [-Verbos... Cmdlet Convert-MsolDomainToFederated Convert-MsolDomainToFederate... Cmdlet Convert-MsolDomainToStandard Convert-MsolDomainToStandard... Cmdlet Convert-MsolFederatedUser Convert-MsolFederatedUser -U... Cmdlet Get-MsolAccountSku Get-MsolAccountSku [-TenantI... Cmdlet Get-MsolCompanyInformation Get-MsolCompanyInformation [... Cmdlet Get-MsolContact Get-MsolContact [-HasErrorsO... Cmdlet Get-MsolDomain Get-MsolDomain [-Status <Nul... Cmdlet Get-MsolDomainFederationSett... Get-MsolDomainFederationSett... Cmdlet Get-MsolDomainVerificationDns Get-MsolDomainVerificationDn... Cmdlet Get-MsolFederationProperty Get-MsolFederationProperty [... Cmdlet Get-MsolGroup Get-MsolGroup [-UserObjectId... Cmdlet Get-MsolGroupMember Get-MsolGroupMember [-GroupO... Cmdlet Get-MsolPartnerContract Get-MsolPartnerContract [-Do... Cmdlet Get-MsolPartnerInformation Get-MsolPartnerInformation [... Cmdlet Get-MsolRole Get-MsolRole [-TenantId <Nul... Cmdlet Get-MsolRoleMember Get-MsolRoleMember [-RoleObj... Cmdlet Get-MsolSubscription Get-MsolSubscription [-Tenan... Cmdlet Get-MsolUser Get-MsolUser [-ReturnDeleted... Cmdlet Get-MsolUserRole Get-MsolUserRole -ObjectId <... Cmdlet New-MsolDomain New-MsolDomain [-Name <Strin... Cmdlet New-MsolFederatedDomain New-MsolFederatedDomain [-Su... Cmdlet New-MsolGroup New-MsolGroup [-DisplayName ... Cmdlet New-MsolLicenseOptions New-MsolLicenseOptions -Acco... Cmdlet New-MsolUser New-MsolUser [-ImmutableId <... Cmdlet Remove-MsolContact Remove-MsolContact -ObjectId... Cmdlet Remove-MsolDomain Remove-MsolDomain -DomainNam... Cmdlet Remove-MsolFederatedDomain Remove-MsolFederatedDomain [... Cmdlet Remove-MsolGroup Remove-MsolGroup -ObjectId <... Cmdlet Remove-MsolGroupMember Remove-MsolGroupMember -Grou... Cmdlet Remove-MsolRoleMember Remove-MsolRoleMember -RoleO... Cmdlet Remove-MsolUser Remove-MsolUser -ObjectId <G... Cmdlet Restore-MsolUser Restore-MsolUser -ObjectId <... Cmdlet Set-MsolADFSContext Set-MsolADFSContext [-ADFSUs... Cmdlet Set-MsolCompanyContactInform... Set-MsolCompanyContactInform... Cmdlet Set-MsolCompanySettings Set-MsolCompanySettings [-Se... Cmdlet Set-MsolDirSyncEnabled Set-MsolDirSyncEnabled -Enab... Cmdlet Set-MsolDomain Set-MsolDomain [-Name <Strin... Cmdlet Set-MsolDomainAuthentication Set-MsolDomainAuthentication... Cmdlet Set-MsolDomainFederationSett... Set-MsolDomainFederationSett... Cmdlet Set-MsolGroup Set-MsolGroup [-ObjectId <Nu... Cmdlet Set-MsolPartnerInformation Set-MsolPartnerInformation [... Cmdlet Set-MsolUser Set-MsolUser [-ImmutableId <... Cmdlet Set-MsolUserLicense Set-MsolUserLicense -ObjectI... Cmdlet Set-MsolUserPassword Set-MsolUserPassword -Object... Cmdlet Set-MsolUserPrincipalName Set-MsolUserPrincipalName -O... Cmdlet Update-MsolFederatedDomain Update-MsolFederatedDomain [... #Alternativen PS> (Get-Module msonline).exportedcommands PS> get-command -Module msonline
Die alternativen Wegen zeigen ihnen auch alle Kommandos an. Mit GET-HELP "Commandlet-Name".
Kommunikation
Wer mit dem Netzwerkmonitor kontrolliert, welche Dienste und Ports genutzt werden, wird sehr schnell HTTPS als einziges Protokoll erkennen. Insofern ist es also ausreichend, wenn Sie von ihrem Client "Surfen" können.
Limits
Analog zu den PowerShell-Befehlen für das Active Directory und Exchange laden auch die MSOL-Commandlets nicht alle Elemente sondern laden nur die ersten 250 Einträge. Kleinere Firmen werden damit in der Regel kein Problem haben, aber wenn Sie ein Skript entwickelt, dann müssen Sie daraus Rücksicht nehmen, indem Sie schon über entsprechende Filter-Parameter die Anzahl der Elemente reduzieren oder eben ausreichend viele (sprich alle) Elemente holen und danach filtern.
get-MSOLGroup / get-MSOLGroupMember -All [<SwitchParameter>] Wenn dieser Parameter vorhanden ist, werden alle Ergebnisse zurückgegeb en. Kann nicht zusammen mit dem Parameter "MaxResults" verwendet werden -MaxResults <int> Die Höchstanzahl der für eine Suche zurückgegebenen Ergebnisse. Wenn ke in Wert angegeben ist, werden 250 Ergebnisse zurückgegeben.
get-MSOLUser / get-MSOLContact -All [<SwitchParameter>] Wenn dieser Parameter vorhanden ist, werden alle Ergebnisse zurückgegeb en. Kann nicht zusammen mit dem Parameter "MaxResults" verwendet werden -MaxResults <int> Die Höchstanzahl der für eine Suche zurückgegebenen Ergebnisse. Wenn ke in Wert angegeben ist, werden 500 Ergebnisse zurückgegeben.
Throttling
Aber auch die Anzahl der ausgeführten Powershell-Befehle ist nicht endlos. Office 365 misst, wie lange die Ausführung eines Befehls benötigt und wie viele Ressourcen Sie damit benutzen. Parallel gibt es wie auch in Exchange EWS ein "Konto", von dem die verbrauchten Ressourcen abgezogen werden und auf der anderen Seite immer wieder was aufgebraucht wird. Es ist wie beim Girokonto mit regelmäßigem Gehaltseingang und Abbuchungen. Wenn das Konto aufgebraucht wird, geht es nicht mehr. Bei Office 365 geht es dann immer noch aber eben langsamer. Insofern ist es schon wichtig die Befehle so einzusetzen, damit sie nicht nur ein Ergebnis liefern, sondern auch effektiv arbeiten.
Wer z.B. eine Information über eine bestimmten Benutzer erhalten möchte, sollte daher nicht alle User holen und danach filtern, sondern schon die Anfrage zu filtern
Ineffektiv und damit teuer Get-MSOLUser | where {$_.upn -eq "User1@msxfaq.onmicrosoft.com"} #Besser get-msolUser -identity "User1@msxfaq.onmicrosoft.com"
Es gibt noch weitere Tricks, wie z.B. die Verlagerung der Ausführung auf den Server:
# Ineffektiv get-msolUser invoke-comand ` -session (get-pssession) ` -scriptblock {get-msolUser}
Auch hier kann man in dem Skript Block natürlich auch noch filtern.
Auch die Anzahl der parallelen Sessions kann beschränkt sein:
"To help prevent denial-of-service (DoS)
attacks, you're limited to three open remote PowerShell
connections to your Exchange Online organization.
Quelle:
https://docs.microsoft.com/en-us/powershell/exchange/exchange-online/connect-to-exchange-online-powershell/connect-to-exchange-online-powershell
Das kann Sie also durchaus treffen, wenn sie mehrere PowerShell-Skripte parallel ausführen
- PS Remote
- Invoke-Command
https://technet.microsoft.com/en-us/library/hh849719.aspx - Running PowerShell cmdlets für large
numbers of Users in Office 365
http://blogs.technet.com/b/exchange/archive/2015/11/02/running-powershell-cmdlets-for-large-numbers-of-Users-in-office-365.aspx - Large Tenant and PowerShell I/O timeout
https://blogs.msdn.microsoft.com/ashour/2014/04/30/large-tenant-and-powershell-io-timeout/ - Use PowerShell Invoke-Command für Remoting
http://blogs.technet.com/b/heyscriptingguy/archive/2011/06/13/use-powershell-invoke-command-for-remoting.aspx - PowerShell 2.0 remoting guide: Part 4 –
Execute commands or scripts on a remote
computer using Invoke-Command
http://www.ravichaganti.com/blog/powershell-2-0-remoting-guide-part-4-%E2%80%93-execute-commands-or-scripts-on-a-remote-computer-using-invoke-command/ - Exchange Online Throttling and Limits
FAQ
https://blogs.msdn.microsoft.com/exchangedev/2011/06/23/exchange-online-throttling-and-limits-faq/ - Exchange Online PowerShell Throttling in
Office 365
https://www.cogmotive.com/blog/office-365-tips/office-365-exchange-online-powershell-throttling - Azure subscription and service limits,
quotas, and constrain
https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/ - New-PSSessionOption
https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.core/New-PSSessionOption
Azure PowerShell
Neben der MSOnline-Powershell gibt es natürlich noch eine Verwaltungskonsole für alle Azure Dienste. Auch hier gibt es Commandlets, mit denen auch AzureAD-Konten, d.h. Office 365 Benutzer und Gruppen verwaltet werden können.
Install-Module -Name AzureAD $UserCredential = Get-Credential Connect-AzureAD -Credential $UserCredential
Der Scope dieser PowerShell ist aber sicher eher die Azure-Umgebung.
- Verbinden mit Office 365 PowerShell
https://docs.microsoft.com/de-de/office365/enterprise/powershell/connect-to-office-365-powershell
Exchange Online
Bitte beachten Sie, dass diese PowerShell nur zur Verwaltung von Office 365 Konten dient aber nicht für Exchange oder Sharepoint genutzt werden kann. Hierzu gibt es eigene Zugängen, wie z.B. die Exchange Remote PowerShell.
$Session = New-PSSession ` -ConfigurationName Microsoft.Exchange ` -ConnectionUri https://outlook.office365.com/powershell-liveid/ ` -Credential (get-credential) ` -Authentication Basic ` -AllowRedirection import-PSSession $session
Früher war auch ps.outlook.com eine gültige URL. Sie funktioniert auch noch.
Beachten Sie auch das Throttling, was die Anzahl der parallel ausgeführten Jobs beschränken könnte.
"To help prevent denial-of-service (DoS)
attacks, you're limited to three open remote PowerShell
connections to your Exchange Online organization.
Quelle:
https://docs.microsoft.com/en-us/powershell/exchange/exchange-online/connect-to-exchange-online-powershell/connect-to-exchange-online-powershell
Beachten Sie, dass sie beim Einsatz von Exchange Hybrid Mode viele Einstellungen weiterhin "On-Premises" durchführen müssen.
-
PSRemote
Exchange Remote PowerShell nutzen -
WinRM
PowerShell remote ansprechen -
Exchange Online Improvements to Accelerate Replication
of Changes to Azure Active Directory
https://techcommunity.microsoft.com/t5/Exchange-Team-Blog/Exchange-Online-Improvements-to-Accelerate-Replication-of/ba-p/837218 -
Herstellen einer Verbindung mit Exchange Online
PowerShell
https://docs.microsoft.com/de-de/powershell/exchange/exchange-online/connect-to-exchange-online-powershell/connect-to-exchange-online-powershell?view=exchange-ps - 2881759 "Micro delay applied" warning or delays when you run scripts and cmdlets in Exchange Online
- PowerShell: How to connect
to Office 365 with PowerShell
http://www.thomasmaurer.ch/2011/05/PowerShell-how-to-connect-to-office-365-with-PowerShell/ - Exchange Online PowerShell
Throttling in Office 365
https://www.cogmotive.com/blog/office-365-tips/office-365-exchange-online-powershell-throttling
SfB/Lync/Teams Online
Für die Verwaltung von Skype/Teams Online benötigen Sie eine Erweiterung für die PowerShell.
Skype for Business
Online, Windows PowerShell Module
http://www.microsoft.com/en-us/download/details.aspx?id=39366
Eine einfache "Remote Verbindung" ist nicht möglich zu sein. Der Versuch mit folgendem Code und passenden Anmeldedaten wurde mit einem Fehler quittiert.
# Das geht leider nicht $session = New-PSSession ` -ConnectionURI "https://webdir0d.litwareinc.com/OcsPowerShellLiveId" ` -Credential $cred
Insofern macht der Code im Downloadpaket wohl doch noch das ein oder andere zusätzlich. Daher muss man für die Verwaltung von Lync Online einfach eine "normale" PowerShell starten und dann folgendes ausführen:
# Zuerst gültige Office 365 Anmeldedaten eingeben $credential = Get-Credential # Verbindung zu Office 365 herstellen $session = New-CsOnlineSession -Credential $credential -verbose # Session in die aktuelle Umgebung importren Import-PSSession $session -AllowClobber # Test ob alles erfolgreich war. Die Funktion "get-cstenant" ist # erst verfügbar, wenn die Session erfolgreich importiert wurde. get-cstenant # Am ende sollten Sie die Session natürlich wieder sauber abbauen Remove-PSSession $session
- Diagnose connection problems
with the Skype for Business
Online Connector
https://docs.microsoft.com/en-us/skypeforbusiness/set-up-your-computer-for-windows-powershell/diagnose-problems-with-the-skype-for-business-online-connector - Remote PowerShell für Lync
Online
http://blogs.office.com/2013/08/19/remote-PowerShell-for-lync-online/ - Connecting to Lync Online by using Windows PowerShell
http://technet.microsoft.com/en-us/library/dn362795.aspx - Introduction to Lync Online
remote PowerShell documentation
http://go.microsoft.com/fwlink/?LinkId=309073 - Using Windows PowerShell to
manage Lync Online
http://technet.microsoft.com/en-us/library/dn362831.aspx - List of Lync Online Cmdlets
http://technet.microsoft.com/en-us/library/jj994021.aspx - Lync PowerShell
SharePoint Online Powershell
Auch für die Verwaltung von SharePoint ist eine eigene Powershell verfügbar. Hierzu ist eine ca. 2,4 MB große lokale Datei zu installieren
SharePoint Online-Verwaltungsshell
https://www.microsoft.com/de-de/download/details.aspx?id=35588
- Office 365 PowerShell für SharePoint
Online
https://technet.microsoft.com/de-de/library/fp161362.aspx - Einführung in die SharePoint
Online-Verwaltungsshell
https://technet.microsoft.com/de-de/library/fp161388.aspx
Beispiele
Demo Scripts für "Using
Remote Windows PowerShell to Manage Office 365"
http://www.microsoft.com/en-us/download/details.aspx?id=41953
- Demo Scripts für "Using Remote Windows
PowerShell to Manage Office 365 Now Available "
http://blogs.technet.com/b/nexthop/archive/2014/02/21/demo-scripts-for-using-remote-windows-PowerShell-to-manage-office-365-now-available.aspx - Connecting to
Office 365/Exchange
http://eightwone.com/2015/08/31/connecting-to-office-365exchange/
Weitere Links
- PSRemote
- PowerShell Beispiele
- PowerShell4Admin
-
Get-O365Usage
Office 365 Reports per Graph extrahieren -
PowerShell für Office 365
http://PowerShell.office.com/ -
Verbinden mit allen Office
365-Diensten in einem einzigen
Windows PowerShell-Fenster
https://technet.microsoft.com/de-de/library/dn568015.aspx - Office 365 – How to connect
with PowerShell
http://www.thomasmaurer.ch/2011/07/office-365-how-to-connect-with-PowerShell/ - Verbinden mit allen Office
365-Diensten in einem einzigen
Windows PowerShell-Fenster
https://technet.microsoft.com/de-de/library/dn568015.aspx
Connecting PowerShell to
Microsoft Office 365
https://www.youtube.com/watch?v=cy9C6a9yRtQ
Learn PowerShell basics für managing
Office 365
Part1:
https://channel9.msdn.com/Shows/Mechanics/PowerShell-basics-for-managing-Office-365-and-the-space-race
Part2:
https://channel9.msdn.com/Shows/Mechanics/Learn-PowerShell-basics-for-managing-Office-365-Part-2
- How to install and configure
Azure PowerShell
https://azure.microsoft.com/en-us/documentation/articles/powershell-install-configure/ - Windows PowerShell cmdlets für Office 365
http://onlinehelp.microsoft.com/en-us/office365-enterprises/hh125002.aspx - Reference to Available
PowerShell Cmdlets in Exchange
Online
http://help.outlook.com/en-us/140/dd575549.aspx - Administering Microsoft
Office 365 using Windows
PowerShell
http://blog.PowerShell.no/2011/05/09/administering-microsoft-office-365-using-windows-PowerShell/ - Getting Started with Office
365
http://tfl09.blogspot.com/2011/04/getting-started-with-office-365.html - Use Windows PowerShell to
manage Office 365
http://onlinehelp.microsoft.com/en-us/office365-enterprises/hh124998.aspx - Tech Tip of the Week: How to
License Users in Bulk
http://www.messageops.com/tech-tip-of-the-week-how-to-license-Users-in-bulk