我可以使用PowerShell而不是AppCmd.exe来监控IIS状态吗?

时间:2011-12-21 21:12:50

标签: iis powershell appcmd

我想编写一个使用appcmd.exe来监控IIS状态的脚本 - 如果网站关闭则重新启动网站,并且如果网站已关闭,则重新启动它。

这可以用powershell完成吗?有没有更自然/更简单的方法呢?

谢谢: - )

2 个答案:

答案 0 :(得分:13)

Windows PowerShell始终是答案!这应该针对您的特定问题:

# Cycle IIS if it's not running    
Get-Service W3SVC  |
    Where-Object {$_.Status -ne 'Running' }  | 
    Start-Service

Import-Module WebAdministration

# Cycle websites that are not started
Get-Website | 
    Where-Object { $_.State -ne 'Started' }  | 
    ForEach-Object { $_.Start() } 

希望这有助于

答案 1 :(得分:0)

您可以使用WebAdministration模块以比使用appcmd更优雅的方式执行此操作。

http://technet.microsoft.com/en-us/library/ee790599.aspx