Vous êtes sur la page 1sur 26

Utilisation de la ligne

de commande et des
scripts pour
l’administration
d’IIS 7.0
Vue d’ensemble du module

• Outils d’exécution des tâches d’administration dans IIS

• Exécution de scripts pour les tâches d’administration

• Gestion des tâches IIS


Leçon 1 : Outils d’exécution des tâches
d’administration dans IIS
• Gestion d’IIS 7.0

• Vue d’ensemble de PowerShell

• Avantages de l’utilisation de PowerShell

• Avantages de l’utilisation des API Microsoft.Web.Administration

• Avantages de l’utilisation de l’outil AppCmd.exe et des scripts


de ligne de commande
Gestion d’IIS 7.0

>_
AppCmd
PowerShell

Gestionnaire
des services
Internet

Fichiers de configuration XML


Modifier
les fichiers
Vue d’ensemble de PowerShell
Windows PowerShell est un environnement
d’interpréteur de commandes et un langage de
script de nouvelle génération

Fonctionnalité Remarques

• La gestion des données orientée objet


Gestion de données
peut être traitée par d’autres
orientée objet
commandes
• Possibilité de récupérer diverses
Espaces de noms informations WMI et de les incorporer
dans des scripts ou des rapports
• Possibilité de mettre en pipe la sortie
Pipeline d’une commande en tant qu’entrée
d’une autre commande
Accès aux • Accès transparent aux commandes de
commandes cmd.exe l’invite de commandes
• vous pouvez forcer les scripts à être
Scripts approuvés signés numériquement avant d’être
autorisés à s’exécuter
Avantages de l’utilisation de PowerShell

Fonctionnalité Remarques

• Automatiser des tâches extrêmement


Puissance et simplicité complexes avec un langage basé sur un
petit jeu de mots clés

• Travailler directement avec des objets


Orienté objet
enrichis dans un environnement de texte

Interface basée sur • Tester en toute sécurité via la ligne de


une ligne de commande pour créer des scripts
commande riche complexes
• Possibilité d’effectuer des appels dans
Intégration du système .NET Framework, les extensions WMI et
le Registre Windows
• Prend en charge les scripts signés basés
Conçu pour la sécurité sur les certificats ; il est limité dans ses
opérations
Avantages de l’utilisation des API
Microsoft.Web.Administration

• Les API MWA peuvent servir à manipuler les paramètres


sur le serveur

• Offrent un accès fortement typé prédéfini aux sites, aux


applications et aux répertoires virtuels configurés pour IIS

• Permettent aux utilisateurs de générer leurs propres


classes fortement typées représentant des sections de
configuration spécifiques

• Permettent d’accéder facilement aux propriétés et autres


informations stockées dans ces sections
Avantages de l’utilisation de l’outil AppCmd.exe
et des scripts de ligne de commande

AppCmd est un outil de ligne de commande pour


la gestion d’IIS 7.0

Voici certaines opérations que vous pouvez effectuer avec AppCmd :

Créer et configurer des sites, des applications, des pools


 d’applications et des répertoires virtuels

Démarrer et arrêter des sites et recycler des pools


 d’applications

Répertorier les processus de travail en cours d’exécution


 et examiner les demandes en cours d’exécution

Rechercher, manipuler, exporter et importer


 la configuration d’IIS et d’ASP.NET
Leçon 2 : Exécution de scripts pour les tâches
d’administration
• Utilisation de scripts pour les tâches d’administration

• Utilisation de scripts PowerShell pour les tâches


d’administration
• Écriture d’applets de commande PowerShell pour IIS 7.0

• Utilisation d’AppCmd et des scripts de ligne de commande

• Accès à Microsoft.Web.Administration dans PowerShell


Utilisation de scripts pour les tâches d’administration

Type de script Remarques

Scripts PowerShell • Accès direct aux services de serveur

Scripts AppCmd • Gèrent la plupart des processus IIS 7.0

• Fournit des objets pour gérer le serveur,


API MWA
ses propriétés et son état
Utilisation de scripts PowerShell pour les tâches
d’administration

# file: Deploy-Application.ps1

$sourceMachine = "DemoServer1"
$farmList = get-content '.\RestOfFarm.txt'
$filesToCopy = get-content '.\AppManifest.txt'

