51 lines
1.3 KiB
PowerShell
51 lines
1.3 KiB
PowerShell
[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 |