Office 365 & SCCM – Déployer Office 2013 ProPlus via Configuration Manager

Annoncé comme impossible, le déploiement intégral via System Center Configuration Manager de la suite Office Pro Plus fourni avec les abonnements Office 365 et basé sur le « Click To Run » pose des problèmes à nombre d’entre nous.

Je vous propose au travers de cet article de découvrir comment contourner cette lacune en déployant une version personnalisée d’Office Pro Plus (365) via votre outil de déploiement préféré.

Nous avons abordés au travers de l’article suivant, la personnalisation et le déploiement d’Office Pro Plus (365).

L’article ici présent se base sur les compétences acquises lors de la lecture du précédent article.

Pour rappel, il existe aujourd’hui deux grandes solutions pour le téléchargement et l’installation d’Office auprès de nos utilisateurs Office 365 :
Le téléchargement de l’utilitaire « Click To Run » par l’utilisateur depuis le portail Office 365 puis un téléchargement de l’intégralité du pack Office depuis Internet.
L’utilisation de l’utilitaire « Office Deployment Tool for Click-to-Run » permettant aux administrateurs de personnaliser et de déployer le pack Office depuis un partage de fichier local ou depuis Internet.

Dans le second cas (« Office Deployment Tool for Click-to-Run »), l’emplacement des sources d’installation est précisé dans le fichier de configuration (configuration.xml), cette configuration (statique) n’empêche pas le déploiement via SCCM car soit les sources seront téléchargées depuis Internet, soit elles le seront depuis un partage réseau. Cependant, dans le cas de cet article, l’objectif est de déployer l’intégralité du package et de ses sources via Configuration Manager afin de contrôler de bout en bout ce déploiement.

Afin de procéder à l’intégration complète à SCCM du package et des sources, il faut « dynamiser » le fichier XML afin de préciser l’emplacement des sources d’installation de façon dynamique en fonction de l’emplacement effectif du package complet au moment de l’exécution de celui ci sur le client. Dans le cas de l’utilisation d’SCCM, les sources seront donc sur la machine cliente dans le dossier de cache du client SCCM.

Généralement celui ci se situe à l’emplacement suivant : C:\Windows\CMCache\, la fin du chemin étant dynamique en fonction des ID de packages.

Le processus de « dynamisation » est effectué via le script que je vous propose ci dessous. Celui ci exécute les actions suivantes :

– Initialisation des variables (chemin d’exécution du package entre autres).
– Mise en place du logging (Les logs générés sont au format CMTrace, outil fourni avec SCCM 2012.).
– Copie du fichier XML contenant un chemin générique « ##### » vers le dossier de sources. (vous aurez donc préalablement modifié cet emplacement dans le fichier XML).
– Remplacement dynamique du chemin générique « ##### » par le chemin effectif des sources.
– Exécution du setup.exe avec l’attribut /configure ainsi que le chemin vers la copie modifiée du fichier de configuration.

Ce script sera à placer dans un dossier parent du dossier « FullDL » (dossier contenant les source téléchargées), ce dossier contiendra également le fichier « ConfigurationStandard.xml » qui est le fichier de personnalisation de l’installation dans lequel j’ai remplacé le chemin vers les sources par la valeur : « ##### »

FoldersArchi

Voici le script :


Option Explicit
‘****** START – INIT Variables ******

‘Tools Variables
Dim oFso, oShell, oFile

‘Gathered Informations Variables
Dim ScriptDirectory, ScriptPath, logFolder,LogFilePath
Dim fileNameWoExt, fileNameExt
Dim currentXMLPath, newXMLPath, newSourceFolder, strText, strNewText

‘Service variables
Set oFso = CreateObject(« Scripting.FileSystemObject »)
Set oShell = Wscript.CreateObject(« WScript.Shell »)

ScriptDirectory = oFso.GetParentFolderName(WScript.ScriptFullName) & « \ »
‘msgbox « ScriptDirectory: »&ScriptDirectory

