Skip to content

Instantly share code, notes, and snippets.

@tany3
Created December 25, 2014 10:07

Revisions

  1. tany3 created this gist Dec 25, 2014.
    44 changes: 44 additions & 0 deletions StartWebSItes.ps1
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,44 @@
    #
    #start web site
    #
    $targetSiteNames = ( "WebSite1", "WebSite2" )
    $targetAppPools = ( "AppPool1", "AppPool2" )

    "Settings.Target Sites:"
    foreach ($name in $targetSiteNames) { "`t" + $name }
    "Settings.Target AppPools:"
    foreach ($name in $targetAppPools) { "`t" + $name }

    try{
    Import-Module WebAdministration

    $webapps = Get-WebApplication
    $list = @()

    "Procedure:"
    foreach ($webapp in get-childitem IIS:\AppPools\)
    {
    $name = "IIS:\AppPools\" + $webapp.name
    $item = @{}

    $item.WebAppName = $webapp.name
    $item.State = (Get-WebAppPoolState -Name $webapp.name).Value

    if ($targetAppPools -contains $webapp.name -And $item.State -eq "Stopped")
    {
    Start-WebAppPool $webApp.name
    "`t" + $webapp.name + " - WebSite started."
    }
    if ($targetSiteNames -contains $webapp.name -And $item.State -eq "Stopped")
    {
    Start-Website $webApp.name
    "`t" + $webapp.name + " - AppPool started."
    }
    }
    "Done."
    }
    catch
    {
    $ExceptionMessage = "Error in Line: " + $_.Exception.Line + ". " + $_.Exception.GetType().FullName + ": " + $_.Exception.Message + " Stacktrace: " + $_.Exception.StackTrace
    $ExceptionMessage
    }