Office 365 PowerShell, les bases


 

Afficher l’image source

 

Windows PowerShell est une suite logicielle développée par Microsoft qui intègre une interface en ligne de commande, un langage de script ainsi qu’un kit de développement. Il est inclus dans Windows 7, Windows 8.1 et Windows 10 (y compris les versions grand public) et s’appuie sur le framework Microsoft .Net

 

Avec Office 365 PowerShell, vous pouvez gérer Office 365 avec des commandes et des scripts pour simplifier votre travail quotidien.  Mais avant de commencer, vous devez savoir qu’Office 365 PowerShell est constitué d’un ensemble de modules correspondants aux services Office 365 que vous souhaitez manipuler (Azure AD, SharePoint Online, et Teams).  Concernant Exchange Online, je ne l’aborde pas ici, car cela demande des connaissances en Exchange qui ne sont pas à la portée de tous.

 

 

 

Editeur de scripts Windows PowerShell ISE

 

Windows PowerShell Integrated Scripting Environment (ISE) est une application hôte pour Windows PowerShell. Dans ISE, vous pouvez exécuter des commandes et écrire, tester et déboguer des scripts dans une seule interface utilisateur graphique.

 

Texte de remplacement généré par une machine : Tout Applications Meilleur résultat Documents Courrier électronique Windows PowerShell ISE Application Applications Windows PowerShell ISE (x86) Rechercher sur le Web p ise - Afficher les résultats Web Dossiers (1+) Web Ouvrir Plus Windows PowerShell ISE Application Exécuter en tant qu'administrateur Ouvrir l'emplacement du fichier Épingler au menu Démarrer Épingler à la barre des tâches

 

Il est recommandé d’exécuter l’ISE en tant qu’administrateur

 

Texte de remplacement généré par une machine : Administrateur . • Windows PowerShell ISE Fichier Modifier Afficher Outils Déboguer Nouveau script 1 Composants additionnels Aide Commandes X Tout Modules Nom : x x Actualiser Ln 1 Col 25 Add-AppvClientConnectionGrouF Add-AppvClientPackage Add-AppvPublishingServer Add-AppxPackage Add-AppxProvisionedPackage Add-AppxVolume Add-AzureADAdministrativelJnitt• Add-AzureADApplicationOwner Add-AzureADApplicationPolicy Add-AzureADDeviceRegisteredO Add-AzureADDeviceRegisteredl_E Add-AzureADDirectoryRoleMeml Add-AzureADGroupMember 100 %

 

Je vous renvoie à la documentation officielle, pour la prise en main de l’ISE
https://docs.microsoft.com/fr-fr/powershell/scripting/components/ise/exploring-the-windows-powershell-ise?view=powershell-7

 

 

 

Version PowerShell

 

La version actuelle de PowerShell est la 5.1 installée par défaut sur Windows 10 et Windows Server 2016.  Si vous êtes sur une version Windows ou Windows Server antérieure, il est possible de mettre à jour vers la version 5.1 en suivant ce lien : https://www.microsoft.com/en-us/download/details.aspx?id=54616

 

Pour vérifier, la version que vous avez, il suffit d’exécuter le script suivant :

GET-Host

Texte de remplacement généré par une machine : . Wi ndows powershell ISE Host Name Vers i on 5. 1. 18362 . 628 Ins tanceld : 08f1560a-0011-4bcb-b4b7-5da61ebf94a9 Sys tem. Management. Automati on. In ter na 1 . Host. In ternal Hos tUserInterface UI Currentculture en-US CurrentUICu1ture . fr-FR P ri vateData . Mi crosoft. powershell . Host. ISE.ISEOptions DebuggerEnab1 ed True IsRunspacepushed False Sys tem. Management. Automati on. Runspaces . L ocal Runspace Runspace

 

Maintenant vous savez si vous devez mettre à jour PowerShell

 

 

 

Les galeries de commandes

 

Les modules nécessaires à l’exécution des commandes pour Office 365 sont disponibles en ligne sous forme de packages.  Il existe deux galeries principales (Repository)

 

Dans la majorité des cas, la galerie officielle est suffisante, mais dans d’autres cas il faut utiliser celle de test, en effet certaines commandes ne sont pas disponibles dans le Repository officiel.

 

Pour connaître les galeries référencées sur votre poste, vous pouvez le vérifier via la commande

Get-PSRepository

Texte de remplacement généré par une machine : Name PSGa1 lery poshTestGa11 ery Instal 1 ati onpol i cy Untrusted Untrusted SourceLocati on h ttps : //www. powershel 1 ga11ery.com/api/v2/ h ttps : //www. posh tes tgal 1 ery. com/api/v2/

 

 

Pour enregistrer la galerie de test sur votre poste, vous pouvez exécuter la commande suivante

Register-PackageSource -Name PoshTestGallery -Location https://www.poshtestgallery.com/api/v2/ -ProviderName PowerShellGet

Pour retirer la galerie de test

Unregister-PSRepository -Name "PoshTestGallery"

 

Il est préférable de rendre vos galeries « Trusted », ainsi lors de l’import des modules, vous n’aurez pas à confirmer qu’elles sont de confiance.

Set-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
Set-PSRepository -Name "PoshTestGallery" -InstallationPolicy Trusted

Get-PSRepository

Texte de remplacement généré par une machine : Name poshTestGa11 ery PSGa1 lery Instal lati onpolicy Trusted Trusted Sou rceL ocati on h ttps : //www. posh tes tgal 1 ery. com/api/v2/ https : //www. powershe 1 1 ga11ery.com/api/v2

 

 

 

 

Installation des modules pour Office 365

 

