
Interagir avec SharePoint via une connexion PowerShell ?
Qu’est ce que PowerShell ?
PowerShell est une solution d’automatisation de tâches pouvant être utilisée sur différentes plateformes (PC, Mac ou Linux).
PowerShell fonctionne grâce à un langage de script et d’une librairie de gestion permettant de configurer le fonctionnement de l’outil.
Bien que moderne et très pratique au quotidien, PowerShell ne dispose pas d’interface graphique à proprement parlé, il se base sur des lignes de commandes et retourne aux utilisateurs du texte « brut ».
Prérequis à « l’interfaçage » entre PowerShell et SharePoint Online
La dernière de PowerShell est moins permissive pour l’établissement d’une connexion avec SharePoint Online, il est désormais nécessaire de créer sur le tenant Microsoft cible, une application d’entreprise autorisant les interactions de manière générale entre votre machine locale où PowerShell sera exécuté et le tenant Microsoft.
Cette application se retrouvera dans l’outil de gestion des identités (au sens large), Microsoft Entra.
Avant d’installer cette application sur le tenant, il sera nécessaire si vous ne l’avez pas déjà fait, d’installer sur votre machine PowerShell et l’extension pour SharePoint Online. Vous trouverez les liens à la fin de cet article.
Créer l’application dans Entra à l’aide d’une ligne de commande PowerShell
La commande permettant d’intégration d’une application dans Entra dédiée à PowerShell est relativement simple. La voici :
Register-PnPEntraIDAppForInteractiveLogin -ApplicationName "App PnP PowerShell" -SharePointDelegatePermissions "AllSites.FullControl" -Tenant URL_DE_VOTRE_TENANT.COM -Interactive
Dans l’extrait de code ci-dessus, n’oubliez pas de personnaliser au minimum l’URL de votre tenant Microsoft. Si vous le souhaitez, le paramètre ApplicationName (ici App PnP PowerShell) peux être modifié.
Durant le processus, une fenêtre de votre navigation s’ouvrira afin de vous authentifier sur le tenant et pour que vous puissiez confirmer votre souhait d’ajout.
A la fin de l’exécution de cette commande, l’interface vous affichera l’identifiant de votre application. Veillez à copier ce dernier et à le conserver car il vous sera nécessaire pour établir la connexion dans l’étape suivante.
Etablir facilement une connexion entre PowerShell et SharePoint Online
Maintenant que votre application est créée, que vous disposez de son ID, vous allez être en mesure d’établir une connexion entre votre poste de travail et SharePoint.
Voici un exemple de code permettant la connexion :
#Paramètres
$ClientID = "LA VALEUR APPID ISSUE DE L'ETAPE PRECEDENTE"
$SourceSiteURL = "L'URL DU SITE SHAREPOINT AVEC LEQUEL VOUS SOUHAITEZ INTERAGIR"
#Connexion au site où $SourceSiteURL est l'adresse du site SPO
Connect-PnPOnline -Url $SourceSiteURL -Interactive -ClientId $ClientID
Si vous disposez d’une version de PowerShell antérieure à la version 7.5, par exemple, une version 5, il est possible d’établir une connexion plus simplement ; c’est à dire, sans avoir à recourir à la déclaration d’une application d’entreprise dans Entra. Voici l’exemple de la « vieille » méthode :
#Paramètres $SourceSiteURL = "L'URL DU SITE SHAREPOINT AVEC LEQUEL VOUS SOUHAITEZ INTERAGIR" #Connexion à SharePoint Online Connect-PnPOnline -Url $SourceSiteURL -UseWebLogin
Ici le paramètre -UseWebLogin lance votre navigateur afin que vous puissiez vous identifiez sur le site SharePoint Online à l’aide de votre login/mot de passe de connexion « classique ».
Quelques liens utiles :
- Lien vers le téléchargement de PowerShell : https://learn.microsoft.com/fr-fr/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.5
- Lien vers l’extension SharePoint pour PowerShell : https://learn.microsoft.com/fr-fr/powershell/sharepoint/sharepoint-online/connect-sharepoint-online
- Découvrir d’autres articles et astuces PowerShell sur PowerPlatform Addict