Partager via


Exemples de scripts C# et PowerShell

Cet article présente un résumé des exemples de scripts PowerShell et C# mentionnés dans le guide d’hébergement. Ils peuvent être utilisés pour les tâches de déploiement, de configuration, de migration et d’approvisionnement.

par Walter Oliver

Scripts de déploiement : hébergement partagé

  1. Serveur web

    Ces scripts PowerShell vous aideront à déployer et à configurer le serveur web. Notez que ces scripts ont été écrits et testés à l’aide de PS 2.0 :

    • runPKGMGT_IIS.PS1 : exécute l’outil de commande « pkgmgt.exe » pour installer IIS 7.0 avec les modules recommandés pour l’hébergement partagé. Consultez l’article Installation du rôle Serveur web.

      • Le script utilise le fichier « unattended.xml » comme données de configuration d’entrée, qui spécifie les modules IIS à installer.
      • Obligatoire : unattend.xml exige que le numéro de version soit défini sur la version actuelle de Windows, c’est-à-dire la version « 6.0.6000.16386 ». Vous pouvez y accéder en cliquant avec le bouton droit sur C:\Windows\RegEdit.exe et en choisissant l’onglet Détails. PkgMgr a besoin de ce paramètre pour pouvoir installer correctement tous les composants souhaités.
    • Install_IISSharedHosting.PS1 : exécute tous les scripts de configuration conformément aux instructions d’hébergement partagé. Consultez l’article Configuration d’IIS 7.0 pour l’hébergement partagé.

      • Le script utilise le fichier IISSettings.xml comme données de configuration d’entrée. Il contient des paramètres pour la compression dynamique et le seuil d’inactivité.
      • Le paramètre Fichier par défaut pour le serveur est contrôlé via Default_File_Config.xml. Il contient une liste de tous les fichiers par défaut à ajouter ou à supprimer. Créez autant d’entrées que vous le souhaitez. Définissez activity = « ADD » pour ajouter ou « REMOVE » pour supprimer.
    • Enable32bitModeWorkerProcess.PS1 : active les processus de travail en mode 32 bits dans les machines 64 bits.

    • AppPoolIdentAsAnonymousUser.PS1 : définit l’Identité du pool d’applications en tant qu’utilisateur anonyme.

    • AddRemoveDefaultDoc.PS1 : ajoute ou supprime les documents par défaut en fonction de la spécification du fichier d’entrée Default_Files_Config.XML.

    • ConfigureDynamicIdleThreshold.PS1 : définit la propriété de configuration dynamicIdleThreshold.

    • ConfigureDynamicCompression.PS1 : définit les propriétés de compression dynamique.

    • HTTPResponseCache.PS1 : affiche le cache de réponse HTTP.

    • Bientôt disponible : paramétrage de la confiance moyenne d’ASP.NET.

  2. Serveur de fichiers

    Ces scripts PowerShell vous aideront à déployer et à configurer le serveur de fichiers. Notez que ces scripts ont été écrits et testés à l’aide de PS 2.0 :

    • InstallFileServer.PS1 : exécute tous les scripts pour installer et configurer le rôle FileServer.

      • Fichiers : FolderPermissions.xml, SharePermissions.xml et DirectoryQuotas_Settings.xml sont peuplés avec des exemples de paramètres. Chacun d’eux doit être configuré en pré-déploiement, car ces paramètres varient selon le déploiement.
      • DirectoryQuotas_Settings.xml : vous permet de définir autant de quotas de dossiers que nécessaire.
      • FolderPermissions.xml : vous permet de définir autant de dossiers que nécessaire, chaque dossier pouvant avoir 0, 1 ou plusieurs autorisations.
      • SharePermissions.xml : vous permet de définir autant de partages que nécessaire (une erreur se produira si le nouveau partage ne correspond pas à un dossier existant). Chaque partage peut avoir 0, 1 ou plusieurs autorisations.
    • runPKGMGR_FileServer : exécute l’outil de commande « pkgmgt.exe » pour installer le rôle Serveur de fichiers. Le script utilise le fichier « unattended.xml » comme paramètre d’entrée, qui spécifie les modules à installer.

    • DirectoryQuota.PS1 : définit le quota d’annuaires. Consultez l’article Quotas d’annuaire.

    • Folder_Shares_Permissions.PS1 : définit les autorisations de dossier conformément à la spécification du fichier d’entrée « SharePermissions.XML ». Consultez Partage et autorisations NTFS.

