Public/Tasks/Invoke-InstallCertTask.ps1
#Requires -Modules WebAdministration Set-StrictMode -Version Latest Function Invoke-KillAppPoolTask { [CmdletBinding(SupportsShouldProcess=$true)] param( [Parameter(Mandatory=$true)] [string]$Name ) $appPoolPath = "IIS:\AppPools\$Name" if (Test-Path -Path $appPoolPath) { $appPoolWorkers = Get-ChildItem $appPoolPath\WorkerProcesses if ($appPoolWorkers) { $appPoolWorkers | ForEach-Object { $processId = $_.processId if ($processId) { $appPoolProcessInfo = "$Name [$processId]" $message = "Killing AppPool process: $appPoolProcessInfo" if ($PSCmdLet.ShouldProcess("$appPoolProcessInfo", "$message" )) { Write-TaskInfo $message -Tag 'KillAppPool' Invoke-KillProcessTask -processId $processId } } } } } else { Write-TaskInfo "AppPool $Name does not exist" -Tag 'KillAppPool' } } Register-SitecoreInstallExtension -Command Invoke-KillAppPoolTask -As KillAppPool -Type Task -Force |