Applets de commande PowerShell IISAdministration

par Baris Caglar

Compatibilité

Version Notes
IIS 10.0 Les applets de commande PowerShell IISAdministration ont été introduites dans IIS 10.0. La dernière version d’IISAdministration est prise en charge via PowerShell Gallery.
IIS 8.5 et versions antérieures Les applets de commande PowerShell IISAdministration n’ont pas été prises en charge avant IIS 10.0. Toutefois, les utilisateurs peuvent l’installer via PowerShell Gallery.

Visitez iis.net pour en savoir plus sur l’obtention de la dernière version d’IISAdministration.

Vue d’ensemble d’IISAdministration

Avec Windows 10 et Windows Server 2016, l’équipe IIS publie un module IISAdministration nouveau et simplifié côte à côte avec les applets de commande WebAdministration existantes. Il existe de nombreuses raisons pour lesquelles la décision de publier un module d’applet de commande PowerShell entièrement nouveau et voici quelques-unes d’entre elles :

  • IISAdministration s’adapte mieux aux scripts qui prennent beaucoup de temps pour s’exécuter avec WebAdministration.
  • Vous pouvez maintenant obtenir une référence directe à une instance d’objet Microsoft.Web.Administration.ServerManager et faire tout ce que vous pouvez faire dans Microsoft.Web.Administration espace de noms en même temps que vos scripts.
  • La compatibilité du pipeline PowerShell était la force motrice de la conception de nombreuses applets de commande. Par conséquent, IISAdministration fonctionne beaucoup mieux avec PowerShell Pipeline.

La version des applets de commande qui a été publiée pour Windows 10 était une version approximative avec une marge d’amélioration ; la version ciblée était Windows Server 2016 pour le produit terminé et poli. La raison de la version précédente était d’obtenir des commentaires des utilisateurs PowerShell réels et des administrateurs IIS dans le secteur, de répondre à toutes les questions et de recevoir des suggestions sur non seulement les fonctionnalités existantes, mais aussi potentiellement pour les nouvelles fonctionnalités souhaitées par l’administration IIS en ce qui concerne PowerShell.

Voici quelques exemples sur l’utilisation du nouveau fournisseur :

Traitement pipeline

PS:>Get-IISConfigSection -SectionPath "system.webServer/defaultDocument" | Get-IISConfigCollection -CollectionName "files" | New-IISConfigCollectionElement -ConfigAttribute @{"Value" = "MyDefDoc.htm"}

Get-IISConfigSection est au début de la plupart des pipelines et dans l’exemple spécifique ci-dessus, nous obtenons d’abord la section « system.webServer/defaultDocument » (Respect de la casse !), puis obtenez la collection de fichiers, puis obtenez un élément de collection avec la valeur d’attribut donnée.

PS:>$ConfigSection = Get-IISConfigSection -SectionPath "system.applicationHost/sites"

PS:>Get-IISConfigCollection $configSection | Get-IISConfigCollectionElement -ConfigAttribute @{"Name"="Default Web Site"} | Get-IISConfigAttributeValue -AttributeName "State"

Il s’agit d’un exemple hybride où la section est d’abord placée dans une variable, puis utilisée dans le pipeline.

Commandes simples

Le nombre de commandes simples est considérablement réduit à quelques-uns. Les exemples incluent Get-IISSite et Get-IISAppPool. D’autres opérations simples pour lesquelles les commandes n’existent pas peuvent être effectuées via des opérations de pipeline.

PS:> Get-IISAppPool

Name            Status   CLR Ver  Pipeline Mode  Start Mode
----            ------   -------  -------------  ----------
DefaultAppPool  Started  v4.0     Integrated     OnDemand

Get-IISServerManager

PS:>$sm = Get-IISServerManager

PS:>$sm.ApplicationPools["DefaultAppPool"].Recycle()

Comme vous pouvez le voir, une fois que vous avez accès au gestionnaire de serveur, le ciel est la limite.

Start-IISCommitDelay / Stop-IISCommitDelay

En englobant vos opérations entre ces commandes, vous pouvez vous assurer que vos modifications sont validées en même temps.

Ce ne sont que quelques exemples de ce que vous pouvez faire avec le nouveau fournisseur. Visitez document en ligne pour obtenir la documentation complète et d’autres exemples.