Serveur d'impression

Gérer les pools d'applications IIS avec PowerShell – Serveur d’impression

Le 4 mai 2019 - 5 minutes de lecture

Où vous dirigez-vous lorsque vous gérez une batterie de serveurs Web IIS avec potentiellement plusieurs dizaines ou centaines de pools d'applications? PowerShell, bien sûr.

En utilisant le Administration Web

Le module PowerShell qui est installé avec IIS et un peu de communication à distance PowerShell vous permet de créer, modifier et supprimer des pools d'applications à volonté. Passons en revue quelques exemples pour y arriver.

Si vous n’avez jamais utilisé PowerShell pour gérer vos serveurs IIS, votre première envie serait de rechercher un -Nom de l'ordinateur sur la plupart des cmdlets. Malheureusement, ce n'est pas le cas. Afin de gérer les serveurs IIS à distance, nous sommes obligés d’utiliser PowerShell Remoting avec le Invoke-Command cmdlet. Bien que ce ne soit pas un compromis, cela rend le code un peu plus verbeux que ce qu'il pourrait être. Cela peut être assez frustrant la première fois que vous essayez cela car vous ne verrez pas cela familier -Nom de l'ordinateur paramètre sur la plupart des cmdlets.

REMARQUE: À l'avenir, nous construirons du code à saisir dans un scriptblock. Nous utiliserons ensuite Invoke-Command pour exécuter ce scriptblock sur le serveur IIS distant.

Pour gérer les pools d'applications, nous devons d'abord importer le module WebAdministration.

Administration Web du module d'importation

Cela introduit toutes les cmdlets IIS et crée le lecteur IIS. C’est là que la majeure partie de la configuration du pool d’applications sera effectuée. Commençons par vérifier si des pools d'applications existent déjà.

Get-ChildItem –Path IIS: AppPools

On dirait que nous en avons déjà un qui s'appelle GHI; peut-être que nous voulons en créer un autre. L'utilisation du lecteur IIS rend cela très facile. Simplement utiliser Nouvel article et spécifiez le chemin.

Nouvel élément –Path IIS: AppPools MyAppPool

Nous avons maintenant créé un nouveau pool d'applications. Nous pouvons ensuite vérifier toutes les propriétés de ce pool d'applications à l'aide de Get-ItemProperty et sélectionnez toutes les propriétés qu'il renvoie avec Select-Object. Cela renverra tous les noms et valeurs de propriétés afin que vous puissiez déterminer ceux que vous devez modifier avec Set-ItemProperty.

Get-ItemProperty IIS: AppPools MyAppPool | sélectionnez *

Maintenant que vous avez un pool d'applications et que vous pouvez voir les propriétés, modifions une propriété. Peut-être que nous voulons utiliser un spécifique .NET version d'exécution avec le pool d'applications. Encore une fois en utilisant le lecteur IIS, nous pouvons utiliser Set-ItemProperty pour gérer des pools d'applications comme le système de fichiers, le registre, les certificats et toutes les autres fonctionnalités associées à un lecteur PowerShell.

Set-ItemProperty -Path IIS: AppPools MonAppPool -Name managedRuntimeVersion -Value 'v4.0'

En utilisant Set-ItemProperty vous pouvez modifier presque toutes les propriétés d'un pool d'applications.

Enfin, nous en avons terminé avec notre pool d'applications et nous devons maintenant le supprimer. Cette fois, nous avons une applet de commande PowerShell intégrée appelée Supprimer-WebAppPool. Spécifiez simplement le nom et c'est parti!

Remove-WebAppPool -Name MyAppPool

Tout le code que nous utilisions était exécuté localement, mais que se passe-t-il si vous devez l'exécuter sur un serveur IIS distant? C’est là que la communication à distance de PowerShell entre en jeu. Pour ce faire, nous devons simplement regrouper tout ce code dans un scriptblock, puis utiliser Invoke-Command pour l'exécuter sur le serveur distant.

$ appPoolName = 'MyAppPool'

$ scriptBlock =

Administration Web du module d'importation

New-Item –Path IIS: AppPools $ à l'aide de: appPoolName

Set-ItemProperty -Path

IIS: AppPools $ à l'aide de: appPoolName -Name

managedRuntimeVersion -Value 'v4.0'

Remove-WebAppPool -Name $ using: appPoolName

Invoke-Command –ComputerName SOMEIISSERVER –ScriptBlock $ scriptBlock

Bien que ce ne soit pas très fonctionnel, ce code créerait un nouveau pool d'applications nommé MyAppPool, définissez une propriété, puis supprimez-la. Vous remarquerez que nous utilisons le $ using variable. Étant donné que le code du bloc de script va être exécuté sur un ordinateur distant, cela est nécessaire pour que PowerShell développe cette variable et utilise la valeur réelle de $ appPoolName qui a été déclaré localement sur notre ordinateur client.

Si vous souhaitez en savoir plus sur la gestion d’IIS en général, consultez la page Administration de Technet IIS. Vous y trouverez toutes les applets de commande incluses dans le Administration Web module et comment vous pouvez les utiliser.

Adam Bertram

Adam Bertram est un vétéran de l'informatique de 20 ans et un professionnel expérimenté des affaires en ligne. Il est un entrepreneur, un influenceur informatique, un MVP Microsoft, un blogueur, un formateur et un rédacteur en marketing de contenu pour plusieurs sociétés de technologie. Adam est également le fondateur de la populaire plateforme de développement de carrière dans les technologies de l’information, TechSnips. Consultez les articles d'Adam sur adamtheautomator.com, connectez-vous sur LinkedIn ou suivez-le sur Twitter à @adbertram ou sur le compte Twitter de TechSnips à @techsnips_io.

Vous aimez cet article? Inscrivez-vous pour plus de bon contenu.

Faites partie de Business.com

Déjà membre?
Se connecter.

Nous aimerions entendre votre voix! Connectez-vous pour commenter.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.