Update VMware.HV.Helper.psm1
Added -DeleteFromDisk parameter to Remove-HVMachine Performed some minor cleanup (remove trailing whitespaces, capitalization)
This commit is contained in:
@@ -9988,29 +9988,38 @@ function Reset-HVMachine {
|
|||||||
$services.machine.Machine_ResetMachines($machine.id)
|
$services.machine.Machine_ResetMachines($machine.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function Remove-HVMachine(){
|
function Remove-HVMachine {
|
||||||
<#
|
<#
|
||||||
.Synopsis
|
.Synopsis
|
||||||
Remove a Horizon View desktop or desktops.
|
Remove a Horizon View desktop or desktops.
|
||||||
|
|
||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
Deletes a VM or an array of VM's from Horizon. Utilizes an Or query filter to match machine names.
|
Deletes a VM or an array of VM's from Horizon. Utilizes an Or query filter to match machine names.
|
||||||
|
|
||||||
.PARAMETER HVServer
|
.PARAMETER HVServer
|
||||||
The Horizon server where the machine to be deleted resides.Parameter is not mandatory,
|
The Horizon server where the machine to be deleted resides. Parameter is not mandatory,
|
||||||
but if you do not specify the server, than make sure you are connected to a Horizon server
|
but if you do not specify the server, than make sure you are connected to a Horizon server
|
||||||
first with connect-hvserver.
|
first with connect-hvserver.
|
||||||
|
|
||||||
.PARAMETER MachineNames
|
.PARAMETER MachineNames
|
||||||
The name or names of the machine(s) to be deleted. Accepts a single VM or an array of VM names.This is a mandatory parameter.
|
The name or names of the machine(s) to be deleted. Accepts a single VM or an array of VM names.This is a mandatory parameter.
|
||||||
|
|
||||||
|
.PARAMETER DeleteFromDisk
|
||||||
|
Determines whether the Machine VM should be deleted from vCenter Server. This is only applicable for managed machines.
|
||||||
|
This must always be true for machines in linked and instant clone desktops.
|
||||||
|
This defaults to true for linked and instant clone machines and false for all other types.
|
||||||
|
|
||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
remove-HVMachine -HVServer 'horizonserver123' -MachineNames 'LAX-WIN10-002'
|
Remove-HVMachine -HVServer 'horizonserver123' -MachineNames 'LAX-WIN10-002'
|
||||||
Deletes VM 'LAX-WIN10-002' from HV Server 'horizonserver123'
|
Deletes VM 'LAX-WIN10-002' from HV Server 'horizonserver123'
|
||||||
|
|
||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
remove-HVMachine -HVServer 'horizonserver123' -MachineNames $machines
|
Remove-HVMachine -HVServer 'horizonserver123' -MachineNames $machines
|
||||||
Deletes VM's contained within an array of machine names from HV Server 'horizonserver123'
|
Deletes VM's contained within an array of machine names from HV Server 'horizonserver123'
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
Remove-HVMachine -HVServer 'horizonserver123' -MachineNames 'ManualVM01' -DeleteFromDisk:$false
|
||||||
|
Deletes VM 'ManualVM01' from Horizon inventory, but not from vSphere. Note this only works for Full Clone VMs.
|
||||||
|
|
||||||
.NOTES
|
.NOTES
|
||||||
Author : Jose Rodriguez
|
Author : Jose Rodriguez
|
||||||
@@ -10023,28 +10032,31 @@ function Remove-HVMachine(){
|
|||||||
PowerShell Version : 5.0
|
PowerShell Version : 5.0
|
||||||
#>
|
#>
|
||||||
|
|
||||||
[CmdletBinding(
|
[CmdletBinding(
|
||||||
SupportsShouldProcess = $true,
|
SupportsShouldProcess = $true,
|
||||||
ConfirmImpact = 'High'
|
ConfirmImpact = 'High'
|
||||||
)]
|
)]
|
||||||
|
|
||||||
param(
|
param(
|
||||||
|
|
||||||
[Parameter(Mandatory = $true)]
|
[Parameter(Mandatory = $true)]
|
||||||
[array]
|
[array]
|
||||||
$MachineNames,
|
$MachineNames,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $false)]
|
||||||
|
[switch]$DeleteFromDisk = $true,
|
||||||
|
|
||||||
[Parameter(Mandatory = $false)]
|
[Parameter(Mandatory = $false)]
|
||||||
$HVServer = $null
|
$HVServer = $null
|
||||||
)
|
)
|
||||||
|
|
||||||
#Connect to HV Server
|
#Connect to HV Server
|
||||||
$services = Get-ViewAPIService -HVServer $HVServer
|
$services = Get-ViewAPIService -HVServer $HVServer
|
||||||
|
|
||||||
if ($null -eq $services) {
|
if ($null -eq $services) {
|
||||||
Write-Error "Could not retrieve ViewApi services from connection object"
|
Write-Error "Could not retrieve ViewApi services from connection object"
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
|
||||||
#Connect to Query Service
|
#Connect to Query Service
|
||||||
$queryService = New-Object 'Vmware.Hv.QueryServiceService'
|
$queryService = New-Object 'Vmware.Hv.QueryServiceService'
|
||||||
@@ -10098,7 +10110,7 @@ $trys = 0
|
|||||||
$sessions = $null
|
$sessions = $null
|
||||||
[VMware.Hv.SessionId[]]$sessions += $session
|
[VMware.Hv.SessionId[]]$sessions += $session
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
try{
|
try{
|
||||||
|
|
||||||
@@ -10124,7 +10136,7 @@ $trys = 0
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(($trys -le 10)){
|
if(($trys -le 10)){
|
||||||
|
|
||||||
write-host "`n"
|
write-host "`n"
|
||||||
write-host "Retrying Logoffs: $trys times"
|
write-host "Retrying Logoffs: $trys times"
|
||||||
@@ -10133,7 +10145,7 @@ $trys = 0
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$trys++
|
$trys++
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10143,7 +10155,7 @@ $trys = 0
|
|||||||
|
|
||||||
#Create delete spec for the DeleteMachines method
|
#Create delete spec for the DeleteMachines method
|
||||||
$deleteSpec = [VMware.Hv.MachineDeleteSpec]::new()
|
$deleteSpec = [VMware.Hv.MachineDeleteSpec]::new()
|
||||||
$deleteSpec.DeleteFromDisk = $true
|
$deleteSpec.DeleteFromDisk = $DeleteFromDisk
|
||||||
$deleteSpec.ArchivePersistentDisk = $false
|
$deleteSpec.ArchivePersistentDisk = $false
|
||||||
|
|
||||||
#Delete the machines
|
#Delete the machines
|
||||||
|
|||||||
Reference in New Issue
Block a user