functions/Remove-D365SFClusterExtraFiles.ps1

function Remove-D365SFClusterExtraFiles {
    <#
   .SYNOPSIS
   When removing cluster the cleanup usually messes up and needs further cleanup.
   Run Clean fabric scripts on each server then run this to do final cleanup. If any files are locked restart computers
   Restart then remake cluster.
Use Get-D365LBDConfig -ConfigImportFromFile to get config
  #>

    [alias("Remove-D365ClusterExtraFiles")]
    [CmdletBinding()]
    param
    (
        [Parameter(ParameterSetName = 'AllAppServerList',
            ValueFromPipeline = $True)]
        [string[]]$AllAppServerList,
        [Parameter(Mandatory = $false)]
        [string]$ExportLocation,
        [Parameter(ParameterSetName = 'Config',
            ValueFromPipeline = $True)]
        [psobject]$Config
    )
    BEGIN {
    }
    PROCESS {
        if ($Config)
        {
            $AllAppServerList= $config.AllAppServerList
        }
        else{

        }
         
        foreach ($AppServer in $AllAppServerList) {
            Invoke-Command -ScriptBlock { $SFFolder = Get-ChildItem "C:\ProgramData" -Directory | Where-Object { $_.Name -eq "SF" };
                if ($SFFolder.Count -eq 1 ) {
                    $items.FullName | Remove-Item -Recurse -Force -Confirm -Verbose
                    Write-PSFMessage -Level VeryVerbose -Message "Cleaned SF Folder on $env:ComputerName "
                }
                else {
                    Write-PSFMessage -Level VeryVerbose -Message "SF Folder in Program Data doesnt exist on $env:ComputerName"
                }
            } -ComputerName $AppServer
        }

    }
    END {}
}