Archive

Posts Tagged ‘Unattended’

SCCM – Script PowerShell d’installation automatisée de toute la solution Microsoft pour Microsoft SCCM 2007 SPx Rx (Rôles Serveur, IIS (Webdav, etc.) SQL 2008, WSUS, SCCM (primaire ou Secondaire))

logo-sccm-2007

Bonjour à tous,

Voici la version « définitive » du script d’automatisation des installations pour SCCM (ou autres)… Englobant l’installation automatique des rôles et fonctions serveurs (R2 ou non) de Microsoft SQL 2008 server (R2 ou non), de WSUS 3.0 SP2 en normal ou en NLB, et enfin de SCCM 2007 SPx Rx

De plus, celui-ci permet de préparer l’environnement de Hydration, création des répertoires qui accueilleront les sources de chaque solutions susnommées. Et celui-ci, avec les arguments –DiskConfig et –Ipconfig permettra respectivement de configurer le disque des installations (où seront installées chaque solutions (SQL, SCCM, etc.) et la carte réseau (Adresse IP, Gateway, DNS, etc.).

Utilisation d’un fichier CSV

La particularité de cette version réside dans l’utilisation d’un fichier CSV que vous devez au préalable renseigner afin de correspondre avec votre environnement cible. Donc plus besoin de modifier le script pour renseigner les infos nécessaires comme avant…

Petite précision, tout ce que vous renseignez dans le fichier CSV est créé à la volée… (Répertoires source, cibles, fichiers de réponse d’installation, etc.)

Si je prends l’exemple de l’installation de Microsoft SCCM (i-hydration-v8.0.ps1 -pconfigmgr), le répertoire cible que vous avez spécifié dans le CSV (où vous avez décidé d’installer SCCM) est automatiquement créé ! (En l’occurrence ici, E:\Apps\MSSCCM dans le screenshot suivant…)

Il faut savoir que pour SQL 2008 Rx ou non, la création des répertoires d’installation sont créés par l’assistant (setup.exe) lui-même. Donc le script n’a pas besoin de le faire… (.\i-hydration-v8.0.ps1 –sqlsrv[R2])

clip_image002

Test des environnements

De plus dans cette version, des contrôles sont faits afin d’éviter des accidents ou des maladresses, exemple pour une même instance SQL :

clip_image004

Idem pour le Switch –DiskConfig qui réinitialise le disque dur d’accueil où seront installées vos applications…

clip_image006

Préparation de l’environnement

Pour la préparation de l’environnement Hydration afin d’organiser le déploiement, il suffit de passer la commande : i-hydration-v8.0.ps1 –prepsrv

Cette commande créera les répertoires d’accueil dans lesquels seront ensuite copier par vos soins les sources (binaires) de vos applications (SCCM, SQL, etc.). Le CSV par défaut, pointe sur ces répertoires, mais rien ne vous empêches de pointer sur d’autres répertoires ou même lecteur DVD ou CD

clip_image008

Aide sur l’utilisation du script

Pour finir, je vous invite comme toujours à passer la commande
i-hydration-v8.0.ps1 –help, afin de prendre connaissance des fonctions que l’on peut utiliser avec ce script

De plus, avec –help, le script mappe le fichier .CSV et vous montres les variables qui seront utilisées par le script.

Partie haute : Utilisation du script
Partie centrale : Les cmds construites à la volée, qui seront utilisées par le script
Partie basse : Les variables qui sont actuellement en vigueurs pour le script

image

Je vous conseille bien sûr de tester le script dans un environnement non sensible, afin de vous l’approprier et de détecter qu’il est bien en adéquation avec vos besoins. Petite précision, l’installation de SQL prend déjà en compte les prérequis pour Microsoft forefront… Mais pour se faire, ne pas utiliser d’instance nommée SQL (Seule l’instance par défaut est utilisable)

64pxwindows-powershell-icon Téléchargement du script

Enjoy !

Michel PICOLLET | EXAKIS Paris
Consultant Senior Microsoft [System Center]
mpicollet@event-horizon.emea.microsoftonline.com

SCCM – Comment automatiser les installations pour SCCM ?

LEVEL 200

Le but de ce post est de vous permettre de gagner du temps dans les installations de plateformes SCCM. Je vous donnerais dans ce post les commandes et fichiers de réponse dont vous aurez besoin pour arriver à gagner du temps.

logo-sccm-2007

Rappel :

Microsoft SCCM (ConfigMgr) 2007 a besoin de certains prérequis pour fonctionner. Et ceux sont souvents ces fameux prérequis qui prennent le plus de temps à préparer avant d’arriver enfin à l’installation de SCCM.

Liste des installations à effectuer :

– Installation de Microsoft IIS 7.x (ASP, etc.) Step1
– Activation de Microsoft BITS Step1
– Installation de Microsoft WebDAV 7.x Step 1 et 2 
– Activation de Microsoft RDC (Remote Differential Compression) Step1
– Installation de Microsoft SQL Server 200x SPx Step4
– Installation de Microsoft WSUS 3.0 SP2 Step5
– Installation de Microsoft WDS (Windows Deployment Service) Step6
– Installation de Microsoft SCCM 2007 SPx Step7

    Version du socle

Deux environnements (ou versions du socle OS) à prendre en compte toutefois concernant les scripts ou lignes de commande : La version Microsoft Windows 2008 Server SPx ou Microsoft Windows 2008 Server R2.

Commandes d’installation et d’activation

Voici les commandes en question dans les deux versions de Windows Server

– En rouge –> Seulement pour Windows 2008 R2
En vert –> Non-obligatoire (En fonction de votre besoin)

1. Installation des rôles et fonctions serveur pour Microsoft SCCM

Concept – Commande à passer :
C:\> ServerManagerCMD.exe –Inputpath Fichier_Réponse.xml

Fichier_Réponse.xml pour la version Windows 2008 SPx (Sans R2)
A copier par ex. dans un fichier .xml –> Install.xml

—————- Copier/Coller—————–

<?xml version="1.0" encoding="UTF-16"?>
<ServerManagerConfiguration Action="Install" xmlns="http://schemas.microsoft.com/sdm/Windows
/ServerManager/Configuration/2007/1">
<RoleService Id="Web-Static-Content" />
<RoleService Id="Web-Default-Doc" />
<RoleService Id="Web-Dir-Browsing" />
<RoleService Id="Web-Http-Errors" />
<RoleService Id="Web-Http-Redirect" />
<RoleService Id="Web-Asp-Net" />
<RoleService Id="Web-Net-Ext" />
<RoleService Id="Web-ASP" />
<RoleService Id="Web-ISAPI-Ext" />
<RoleService Id="Web-ISAPI-Filter" />
<RoleService Id="Web-Http-Logging" />
<RoleService Id="Web-Log-Libraries" />
<RoleService Id="Web-Request-Monitor" />
<RoleService Id="Web-Http-Tracing" />
<RoleService Id="Web-Windows-Auth" />
<RoleService Id="Web-Filtering" />
<RoleService Id="Web-Stat-Compression" />
<RoleService Id="Web-Mgmt-Console" />
<RoleService Id="Web-Scripting-Tools" />
<RoleService Id="Web-Mgmt-Service" />
<RoleService Id="Web-Metabase" />
<RoleService Id="Web-WMI" />
<RoleService Id="Web-Lgcy-Scripting" />
<Role Id="WDS" />
<Feature Id="NET-Framework-Core" />
<Feature Id="RSAT-Bits-Server" />
<Feature Id="BITS" />
<Feature Id="RDC" />
<Feature Id="RSAT-Web-Server" />
</ServerManagerConfiguration>

—————– Copier/Coller—————–

Fichier_Réponse.xml pour la version 2008 R2
A copier par ex. dans un fichier .xml –> Install_for_R2.xml

—————– Copier/Coller—————–

<?xml version="1.0" encoding="UTF-16"?>
<ServerManagerConfiguration Action="Install" xmlns="http://schemas.microsoft.com/sdm/Windows
/ServerManager/Configuration/2007/1">
<RoleService Id="Web-Static-Content" />
<RoleService Id="Web-Default-Doc" />
<RoleService Id="Web-Dir-Browsing" />
<RoleService Id="Web-Http-Errors" />
<RoleService Id="Web-Http-Redirect" />
<RoleService Id="Web-Asp-Net" />
<RoleService Id="Web-Net-Ext" />
<RoleService Id="Web-ASP" />
<RoleService Id="Web-ISAPI-Ext" />
<RoleService Id="Web-ISAPI-Filter" />
<RoleService Id="Web-Http-Logging" />
<RoleService Id="Web-Log-Libraries" />
<RoleService Id="Web-Request-Monitor" />
<RoleService Id="Web-Http-Tracing" />
<RoleService Id="Web-Windows-Auth" />
<RoleService Id="Web-Filtering" />
<RoleService Id="Web-Stat-Compression" />
<RoleService Id="Web-Mgmt-Console" />
<RoleService Id="Web-Scripting-Tools" />
<RoleService Id="Web-Mgmt-Service" />
<RoleService Id="Web-Metabase" />
<RoleService Id="Web-WMI" />
<RoleService Id="Web-Lgcy-Scripting" />
<RoleService Id="Web-DAV-PUBLISHING" />
<Role Id="WDS" />
<Feature Id="NET-Framework-Core" />
<Feature Id="RSAT-Bits-Server" />
<Feature Id="BITS" />
<Feature Id="RDC" />
<Feature Id="RSAT-Web-Server" />
</ServerManagerConfiguration>

—————– Copier/Coller—————–

2. Installation de Microsoft WebDAV 7.x + Activation / Configuration

Installation à faire uniquement pour Windows 2008 SPx sans R2.

image 

Télécharger l’application WebDAV depuis le Site Microsoft, puis passer la commande suivante : C:\…\webdav_x64_rtw.msi /qb

3. Configuration de WebDAV après son installation

(Pour les 2 versions Windows de 2008)

Note : En Blue –> [Option] Prise en considération des problèmes suivants :

SCCM – Le téléchargement de packages depuis les clients SCCM, possédant plusieurs fichiers ou dossiers, est trop long ou semble être blocké !

Message d’erreur lorsque vous visitez un site Web hébergé sur IIS 7.0: « HTTP Error 404.11 – URL_DOUBLE_ESCAPED »

“Copier-Coller” ce qui suit dans un fichier cmd ou .bat et exécuter-le avec les droits d’Administrateur local :

A copier par ex. dans un fichier .cmd –> set-iis7secu.cmd

—————– Copier/Coller—————–

C:\Windows\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true
/commit:apphost

C:\Windows\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoringRules
/allowNonMimeMapFiles:true /commit:apphost

C:\Windows\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoringRules
/+"[users=’administrator’,path=’*’,access=’Read,Write,Source’]"
/commit:apphost

C:\Windows\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoringRules
/+"[users=’*’,path=’*’,access=’Read’]" /commit:apphost

C:\Windows\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring
/properties.allowAnonymousPropfind:true /commit:apphost

C:\Windows\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring
/properties.allowCustomProperties:False /commit:apphost

C:\Windows\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring
/properties.allowInfinitePropfindDepth:true /commit:apphost

C:\Windows\system32\inetsrv\AppCmd.exe set config "Default Web Site/" /section:system.webServer/webdav/authoring
/fileSystem.allowHiddenFiles:true /commit:apphost

C:\Windows\system32\inetsrv\Appcmd.exe set config "Default Web
Site/" /section:system.webServer/webdav/authoring
/maxAllowedXmlRequestLength:31457280 /commit:apphost

C:\Windows\system32\inetsrv\Appcmd.exe set config "Default Web Site/" /section:system.webServer/Security/requestFiltering -allowDoubleEscaping:True /commit:appHost

C:\Windows\system32\inetsrv\Appcmd.exe set config /section:windowsAuthentication /enabled:true

Net Stop "World Wide Web Publishing Service"
Net Start "World Wide Web Publishing Service"

—————– Copier/Coller—————–

4. Installation automatique de Microsoft SQL Server 2008 SPx ou R2

Pour cette partie, je prends comme exemple la version 2008 R2 de Microsoft SQL. Cette installation ou l’activation des modules SQL dépend des applications ou modules dont vous aurez besoin dans SCCM. (Par ex. Forefront, Reporting Service Point, etc.).

Au de-là de ça, un argument obligatoire s’ajoute pour l’installation de la version R2 de SQL 2008 : /IAcceptSQLServerLicenseTerms

Donc pour ne pas avoir deux versions du même fichier de réponse (1 pour SQL 2008 et 1 pour la version R2 de SQL), je vous conseille de simplement passer cet argument dans la ligne de commande en fonction de la version du moment que vous installez.

Ce qui nous donne donc ce qui suit :

Setup.exe /qs /IAcceptSQLServerLicenseTerms /ConfigurationFile = "Fichier_Réponse.ini"

– Ou –

Setup.exe /qs /ConfigurationFile="Fichier_Réponse.ini"

Exemple de fichier de réponse “Fichier_Réponse.ini

En rouge –> Ce que vous devez modifier et paramétrer en fonction de votre besoin ou environnement

—————– Copier/Coller—————–

;SQLSERVER2008 Configuration File
[SQLSERVER2008]

ACTION="Install"
FEATURES=
SQLENGINE,REPLICATION,FULLTEXT,AS,RS,CONN,IS,SSMS,ADV_SSMS
PID=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx

INSTANCENAME="MSSQLSERVER"
SQMREPORTING="False"

ASPROVIDERMSOLAP="1"
FILESTREAMLEVEL="3"

FILESTREAMSHARENAME="MSSQLSERVER"
ENABLERANU="False"
ASCOLLATION="Latin1_General_CI_AS"
SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"

SQLSVCACCOUNT="NT AUTHORITY\SYSTEM"
SQLSYSADMINACCOUNTS="DOMAIN\Account1" "DOMAIN\Account2" "DOMAIN\Group1" "DOMAIN\Group2"

INSTALLSHAREDDIR="E:\Apps\MSSQL\Bin"
INSTALLSHAREDWOWDIR="E:\Apps\MSSQL\Bin\x86"
INSTANCEDIR="D:\Apps\MSSQL\Data"
SQLUSERDBLOGDIR="D:\Apps\MSSQL\Data\MSSQL10.MSSQLSERVER\MSSQL\Logs"
SQLTEMPDBDIR="E:\Apps\MSSQL\Data\MSSQL10.MSSQLSERVER\MSSQL\Data"
SQLTEMPDBLOGDIR="E:\Apps\MSSQL\Data\MSSQL10.MSSQLSERVER\MSSQL\Logs"
ASDATADIR="D:\Apps\MSSQL\Data\MSAS10.MSSQLSERVER\OLAP\Data"
ASLOGDIR="D:\Apps\MSSQL\Data\MSAS10.MSSQLSERVER\OLAP\Log"
ASBACKUPDIR="D:\Apps\MSSQL\Data\MSAS10.MSSQLSERVER\OLAP\Backup"
ASTEMPDIR="E:\Apps\MSSQL\Data\MSAS10.MSSQLSERVER\OLAP\Temp"
ASCONFIGDIR="D:\Apps\MSSQL\Data\MSAS10.MSSQLSERVER\OLAP\Config"

TCPENABLED="1"
NPENABLED="1"

ASSYSADMINACCOUNTS="DOMAIN\Account1" "DOMAIN\Account2" "DOMAIN\Group1" "DOMAIN\Group2"

SQLSVCSTARTUPTYPE="Automatic"
BROWSERSVCSTARTUPTYPE="Automatic"
RSSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
RSSVCSTARTUPTYPE="Automatic"
RSINSTALLMODE="DefaultNativeMode"
FTSVCACCOUNT="NT AUTHORITY\LOCAL SERVICE"
INSTANCENAME="MSSQLSERVER"
AGTSVCACCOUNT="NT AUTHORITY\SYSTEM"
AGTSVCSTARTUPTYPE="Automatic"
ISSVCSTARTUPTYPE="Automatic"
ISSVCACCOUNT="NT AUTHORITY\SYSTEM"
ASSVCACCOUNT="NT AUTHORITY\SYSTEM"
ASSVCSTARTUPTYPE="Automatic"
ADDCURRENTUSERASSQLADMIN="False"

—————– Copier/Coller—————–

IMPORTANT : Attention pour le PID à ne pas mettre la mauvaise clé 🙂

5. Installation de Microsoft WSUS 3.0 SP2

Télécharger Microsoft WSUS depuis le Site de Microsoft

Ligne de commande  à passer

En rouge –> Ce que vous devez modifier et paramétrer en fonction de votre besoin ou environnement

Pour un site Primaire SCCM

\…\WSUS30-KB972455-x64.exe /Q CONTENT_LOCAL=1 CONTENT_DIR="Drive:\…\Folder_Stored" SQLINSTANCE_NAME= "ComputerName\InstallSQLInstance” CREATE_DATABASE=1 DEFAULT_WEBSITE=0

Pour un site Secondaire SCCM

\…\WSUS30-KB972455-x64.exe /Q CONTENT_LOCAL=1 CONTENT_DIR="Drive:\…\Folder_Stored" WYUKON_DATA_DIR=”Drive:\…\Folder_Install_DB” CREATE_DATABASE=1 DEFAULT_WEBSITE=0

6. Installation de WDS (Windows Deployment Service) en Stand Alone

C:\> ServerManagerCMD.exe –Install WDS

7. Installation de Microsoft SCCM

\…\Setup.exe /script “Fichier_Réponse.ini

Exemple de fichier de réponse “Fichier_Réponse.ini

En rouge –> Ce que vous devez modifier et paramétrer en fonction de votre besoin ou environnement


Pour un site Primaire SCCM

—————– Copier/Coller—————–

[Identification]
Action=InstallPrimarySite

[Options]
ProductID=xxxx-xxxx-xxxx-xxxx-xxxx

PrerequisiteComp=1
PrerequisitePath=Drive:\Path\Manifests
SiteCode=XXX
SiteName="Description Site"
SMSInstallDir=
Drive:\Path\
ManagementPoint=SERVERNAME.fqdn
SDKServer=SERVERNAME
ClientAgents=SINV,HINV,ADPROG,SUM,SWM,DCM,RT

[SQLConfigOptions]
SQLServerName=
SERVERNAME\INSTANCESQL
CreateSQLDevice=1
DatabaseName=SMS_XXX

—————– Copier/Coller—————–

Pour un site Secondaire SCCM

—————– Copier/Coller—————–

[Identification]
Action=InstallSecondarySite

[Options]
PrerequisiteComp=1
PrerequisitePath=
Drive:\Path\
SiteCode=
XXX
SiteName="Description Site"
SMSInstallDir=
Drive:\Path\
AddressType=MS_LAN
ParentSiteCode=
XXX
ParentSiteServer=SERVERNAME
—————– Copier/Coller—————–

Enjoy !

Michel PICOLLET | EXAKIS Paris
Consultant Senior Microsoft [System Center]
mpicollet@event-horizon.emea.microsoftonline.com

%d blogueurs aiment cette page :