foreach ($targetMachine in $farmList)


{
foreach ($file in $filesToCopy)
{
$sourcePath = "\\" + (join-path $sourceMachine $file)
$destPath = "\\" + (join-path $targetMachine $file)
write-host -for yellow "$targetMachine : Copying
files from $sourcePath"

copy-item $sourcePath $destPath


-recurse -force
}
}
Écriture de commandlets PowerShell pour IIS 7.0

C#:
[Cmdlet(VerbsCommon.Get, "Proc")]
public class GetProcCommand : Cmdlet

C#:
protected override void ProcessRecord()
{
// Obtenir les processus actifs
Process[] processes = Process.GetProcesses();

// Écrire les processus dans le pipeline pour les rendre disponibles


// à l’applet de commande suivant. Le deuxième paramètre de cet
appel indique à
// PowerShell d’énumérer le tableau et d’envoyer un processus à
// la fois au pipeline.
WriteObject(processes, true);
}
Utilisation d’AppCmd et des scripts de ligne de
commande

SITE
APPPOOL
Nom :
BINDING Nom : Default App Pool
« MonNouveauSite »
http, *0,81: Identificateur : 3
Demande APP VDIR
PATH:/ PATH: / Phys.
Path:
c:\inetpub
\monnouveausite

> %windir%\system32\inetsrv\AppCmd ADD SITE