fileNameExt =oFso.GetfileName(WScript.ScriptName)
‘msgbox « fileNameExt: »&fileNameExt

fileNameWoExt =split(oFso.GetfileName(WScript.ScriptName), ». »)(0)
‘msgbox « fileNameExt: »&fileNameExt

ScriptPath = ScriptDirectory & fileNameExt
‘msgbox « ScriptPath: »&ScriptPath

logFolder= « c:\Logs »& »\ »&fileNameWoExt
LogFilePath = logFolder& »\ »&fileNameWoExt& ».log »
‘****** END – INIT Variables – ******

‘****** START – INSTALLATION Preparation – ******
‘ Create Log Folder
If Not oFso.FolderExists(LogFolder) Then
oShell.Run « cmd /c mkdir « & LogFolder,,1
End If
WriteToLog « — Start XML Copy & Rewrite »,1

newSourceFolder = ScriptDirectory & »\FullDL\ »

currentXMLPath = ScriptDirectory& »ConfigurationStandard.xml »
newXMLPath = LogFolder& »\ »& »ConfigurationStandard.xml »

WriteToLog « – newSourceFolder =  » & newSourceFolder, 1
WriteToLog « – currentXMLPath =  » & currentXMLPath, 1
WriteToLog « – newXMLPath =  » & newXMLPath, 1

‘Copy XML to logFolder
WriteToLog « Copy XML to logFolder : Start »,1
oFso.CopyFile currentXMLPath, newXMLPath
WriteToLog « Copy XML to logFolder : Done »,1

‘Find and replace sources Path
WriteToLog « Find and replace sources Path in XML : Start »,1
Set oFso = CreateObject(« Scripting.FileSystemObject »)
Set oFile = oFso.OpenTextFile(newXMLPath, 1)
strText = oFile.ReadAll
oFile.Close
strNewText = Replace(strText, « ##### », ScriptDirectory& »FullDL »)
Set oFile = oFso.OpenTextFile(newXMLPath, 2)
oFile.WriteLine strNewText
oFile.Close
WriteToLog « Find and replace sources Path in XML : Done »,1
WriteToLog « — END XML Copy & Rewrite »,1

‘****** END – INSTALLATION Preparation – ******

‘****** START – INSTALLATION TASKS – ******

WriteToLog « Package Installation : Start »,1

WriteToLog ScriptDirectory& »setup.exe /configure « & newXMLPath,1
oShell.run ( ScriptDirectory& »setup.exe /configure « & newXMLPath),,1

WriteToLog « Package Installation : Done »,1

‘****** START – End Of Script – Send Return Code ******
WScript.Quit
‘****** END – End Of Script – Send Return Code ******

‘********************************************************************
‘****** START – Functions – ******

Function WriteToLog(sText,sInfoType)
‘ sInfoType :
‘ 1=Info
‘ 2=Warning
‘ 3=Error
‘ 4=Verbose

Dim sTime,sDate,sTempMsg
sTime = Right(« 0 » & Hour(Now), 2) & « : » & Right(« 0 » & Minute(Now), 2) & « : » & Right(« 0 » & Second(Now), 2) & « .000+000 »
sDate = Right(« 0 » & Month(Now), 2) & « – » & Right(« 0 » & Day(Now), 2) & « – » & Year(Now)

sTempMsg = « « 

Dim objFSO: Set objFSO = CreateObject(« Scripting.FileSystemObject »)
Dim oTextFile: Set oTextFile = objFSO.OpenTextFile(LogFilePath, 8, true)

oTextFile.WriteLine sTempMsg
oTextFile.Close
End Function
‘****** END – Functions – ******

Vous aurez donc via ce script (loin de la perfection) un outil de déploiement d’Office 365 Pro Plus sur vos postes de travail !

Je me tins a votre disposition pour tout bug ou commentaire !

Please follow and like us:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Social media & sharing icons powered by UltimatelySocial