2 votes

Raccourci pour ouvrir le gestionnaire IIS 7 afin qu'il affiche la vue "Sites" (statut) par défaut.

Je voudrais pouvoir rapidement vérifier si un site est en ligne après m'être connecté au bureau de Windows Server 2008 R2 (x64). Je préférerais pouvoir le faire en un seul clic (ou mieux encore, sans cliquer du tout) plutôt que de devoir naviguer dans la structure arborescente de Gestionnaire IIS.

Je peux créer un raccourci vers Gestionnaire IIS et le mettre sur mon bureau, mais comment le forcer à s'ouvrir dans la vue SERVEUR/Nouveaux au lieu de cliquer plusieurs fois pour y arriver ?

Si cela ne peut pas être fait, y a-t-il un autre moyen sans faire de programmation pour mettre un indicateur "en ligne/hors ligne" (de préférence dans la barre système ou sur le bureau) pour chaque site que je veux y mettre ?

Si je dois recourir à la programmation pour cette fonctionnalité apparemment simple, comment puis-je obtenir le statut (démarré ou arrêté) pour un site web IIS spécifique à afficher dans mon programme personnalisé ? Quelle API, fichier ou entrée de registre dois-je lire pour obtenir ces informations de statut ?

Mise à jour

J'ai découvert quelqu'un d'autre avec un fichier .bat qui utilisait l'utilitaire IIS appcmd.exe. Après quelques essais et erreurs en lisant les documents MSDN sur l'utilitaire appcmd.exe, j'ai pu assembler le fichier .bat suivant qui fait bien le travail. La tâche à accomplir était simplement d'obtenir l'état d'un site (ou de plusieurs sites) en 2 clics ou moins depuis le bureau.

@echo off

:Status
Set STATUS1=MAINTENANCE
FOR /F "tokens=*" %%A IN ('%SystemRoot%\System32\inetsrv\appcmd list site /site.name:www.mysite1.com /text:state ^| FIND "Started"') DO SET STATUS1=STARTED

Set STATUS2=MAINTENANCE
FOR /F "tokens=*" %%A IN ('%SystemRoot%\System32\inetsrv\appcmd list site /site.name:www.mysite2.com /text:state ^| FIND "Started"') DO SET STATUS2=STARTED

echo www.mysite1.com: %STATUS1%
echo www.mysite2.com: %STATUS2%

pause

Malheureusement, l'utilitaire n'est pas très bien documenté - j'ai dû y toucher beaucoup pour obtenir le résultat souhaité.

%SystemRoot%\System32\inetsrv\appcmd list site /site.name:www.mysite1.com

C'est la ligne qui obtient le statut, mais en l'exécutant de cette façon, cela renvoie également d'autres choses. Ainsi, pour obtenir uniquement le statut et rien d'autre, un autre paramètre doit être ajouté.

%SystemRoot%\System32\inetsrv\appcmd list site /site.name:www.mysite1.com /text:state

En suivant l'exemple dans le lien, j'ai également pu assembler un menu pour démarrer et arrêter instantanément les sites en appuyant sur une touche, puis ENTRÉE, et afficher ensuite à nouveau le statut des sites - le tout à partir d'un seul fichier .bat.

1voto

Todd Points 2342

Si vous avez activé les 'Scripts et outils de gestion IIS', vous pouvez utiliser PowerShell pour afficher l'état des sites. J'utilise un script comme celui-ci dans une fenêtre PowerShell dédiée :

do
{
     clear-host
     Get-ChildItem IIS:\sites | format-table state, name
     $curPos = $Host.UI.RawUI.CursorPosition
     $ou = (Get-Date).ToString("HH:mm:ss")
     $ou = "  " +  $ou + " - Appuyez sur CRTL+C pour arrêter"
     $Host.UI.Write($ou)
     $Host.UI.RawUI.CursorPosition=$curPos 
     Start-Sleep -Seconds 5
} until ($false)

La ligne

Get-ChildItem IIS:\sites | format-table state

fait le vrai travail, le reste est simplement là pour empêcher le défilement de la sortie. Il se met à jour toutes les cinq secondes.

0voto

josy Points 21

Je suis désolé de le dire, mais la réponse courte est non. Consultez la référence de configuration ici : http://www.iis.net/configreference ou la référence cmdlet ici : http://technet.microsoft.com/en-us/library/ee790599.aspx

J'ai vérifié le fichier XML, mais il n'y a rien qui permet de choisir où commencer. Ils devraient vraiment ajouter cela.

0 votes

Merci d'avoir examiné cela. Cependant, comme on dit, il y a plus d'une façon de tondre un chat. J'ai trouvé une solution pour obtenir ces informations en utilisant l'utilitaire appcmd.exe d'IIS.

0 votes

Je suis heureux que vous ayez trouvé une solution de contournement.

0voto

Vivek Kumbhar Points 3053

Avez-vous essayé appcmd.exe list sites, la sortie ressemble à quelque chose comme

SITE "Default Web Site" (id:1,bindings:http/*:80:,state:Started)

Vous pouvez consulter l'article

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X