如何远程检查使用PowerShell的Web应用程序池的状态?(How to remotely ch

2019-08-01 00:37发布

我看到很多的脚本进行回收运行IIS7,但有没有办法来检查Web服务器上的应用程序池,使用PowerShell,Web应用程序池正在运行或停止? 我似乎无法找出一种方法来远程有GET-WebAppPoolState回报的应用程序池,状态我的谷歌福一直没能拿出一个替代品。 我可以远程获得gwmi工作,回收或开始我的应用程序池,但最好我只是想,如果有应用程序池实际停止运行此。

我需要与PSEXEC工作了这一点,还是有我可以使用类似于gwmi,并有一个行命令调用IIS7服务器上的应用程序池,并给我状态的方法吗?

Answer 1:

您可以使用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


Answer 2:

如果你想漂亮了您可以使用此:

Invoke-Command -ComputerName RemoteHostName -ScriptBlock { Get-WebAppPoolState | % {  return  @{($_.itemxpath -split ("'"))[1]="$($_.value)" } }}


文章来源: How to remotely check the status of a web application pool with PowerShell?