Powershell 通过命令行回收IIS中的所有应用程序池

Powershell 通过命令行回收IIS中的所有应用程序池,powershell,iis,appcmd,Powershell,Iis,Appcmd,我有一个PowerShell脚本: &$psexec$serveraddr-u$remoteuser-p$remotepass-accepteula C:\Windows\System32\inetsrv\appcmd.exe列表apppool/xml | C:\Windows\System32\inetsrv\appcmd.exe循环apppool/in 我正在使用它来回收所有IIS池。问题是,只有IIS池中提供的默认值才会被回收。私人泳池不可循环使用。第二个appcmd找不到它们。第一个ap

我有一个PowerShell脚本:

&$psexec$serveraddr-u$remoteuser-p$remotepass-accepteula C:\Windows\System32\inetsrv\appcmd.exe列表apppool/xml | C:\Windows\System32\inetsrv\appcmd.exe循环apppool/in

我正在使用它来回收所有IIS池。问题是,只有IIS池中提供的默认值才会被回收。私人泳池不可循环使用。第二个appcmd找不到它们。第一个appcmd查找由IIS和private提供的所有池

错误是:

错误(消息:Nie można odnaleźćobiektu APPPOOL o IdentityFikatorze“Core1”。)

从波兰语来看,它是:

错误(消息:找不到id为“Core1”的对象应用池。)


我不能回收私人游泳池。有没有办法绕过这个问题?

因此命令的第二部分在本地执行。我已将脚本更改为通过单个命令回收每个池:


&$psexec$server-u$remoteuser-p$remotepass-accepteula C:\Windows\System32\inetsrv\appcmd.exe回收apppool/apppool。名称:Core1

这是回收所有应用程序池的一行代码:

& $env:windir\system32\inetsrv\appcmd list apppools /state:Started /xml | & $env:windir\system32\inetsrv\appcmd recycle apppools /in

第一个
appcmd
由远程计算机上的
psexec
调用,但第二个
appcmd
在本地计算机上调用。这就是你想要的吗?不-这就是问题所在。这是一个远程服务器,你的答案不包括服务器的远程性。