# Start all the stopped websites in SharePoint 2010 farm
function StartStoppedWebSitesInFarm
{
foreach ($server in (Get-SPServer | Where {$_.Role -ne "Invalid"}) )
{
$websites = Get-WmiObject -namespace "root/webadministration" -class Site -ComputerName $server.name -Authentication 6 | Where {$_.GetState().ReturnValue -ne 1} | select name
if ($websites -eq $null) {
Write-Host "No web sites are stopped on server $($server.Name)" -foregroundcolor green
continue
}
else
{
foreach ($webObj in $websites)
{
$web = $webObj.name
if($web -eq 'Default Web Site')
{
Write-Host "Default Web Site is stopped in $($server.Name), so skipping this server" -foregroundcolor yellow
break
}
else
{
Get-WmiObject -Namespace 'root\webadministration' -Class Site -ComputerName $server.name -Authentication 6 -Filter "Name='$web'" | Invoke-WmiMethod -Name Start
Write-Host "web site $web is started on server $($server.Name)" -foregroundcolor green
}
}
}
}
}
function StartStoppedWebSitesInFarm
{
foreach ($server in (Get-SPServer | Where {$_.Role -ne "Invalid"}) )
{
$websites = Get-WmiObject -namespace "root/webadministration" -class Site -ComputerName $server.name -Authentication 6 | Where {$_.GetState().ReturnValue -ne 1} | select name
if ($websites -eq $null) {
Write-Host "No web sites are stopped on server $($server.Name)" -foregroundcolor green
continue
}
else
{
foreach ($webObj in $websites)
{
$web = $webObj.name
if($web -eq 'Default Web Site')
{
Write-Host "Default Web Site is stopped in $($server.Name), so skipping this server" -foregroundcolor yellow
break
}
else
{
Get-WmiObject -Namespace 'root\webadministration' -Class Site -ComputerName $server.name -Authentication 6 -Filter "Name='$web'" | Invoke-WmiMethod -Name Start
Write-Host "web site $web is started on server $($server.Name)" -foregroundcolor green
}
}
}
}
}
example: