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 avecWebAdministration
.- 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 dansMicrosoft.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.