删除具有特殊字符的应用程序池

时间:2019-07-09 12:49:11

标签: powershell iis

我意外地创建了IIS应用程序池,其名称带有大括号和哈希。我正在尝试通过PowerShell将其删除

我已经尝试过Remove-WebAppPool

Import-Module WebAdministration
Remove-WebAppPool '#{Tenant_BrandId}'

此错误不断出现:

  

删除项目:输入字符串的格式不正确。

我也尝试过:

Import-Module WebAdministration
cd IIS:\AppPools
Remove-Item -LiteralPath '#{Tenant_BrandId}'

这仍然返回:

  

Remove-Item:找不到路径'{Tenant_BrandId}',因为它不存在。

2 个答案:

答案 0 :(得分:0)

这看起来确实很麻烦,但是我使用.NET类Microsoft.Web.Administration.ServerManager使其正常工作:

Add-Type -AssemblyName 'Microsoft.Web.Administration, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL'
$iis = [Microsoft.Web.Administration.ServerManager]::new()
($iis.ApplicationPools | Where-Object {$_.Name -eq '#{Tenant_BrandId}'}).Delete()
$iis.CommitChanges()

答案 1 :(得分:0)

您可以使用下面的PowerShell脚本删除应用程序池:

Remove-WebConfigurationProperty  -pspath 'MACHINE/WEBROOT/APPHOST'  -filter "system.applicationHost/applicationPools" -name "." -AtElement @{name='#{Tenant_BrandId}'}