/name:MyNewSite /id:3 /bindings:http/*:81:
/physicalPath:c:\inetpub\mynewsite
Accès à Microsoft.Web.Administration dans PowerShell

Chargez le fichier Microsoft.Web.Administration.DLL dans


PowerShell :
[System.Reflection.Assembly]::LoadFrom( "C:\windows\
1 system32\inetsrv\Microsoft.Web.Administration.dll" )

Utilisez la commande « New-Object » pour créer un


objet ServerManager dans MWA :

2 (New-Object Microsoft.Web.Administration.ServerManager)

Utilisez la propriété « Sites » pour accéder aux sites sur


votre ordinateur :
(New-Object
3 Microsoft.Web.Administration.ServerManager) .Sites |
Select Id, Name
Leçon 3 : Gestion des tâches IIS
• Comment utiliser les options AppCmd : options <COMMAND>

• Comment utiliser les options AppCmd : options <OBJECT>

• Utilisation d’AppCmd pour gérer les tâches IIS 7.0

• Automatisation des tâches à l’aide de scripts

• Commandlets PowerShell pour les services Internet (IIS) 7.0

• Utilisation de PowerShell pour gérer les tâches des services


Internet (IIS) 7.0
• Utilisation du fournisseur WMI pour gérer les tâches des
services Internet (IIS) 7.0
Comment utiliser les options AppCmd : options
<COMMAND>

appcmd.exe <COMMAND> <OBJECT> <ID> [/param:value]

Commande Description

Liste • Affiche les objets sur l’ordinateur.

Add • Crée un nouvel objet avec les propriétés spécifiées.

Delete • Supprime l’objet spécifié par son <ID>.

• Définit les paramètres sur l’objet spécifié par son


Set
<ID>.
Comment utiliser les options AppCmd : options
<OBJECT>
<OBJECT> est l’un des objets de gestion pris en charge :

Object Description

Site • Administration des sites virtuels

App • Administration des applications

VDir • Administration des répertoires virtuels

AppPool • Administration des pools d’applications

Config • Administration des sections de configuration générales

Sauvegarde • Gestion des sauvegardes de configuration du serveur


WP • Administration des processus de travail

Demande • Affichage des demandes HTTP actives

Module • Administration des modules du serveur

Trace • Gestion des journaux de suivi du serveur


Utilisation d’AppCmd pour gérer les tâches IIS 7.0

Créer et de restaurer des sauvegardes de la configuration


globale du serveur :

appcmd add backup MyBackup

Vérifier les demandes en cours d’exécution sur le serveur :

appcmd list requests

Afficher la configuration du site Web par défaut :

appcmd list config "Default Web Site/"

Démarrer tous les sites :


appcmd list site /xml | appcmd start site /in
Automatisation des tâches à l’aide de scripts

Déclencheurs
Processus scriptés
d’événement

• Exécuter un processus
de sauvegarde

Heure planifiée
• Redémarrer un site Web

• Déployer un serveur Web


de secours
• Déployer un nouveau site Web
Défaillance
de disque

• Redémarrer un service
ou un système
• Modifier le contenu d’un
Autre site Web
événement
Commandlets PowerShell pour IIS 7.0
Commande Description

Get-Command • Récupère la liste de tous les applets de commande disponibles

• Affiche des informations sur les applets de commande et les


Get-Help concepts

Get-WMIObject • Récupère les informations de gestion à l’aide de WMI

Get-EventLog • Récupère les journaux des événements Windows

Get-Process • Récupère un seul ou la liste des processus actifs

Get-Service • Récupère un service Windows

• Lit dans des fichiers texte, chaque ligne étant traitée comme un
Get-Content objet enfant

Add-Content • Ajoute du contenu à un fichier texte

Copy-Item • Copie des fichiers, des dossiers et d’autres objets.

Get-Acl • Récupère des listes de contrôle d’accès


Utilisation de PowerShell pour gérer les tâches IIS 7.0

Arrêter le service de publication Web IIS :

stop-service –servicename w3svc

Répertorier les processus triés par nombre de handles :

get-process | sort-object –property handles

Afficher les services Windows commençant par « w »,


triés par état et au format tabulaire :
get-service -include w* | sort-object -property status |
Format-Table
Utilisation du fournisseur WMI pour gérer les
tâches IIS 7.0

Tâches pouvant être effectuées avec le fournisseur WMI :

 Gérer les processus de travail et les domaines d’application

 Obtenir une instance de site (objet à clé unique)

 Obtenir une instance d’application (objet à plusieurs clés)

 Créer un site

 Énumérer tous les sites

 Arrêter et démarrer un site

 Supprimer un site
Atelier pratique : Utilisation de la ligne de commande
et des scripts pour l’administration d’IIS 7.0

• Exercice 1 : Gestion des sites Web IIS avec PowerShell

• Exercice 2 : Utilisation de Microsoft.Web.Administration

• Exercice 3 : Automatisation de l’administration d’IIS à l’aide de


scripts
• Exercice 4 : Gestion des tâches IIS à l’aide de WMI et d’AppCmd

Informations d’ouverture de session


Ordinateur virtuel NYC-WEB
Nom d’utilisateur Administrateur
Mot de passe Pa$$w0rd

Durée approximative : 60 minutes


Scénario de l’atelier pratique
• L’équipe de développement a besoin d’outils supplémentaires
pour gérer leurs sites Web.
• Tout d’abord, vous devez vous assurer que PowerShell gérera
correctement les services du serveur et qu’il réussira à arrêter
et démarrer le service Web.
• Vous devez vérifier qu’un script va effectivement s’arrêter et
démarrer à l’aide de MWA. Exécutez le script, puis vérifiez que
le service est arrêté. Ensuite, redémarrez le service à l’aide du
script et vérifiez qu’il a démarré.
• L’équipe de développement vous a fourni un script qui répertorie les
sites Web sur le serveur. Vous devez tester et exécuter le script à
l’aide de PowerShell.
• Vous devez également déployer plusieurs sites Web identiques à l’aide
du même contenu par défaut situé sur un partage. Un script
PowerShell permettra d’automatiser cette tâche.
• Vous devez vérifier les tâches qui sont exécutées sur le serveur.
Utilisez WMI et AppCmd pour afficher la liste des tâches en cours
d’exécution.
Récapitulatif
• Comment la mise en pipe peut-elle être utilisée avec les
applets de commande PowerShell ?
• Prenez, par exemple, le script suivant :

$pools=(New-Object
Microsoft.Web.Administration.ServerManager).Applicati
onPools;
$pools.Item(0) | Select Name, State;
$pools.Item(0).Stop(); $pools.Item(0) | Select Name,
State
 Que fait la première ligne de code ?
 Quel est le résultat de ce script ?

• Vous souhaitez charger des informations dans PowerShell au


démarrage. Que devez-vous faire ?
• Quand devez-vous utiliser AppCmd ?
Récapitulatif du module et objectifs
• Questions du contrôle des acquis

Vous aimerez peut-être aussi