locked
Remote PowerShell : les bases RRS feed

  • Discussion générale

  • PowerShell est un outil en ligne de commande bien connu dans le monde de SharePoint 2010. Il permet de gérer votre ferme SharePoint en se passant totalement de l'interface utilisateur ce qui a pour conséquence un sérieux gain de temps. Un autre avantage, et non des moindres, est la possibilité de créer un script qui rassemble un certain nombre de lignes de commande pour automatiser certaines tâches récurrentes ou la modification de paramètre en masse (création de plusieurs utilisateurs et association à un rôle par exemple). Ayant l'habitude de travailler directement sur des serveurs je me demandais s'il était possible de gérer son environnement Office365 avec cet outil. La réponse étant que "Oui, c'est possible grâce à Remote PowerShell".

    Pour utiliser Remote PowerShell vous aurez besoin que le Windows Management Framework tourne sur votre ordinateur. Celui-ci contient Windows PowerShell v2 ainsi que WinRM 2.0. (déjà installé sur Windows 7 et Windows 2008 Serveur) Vous aurez également besoin du module Microsoft Online PowerShell qui offre une série d'action (appellé cmdlet) spécifique à Office 365.

    Ce module est téléchargeable aux adresses suivantes :

    Version 32 bit (X86) : http://g.microsoftonline.com/0BD00en-US/85
    Version 64 bit (X64) : http://g.microsoftonline.com/0BD00en-US/126

    Une fois le module télécharger, installez-le comme n'importe quel application en validant les paramètres de sécurité. Démarrer à présent PowerShell en cliquant sur le lien qui vient d'être crée sur votre Bureau.

    La première chose à faire avant de se connecter sur notre environnement Office 365 est de charger le module que l'on vient d'installer. Ceci peut être fait par l'utilisation du cmdletImport-module MSOnline

    Ensuite il faut placer nos identifiant de connexion dans une variable (admin par exemple), en utilisant la commande$admin = Get-Credential .

    Pour finir, il faut utiliser la commande Connect-MsolService -Credential $admin pour établir une connexion sécurisée avec Microsoft Online.

    La connexion étant établie, nous pouvons la tester en utilisant le cmdltGet-MsolUser pour obtenir la liste de tous les utilisateurs de notre environnement Office 365.

    Voici la copie d'écran des étapes à réaliser.

    Voyons à présent quelques exemples d'utilisation pour la gestion des utilisateurs.

    Pour ajouter un utilisateur, on utilisera le Cmdlet New-MsolUser ainsi que les propriétés de l'utilisateur.

    Exemple : New-MsolUser -UserPrincipalName tom.pouce@sharepointafterwork.fr -DisplayName"Tom Pouce" -FirstName"Tom" -LastName"Pouce"

    Maintenant que notre ami Tom Pouce a été ajouter à nos utilisateurs il va falloir lui assigner une licence. Pour cela utilisons le CmdletGet-MsolAccountSku qui nous retourneras l'écran suivant :

    Sur cet écran nous retrouvons la liste des licences active ainsi que le mode de répartition de celle-ci. En ce qui me concerne je n'ai souscrit qu'à 2 licences de type P1 (la plus basique) comme l'indique le AccountSkuID de type LITEPACK. Sachez qu'il en existe plusieurs en fonction de votre abonnement comme le ENTREPRISEPACK et le SHAREPOINTSTANDARD.

    Maintenant que nous avons ces informations, nous allons pouvoir utiliser le CmdletSet-MsolUserLicence avec comme paramètre AddLicences pour ajouter une licence etRemoveLicences pour en supprimer une.

    Exemple : Set-MsolUserLicence -UserPrincipalName tom.pouce@sharepointafterwork.fr -AddLicences "sharepointafterwork:ENTREPRISEPACK" -RemoveLicences "sharepointafterwork:SHAREPOINTSTANDARD"

    N.B.: on ne peux attribuer qu'une licence par utilisateur ce qui signifie que pour faire un upgrade il faut penser à en retirer une comme dans l'exemple ci-dessus.

    Pour supprimer un utilisateur, rien de plus simple : Remove-MsolUser -UserPrincipalName tom.pouce@sharepointafterwork.fr

    Gestion des mots de passe

    Pour changer le mot de passe d'un utilisateur on utilisera le Cmdlet Set-MsolUserPassword avec la propriétéNewPassword pour spécifier un nouveau mot de passe. Si on n'utilise pas cette propriété, le système en fournira un d'office et celui-ci sera envoyé par email à l'utilisateur en question. Une autre propriété intéressante étant ForceChangePassword qui forcera l'utilisateur à modifier son mot de passe lors de la première connexion.

    Exemple : SetMsolUserPassword -UserPrincipalName tom.pouce@sharepointafterwork.fr -NewPassword "password" -ForceChangePassword $false

    Pour bloquer les accès à Office365 d'un utilisateur sans pour autant le supprimer :Set-MsolUser -UserPrincipalName tom.pouce@sharepointafterwork.fr -BlockCredential $true

    Par défaut, la période d'expiration d'un mot de passe est de 90 jours. Pour supprimer cette période et faire en sorte que l'utilisateur conserve sont mot de passe on utilisera le CmdletSet-MsolUser et sa propriété PasswordNeverExpires comme dans l'exemple ci-dessous.

    Exemple : Set-MsolUser -UserPrincipalName tom.pouce@sharepointafterwork.fr -PasswordNeverExpires $true

    N.B.: La complexité du mot de passe peut également être modifiée. Par défaut, Office365 requiert un certain niveau de complexité qui peut être désactivé par la propriété-StrongPasswordRequired $false

    Comme vous avez pu le constater, il n'y a rien de bien sorcier dans tout ça. Le Cmdlet principalSet-MsolUser est associé à une multitude de propriétés qui permettent de gérer les accès à votre environnement Office365. Sachez tout de même qu'il n'y a pas que les accès qui peuvent être gérer via Remote Powershell, nous pouvons aussi gérer les groupes de sécurité, les domaines, les rôle d'administrateur et j'en passe...

    Bon amusement.

     


    Pascal P
    http://sharepoint-afterwork.fr
    Nouveaux site en FR
    Twitter: @PascalPoeck

     

    Article écrit par Pascal Poeck, MCC, dans le cadre de l’appel à la contribution : Appel à la contribution!Publiez un tip ou un petit tutorial (comment faire) sur la technologie que vous connaissez le mieux !’’ dans la période 15.07.2010 – 15.09.2011


    mardi 20 septembre 2011 07:53