Perform IIS reset on multiple servers at once.

Perform IIS reset on multiple servers at once. Displays status after reset. 


#Specify servers in an array variable, Make sure you change the where statement.
[array]$servers = get-exchangeserver | where {$_.identity -like "esg*" -and $_.AdminDisplayVersion -match "version 15.0*"}

#Step through each server in the array and perform an IISRESET
#Also show IIS service status after the reset has completed

foreach ($server in $servers)
{
    Write-Host "Restarting IIS on server $server..."
    IISRESET $server
    Write-Host "IIS status for server $server"
    IISRESET $server /status
}
Write-Host "IIS has been restarted on all servers"


OR


#Specify servers in an array variable
[array]$servers = "Server1","Server2","Server3","Server4"
#Step through each server in the array and perform an IISRESET
#Also show IIS service status after the reset has completed
foreach ($server in $servers)
{
    Write-Host "Restarting IIS on server $server..."
    IISRESET $server
    Write-Host "IIS status for server $server"
    IISRESET $server /status
}
Write-Host IIS has been restarted on all servers