Approvisionnement et gestion

  1. L’exemple d’approvisionnement en C# correspond à un ensemble d’exemples C# permettant d’effectuer plusieurs tâches courantes d’approvisionnement. Pour plus de détails, consultez l’article Exemple d’approvisionnement en C#.

  2. L’exemple de services d’hébergement est un exemple de code C# complet pour le l’approvisionnement de sites, de comptes d’utilisateurs, de bases de données SQL et autres. Pour plus de détails, consultez l’article Exemple de code de services d’hébergement.

  3. Exemples de code et scripts fournit des exemples d’extraits de code pour la création de tâches de configuration et de sites IIS 7.0.

  4. [Scripts PowerShell d’approvisionnement de sites IIS] (https://www.iis.net/community/files/hosting/ProvisioningScripts4-7-2008.zip « Scripts PowerShell pour les sites IIS »). Il s’agit de 6 scripts PowerShell pour vous aider à automatiser l’approvisionnement d’AppPools, de sites, d’applications, de répertoires virtuels et de liaisons. Ils utilisent les interfaces d’espace de noms de code managé Microsoft.Web.Administration pour approvisionner ces objets. Voici un exemple pour chacun d’entre eux :

    4.1. Pour créer un nombre quelconque d’AppPools, de sites, d’applications, de répertoires virtuels et de liaisons organisés conformément à un fichier de données de configuration, utilisez Sample_AppPool_Site_AppCreation. Ce script appelle tous les autres scripts afin de créer chaque objet conformément aux données de configuration contenues dans le fichier XML ProvisioningConfig.xml.

    Exemple :

    Sample_AppPool_Site_AppCreation
    

    Exemple de fichier XML ProvisioningConfig.xml :

    <Script>
    <ApplicationPool>
    <Site Name="DAP1Site2" PhysicalPath="C:\Content\DAP1Site2">
    
    <Application PhysicalPath="C:\Content\DAP1Site2\App1" RelativePath="/App1">
    <VirtualDirectory PhysicalPath="C:\Content\Logs" RelativePath="/App1/VDir"/>
    </Application>
    
    <Application PhysicalPath="C:\Content\DAP1Site2\App2" RelativePath="/App2">
    </Application>
    
    <Binding Port="80" BindingInfo="www.DAP1Site2.com" Protocol="http"/>
    
    <Folder name="C:\Content\DAP1Site2" quota="50mb"> 
    <Permission>
    <User>Administrators</User>
    <Capability>F</Capability>
    </Permission>
    </Folder>
    
    </Site>
    </ApplicationPool>
    </Script>
    

    4.2. Pour créer des AppPools, utilisez le mot de passe du nom d’utilisateur CreateIISAppPool PoolName. Si vous ne fournissez pas de nom d’utilisateur et de mot de passe, il utilisera l’utilisateur actuel.

    Exemple :

    CreateIISAppPool "DemoAppPool1" "" ""
    

    4.3. Pour créer un site, utilisez l’ID CreateIISSite SiteName PhysicalPath PoolName.

    Exemple :

    CreateIISSite "DAP1Site1" "C:\Content\DAP1Site1" "DemoAppPool1" 1702121
    

    4.4. Pour créer une application sur un site, utilisez CreateIISApplicationOntoSite PhysicalPath RelativePath SiteName PoolName.

    Exemple :

    CreateIISApplicationOntoSite "C:\Content\DAP1Site1\App1" "/App1" "DAP1Site1" "DemoAppPool1"
    

    4.5. Pour créer un répertoire virtuel pour une application, utilisez CreateIISVDirOntoApplication ApplicationPhysicalPath PhysicalPath SiteName RelativePath.

    Exemple :

    CreateIISVDirOntoApplication "C:\Content\Logs" "/App1/VDir" "DAP1Site1" "/App1"
    

    4.6. Pour créer une liaison pour un site, utilisez CreateIISBindingOntoSite SiteName Port BindingInfo Protocol.

    Exemple :

    CreateIISBindingOntoSite "DAP1Site1" 80 "www.DAP1Site2.com" "http"