Accéder au contenu principal

Office 365: Monter une machine de management pour gérer Office 365

 Dans un précédent message, j’expliquais le cas particulier du client CSOM pour la gestion des site SharePoint:

La question qui se pose à ce stade est comment faire pour gérer un Tenant 365.


Machine dédiée

Il est clair que l’interface graphique, même dans sa nouvelle version, reste limitée en fonctionnalités et très rapidement, le scripting devient obligatoire.

De part le mode d’exécution qui est à prévoir sur les différents modules de la plateforme, une machine dédiée est rapidement obligatoire:

  • Tache planifiée
  • Script de check ou contrôle
  • Outil de provisionning
  • Outil de migration

De plus, un serveur permet de ne pas être attaché au développeur ou consultant en cas de remplacement.

Il n’est pas non plus nécessaire d’avoir le modèle objet de SharePoint, puisque tout se fait en Remote (via PowerShell), donc un simple serveur Windows 2012 R2 avec les FrameWork .NET nécessaires aux applications de gestion. Il faudra ensuite installer:

  1. Office 365 PowerShell for SharePoint Online
  2. SharePoint Online Client Components SDK (SharePoint Online)
  3. SharePoint Server 2013 Client Components SDK (SharePoint 2013 si nécessaire)


Online et On-Premise ?

Attention, pour les environnements On-Premises, la version CSOM pour SP Online est un fork de la version On-Premise de SharePoint 2016, ainsi on ne peux pas installer la dernière version CSOM 2016 On-Premise une fois le module Online installé, on obtient d’ailleurs le message suivant:image

Si vous devez gérer les deux environnnements (SP Online et SP 2016 On-Premise), il vous faudra deux serveurs de gestion. En revanche, gérer SP Online et SP 2013 On-Premise est bien possible depuis une seule et même machine, puisque les deux versions s’installent sans soucis:

  • SharePoint On-Premise 2013: CSOM version 15.0.4711
  • SharePoint Online 2016: CSOM version 16.0.4002
imageimage


Comment charger CSOM dans les scripts PowerShell

Il est possible de faire la méthode “à l’arrache” pour cela, sans aucune certitude de la portabilité et de la version du modèle CSOM chargé (2013, 2016 Online ou 2016 On-Premise) via la commande LoadWithPartialName (qui est d’ailleurs Obsolète maintenant), comme suit:

function Add-SPOAssemblies {
     [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client") | Out-Null
     [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime") | Out-Null
}

Cette commande prendra la version qui est définie dans les assemblies de votre serveur, si on prend le cas d’une machine fraichement installée avec les deux CSOM (SP Online 2016 et SP On-Premise 2013) la commande suivante nous donne le résultat:

$loadInfo1 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
write-host $loadInfo1.FullName
>> Microsoft.SharePoint.Client, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

La version de l’assembly chargée est donc bien la SP Online 2016, ce qui peut poser des problème dans votre script.

Il est donc préférable d’utiliser le pointeur vers la DLL à charger directement:

SP On-Premise 2013:

Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

SP Online 2016:

Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "c:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

D’ailleurs une rapide comparaison des répertoires ISAPI indique de nombreux changements entre les deux versions:

SP On-Premise 2013SP Online 2016
imageimage

Ce qui pousse bien dans la direction d’utiliser CSOM pour toute la gestion de SharePoint à l’avenir.


Autres outils

Tout ceci dépendra de vos besoins en interne et de la fédération des équipes de gestion de votre tenant Office 365. Si vous êtes organisé en silot indépendant, il est préférable d’avoir un serveur par type de produit (Exchange Online, SharePoint Online, Skype, …). Si en revanche, votre équipe est bien organisée, vous pouvez mettre tout le monde sur le même serveur de gestion en définissant simplement des règles d’usage et de priorité.

Attention toutefois à ce que ce serveur soit bien considéré comme de la production sous peine d’y retrouver un fourre-tout ingérable très rapidement.

Romelard Fabrice [MBA Risk Management]

Commentaires

Posts les plus consultés de ce blog

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab

Présentation des outils utiles pour l'entretien de ses haies vives

Afin de gérer les haies vives, il est nécessaire d'avoir recourt à un matériel adapté. Les solutions à batteries sont bien adaptées pour un usage personnel avec des dimensions raisonnables. Ainsi dans mon cas précis, j'utilise les outils suivants de la Gamme Ryobi 18V ONE+ électroportatif: Petit taille-haies simple mais efficace -  RYOBI OHT1855R Un modèle plus puissant qui fonctionne très bien -  RYOBI RY18HTX60A Pour les parties hautes de vos haies, voici un outil très utile -  RYOBI OPT1845 Enfin lorsque vous devez élaguer certains arbres ou certaines partie hautes de vos haies, ce dernier outil est très utile -  RYOBI OPP1820 Ces outils font parti maintenant de mon arsenal de base pour maintenir notre maison chaque saison de taille. Fab

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab