[CmdletBinding()] Param( [Parameter(Mandatory)] [string]$VMName, [Parameter(Mandatory)] [string]$VSphereFQDN, [Parameter(Mandatory)] [string]$VSphereUsername, [Parameter(Mandatory)] [string]$VSpherePassword ) $PowerCliConfigurationSplat = @{ Scope = 'User' ParticipateInCEIP = $False Confirm = $False InvalidCertificateAction = 'Ignore' } Set-PowerCLIConfiguration @PowerCliConfigurationSplat | Out-Null $ConnectVIServerSplat = @{ Server = $VSphereFQDN User = "$VSphereUsername" Password = "$VSpherePassword" WarningAction = 'SilentlyContinue' } Connect-VIServer @ConnectVIServerSplat | Out-Null $GetVMSplat = @{ Name = "$($VMName)*" ErrorAction = 'SilentlyContinue' } If ([boolean](Get-VM @GetVMSplat)) { $RemoveVMSplat = @{ VM = Get-VM @GetVMSplat DeletePermanently = $True Confirm = $False ErrorAction = 'SilentlyContinue' } Remove-VM @RemoveVMSplat } Disconnect-VIServer * -Confirm:$False $RemoveItemSplat = @{ Path = '/scratch/*' Recurse = $True Force = $True Confirm = $False } Remove-Item @RemoveItemSplat