如何使用PowerShell远程检查Web应用程序池的状态?

前端之家收集整理的这篇文章主要介绍了如何使用PowerShell远程检查Web应用程序池的状态?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我看到很多脚本用于在运行IIS7的Web服务器上回收应用程序池,但是有没有办法通过Power Shell来检查Web应用程序池是运行还是停止?我似乎无法找出一种方法来远程让Get-WebAppPoolState返回应用程序池中的状态,而我的Google-fu还没有找到替换.我可以远程获取gwmi的工作和回收或启动我的应用程序池,但理想情况下,我只想运行这个,如果应用程序池实际上停止.

我需要与PSExec一起工作,还是有一个可以使用类似gwmi的替代方法,并有一行命令来调用IIS7服务器上的应用程序池,并给我一个状态?

解决方法

您可以使用Invoke-Command来调用远程计算机上的Get-WebAppPoolState cmdlet.
$appPoolStatus = Invoke-Command -ComputerName RemoteHostName {Import-Module WebAdministration; Get-WebAppPoolState DefaultAppPool}
$appPoolStatus.Value

请注意,如果要在调用机器上使用本地定义的变量,则必须根据规则对待它们.这个链接是一个很好的帖子解释他们:

http://blogs.msdn.com/b/powershell/archive/2009/12/29/arguments-for-remote-commands.aspx

例:

$appPoolName = "SomeAppPoolName"
$appPoolStatus = Invoke-Command -ComputerName RemoteHostName { param($apn) Import-Module WebAdministration; Get-WebAppPoolState $apn} -Args $appPoolName

猜你在找的HTML相关文章