使用Powershell脚本回收应用程序池

Ras*_*ash 3 powershell iis-7.5

我想使用一个衬管命令回收我的应用程序池,我可以将其放在我的powershell脚本中.我在PowerShell脚本中添加了以下代码:

Import-Module WebAdministration

$site = "Default Web Site"

$pool = (Get-Item "IIS:\Sites\$site"| Select-Object applicationPool).applicationPool

Restart-WebAppPool $pool
Run Code Online (Sandbox Code Playgroud)

但我收到一个名称IIS不存在的错误.请指教

Ale*_*kin 9

我喜欢答案简短而简单,就像这样......

Restart-WebAppPool (Get-Website -Name <YourSiteName>).applicationPool
Run Code Online (Sandbox Code Playgroud)

  • 这是循环还是重启?我相信这是两件不同的事情 (4认同)
  • 对于应用程序池来说这是相同的。将创建新进程并分配新内存。您应该在何处以及为何重新启动应用程序池,以及何时必须回收它?) (2认同)
  • msdn 上的描述说 - 该命令导致指定的应用程序池被回收。 (2认同)

Mat*_*sen 6

您可以使用appcmd.exe

appcmd recycle apppool /apppool.name:'MyAppPool'
Run Code Online (Sandbox Code Playgroud)

您还可以检索相应的 WMI 实例并调用该Recycle()方法:

$myAppPool = Get-WmiObject -Namespace root\WebAdministration -Class ApplicationPool -Filter "Name = 'MyAppPool'"
$myAppPool.Recycle()
Run Code Online (Sandbox Code Playgroud)