Public/Tasks/Invoke-RemoveAppPoolTask.ps1

#Requires -Modules SitecoreInstallFramework, SitecoreFundamentals, WebAdministration

Set-StrictMode -Version Latest

Function Invoke-RemoveAppPoolTask {
    [CmdletBinding(SupportsShouldProcess=$true)]
    param(
        [Parameter(Mandatory=$true)]
        [string]$Name
    )

    if (Test-Path -Path "IIS:\AppPools\$Name") {
        Write-TaskInfo "Removing AppPool $Name" -Tag 'RemoveAppPool'

        Invoke-ManageAppPoolTask -Name $Name -Action stop
        Remove-WebAppPool -Name $Name
    } else {
        Write-TaskInfo "AppPool $Name does not exist" -Tag 'RemoveAppPool'
    }
}
Register-SitecoreInstallExtension -Command Invoke-RemoveAppPoolTask -As RemoveAppPool -Type Task -Force