Accumulator Optimization
Per an r/sysadmin thread, u/poshftw recommends replacing the += for-loop accumulator pattern with an array sub-expression operator. For example, replacing
$VMs = Get-VM
$VMCount = "Retrieved $VMs.count from vCenter"
Write-Verbose $VMCount
$vCenterPersistentIDs = @()
foreach ($VM in $VMs) {
$vCenterPersistentIDs += $VM.PersistentID
}
with
$vCenterPersistentIDs = @(Get-View -ViewType VirtualMachine -Property 'Config.InstanceUUid').Config.InstanceUuid
should bring a significant performance improvement.