powershell - 使用强制选项在Powershell中创建应用程序池

标签 powershell iis application-pool

我尝试在远程计算机上创建应用程序池,如果它已经存在,则命令失败:

Invoke-Command -ComputerName $ServerName -ScriptBlock {Import-Module WebAdministration;new-WebAppPool $($args[0]) -Force} -ArgumentList $proj



文件名:
错误:无法添加唯一键属性“名称”设置为“BIB”的类型为“添加”的重复收集条目
'
+ CategoryInfo:InvalidData:(:) [New-WebAppPool],COMException
+ FullyQualifiedErrorId:文件名:
错误:无法添加唯一键属性“名称”设置为“BIB”的类型为“添加”的重复收集条目
'
,Microsoft.IIs.PowerShell.Provider.NewAppPoolCommand


因此,如何强制创建已存在的池?
或者我以前如何检查它是否存在?

最佳答案

测试应用程序池是否已经存在(如果存在),然后将其删除:

$AppPoolScriptBlock = {
    Import-Module WebAdministration
    if(Test-Path IIS:\AppPools\$($args[0]))
    {
        Remove-WebAppPool $args[0]
    }
    New-WebAppPool $($args[0]) -Force
}

Invoke-Command -ComputerName $ServerName -ScriptBlock $AppPoolScriptBlock -ArgumentList $proj

关于powershell - 使用强制选项在Powershell中创建应用程序池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24240739/

相关文章:

linux - 使用 ls 从 SFTP 服务器获取文件的时间戳

powershell - 如何使用powershell提取publickeytoken?

powershell - powershell 对象中的十六进制格式

asp.net-mvc - 如何调试 System.Web.Mvc.MvcHandler 上的 500.0/0x00000000 错误

IIS8中的IIS_IUSRS和IUSR权限

iis - 有没有办法在 web.config 中配置应用程序池的 "Idle timeout"?

powershell - 将主机写入列(格式化输出)

c# - Web应用中如何获取Web请求域用户信息

asp.net - TLS 1.2 后无法再从经典 ASP 调用 ASMX 服务

asp.net-mvc - 人们如何解决大型应用程序部署时的应用程序池回收问题?