J'ai plusieurs sites configurés dans IIS7 sur ma machine de développement Windows 7 pour s'exécuter sur le même port et généralement un seul à la fois en fonction de ce sur quoi je travaille. Je voudrais pouvoir démarrer et arrêter mes sites de développement à partir de PowerShell au lieu d'avoir le gestionnaire IIS ouvert. Quelqu'un a-t-il une bonne ressource pour me diriger dans la bonne direction ou un script qui déjà accomplit cela?
Juste pour référence rapide future, les commandes sont:
Import-Module WebAdministration
Stop-WebSite 'Default Web Site'
Start-WebSite 'Default Web Site'
Ajout à la réponse de Keith, vous pouvez effectuer cela à distance en utilisant Invoke-Command.
Import-Module WebAdministration
$siteName = "Default Web Site"
$serverName = "name"
$block = {Stop-WebSite $args[0]; Start-WebSite $args[0]};
$session = New-PSSession -ComputerName $serverName
Invoke-Command -Session $session -ScriptBlock $block -ArgumentList $siteName
Pour accéder aux modules système, Powershell doit être exécuté comme ceci:
[path]\powershell.exe -NoExit -ImportSystemModules
J'ai trouvé ce qui précède sur ce iis forum .
J'ai constaté que ce qui suit pour arrêter les sites Web individuels sur un serveur distant pour fonctionner:
Invoke-Command -Computername $servername -Scriptblock {
(Import-Module WebAdministration);
Stop-Website -Name "WebsiteName";
Stop-Website -Name "AnotherWebsiteName"
}
J'ai eu certaines des erreurs ci-dessus jusqu'à ce que Import-Module
a été placé dans ()