Pour connaître les modules déjà présents

Get-InstalledModule

Texte de remplacement généré par une machine : Version 2.0.1.11 16. o. 80. 1.0.21 1.1.183.8 3. 19. 20... N ame Azu r eADP r evi ew Mi crosoft. Onli ne. Sharepoint. Powe... M i c rosoftTeams MSOn1 i ne Sharepoi n tpnppowershel Ion] i ne Repos i tory PSGa11 ery PSGa11 ery poshTestGa11ery PSGa11 ery PSGa11 ery Description Azure Active Di rectory V2 Preview Module. . Microsoft Sharepoint Online Services Module for Windows powershell Teams Cmdlets module Microsoft Azure Active Directory Module for Windows powershell Sharepoint Patterns and practices powershell Cmdlets for Sharepoint Onl ine

 

 

Azure ActiveDirectory (MSOnline)

Ce module vous permet d’effectuer des tâches sur les utilisateurs, les permissions, les groupes de permissions, etc.

La version actuelle disponible est la 2.0 dans la galerie « PSGallery »

 

Pour installer le module – Azure AD à la dernière version

Install-Module -Name AzureADPreview -Repository  PSGallery

Pour retirer le module Azure AD

Uninstall-Module -Name AzureADPreview

 

 

Microsoft Teams

Ce module vous permet d’effectuer des tâches sur les environnements de Teams.

La version actuelle disponible est la 1.0.5 dans la galerie « PSGallery »

La version actuelle disponible est la 1.0.21 dans la galerie « PoshTestGallery »

 

Pour installer le module MicrosoftTeams à la dernière version officielle

Install-Module -Name MicrosoftTeams -Repository  PSGallery

Pour installer le module MicrosoftTeams à la dernière version de test

Install-Module -Name MicrosoftTeams -Repository  PoshTestGallery

Pour retirer le module MicrosoftTeams

Uninstall-Module -Name MicrosoftTeams

 

SharePoint Online

Pour SharePoint Online il existe plusieurs libraires de commandes

 

PnP PowerShell (SharePoint Patterns and Practices)  fournit une bibliothèque de commandes qui vous permet d’effectuer des actions de gestion complexes d’approvisionnement vers SharePoint Online et SharePoint Local

La version actuelle disponible est la 3.19 dans la galerie « PSGallery »

Il n’existe pas de libraire dans la galerie « PoshTestGallery »

 

Pour l’installer

Install-Module -Name SharePointPnPPowerShellOnline -Repository  PSGallery

Pour le retirer

Uninstall-Module -Name SharePointPnPPowerShellOnline

Pour le mettre à jour

Update-Module SharePointPnPPowerShell*

SharePoint Online Management Shell est un module Windows PowerShell que vous pouvez utiliser pour gérer les paramètres SharePoint Online uniquement

Pour l’installer

Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Repository  PSGallery

Pour vérifier si ce module est déjà présent

Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select Name,Version

 

 

Authentification

 

Mais avant de pouvoir exécuter un script, il faut ouvrir une session utilisateur.  Je vous propose ici une façon d’introduire votre identifiant de manière manuelle mais assez sécurisée pour vos scripts « manuels »

$AdminLogin = "admin@contoso.com" $AdminPassword = Read-Host -Prompt "Enter your Office 365 Password" -AsSecureString 
$credential = new-object System.Management.Automation.PSCredential $AdminLogin, $AdminPassword

Ce script va vous demander d’introduire le mot de passe pour le compte « admin@consoto.com », compte qui doit posséder des droits suffisants pour exécuter toutes vos commandes PowerShell.  Sur base de l’identifiant et du mot de passe que vous allez introduire, il va stocker tout cela dans un objet de type PSCredential qui sera utilisé pour ouvrir une session sur votre tenant Office 365.  Merci donc d’adapter le paramètres $AdminLogin à votre contexte Office 365

 

 

 

Tests des modules Office 365

 

Azure ActiveDirectory (MSOnline)

#Authentification 
$AdminLogin = "admin@contoso.com" $AdminPassword = Read-Host -Prompt "Enter your Office 365 Password" -AsSecureString 
$credential = new-object System.Management.Automation.PSCredential $AdminLogin, $AdminPassword 

#Ouverture d'une session sur Azure AD Preview 
Connect-MsolService -Credential $credential 

#Obtention de la liste de vos utilisateurs Office 365 
Get-MsolUser

 

 

Microsoft Teams

#Authentification 
$AdminLogin = "admin@contoso.com" $AdminPassword = Read-Host -Prompt "Enter your Office 365 Password" -AsSecureString 
$credential = new-object System.Management.Automation.PSCredential $AdminLogin, $AdminPassword   

#Ouverture d'une session sur Teams 
Connect-MicrosoftTeams -Credential $credential 

#Obtention d'une liste de vos équipes Teams 
Get-Team

 

 

SharePoint Online

#Authentification
$AdminLogin = "admin@contoso.com"
$AdminPassword = Read-Host -Prompt "Enter your Office 365 Password" -AsSecureString
$credential = new-object System.Management.Automation.PSCredential $AdminLogin, $AdminPassword

#Ouverture d'une session sur SharePoint Online
Connect-PnPOnline -url "https://contoso.sharepoint.com"  -Credentials $credential

#Obtention des propriétés de votre tenant Office 365
Get-PnPTeant

 

 

Vous voilà armés pour effectuer vos premiers scripts pour Office 365, SharePoint et Teams

Comment avez-vous trouvé ce billet ?

N'hésitez pas à voter !

Score moyen 5 / 5. Nombre de vote 1


guest
0 Commentaires
Inline Feedbacks
View all comments