$sctasknum='SCTASK0123474' $sctask = Get-ServiceNowRecord -Table 'Catalog Task' -ID $sctasknum -IncludeCustomVariable $request_itemNum = $sctask.request_item.display_value $TimeStampString = Get-Date -UFormat "%Y%m%d%H%M%S" $CommentsToAdd=@" $TimeStampString Added disk "@ Update-ServiceNowRecord -ID $sctask.number -Values @{comments = $CommentsToAdd} # enter comments into sctask Update-ServiceNowRecord -ID $RitmNum -values @{comments = $CommentsToAdd} If($CloseTask){ Update-ServiceNowRecord -Id $sctask.number -Values @{close_notes = $CommentsToAdd; state = "Closed Complete" } } Update-ServiceNowRecord -ID $sctask.number -Values @{short_description = "VMware VM change for $HostName"} Update-ServiceNowRecord -ID $sctask.number -Values @{assigned_to = "Donald E. Lange"} Update-ServiceNowRecord -ID $sctask.number -Values @{assigned_to = $assignTo.name} # full auto cpu/memory $SCTaskNum = 'SCTASK0123802' $SCTask = Get-ServiceNowRecord -Table 'Catalog Task' -ID $SCTaskNum $RitmNum = $SCTask.request_item.display_value $RITM = Get-ServiceNowRecord -Table 'Requested Item' -ID $RitmNum -IncludeCustomVariable [string]$HostName = ($RITM.CustomVariable | where-object Name -eq server_name).Value [int]$CPU = ($RITM.CustomVariable | where-object Name -eq Processors).Value [int]$MemoryGB = ($RITM.CustomVariable | where-object Name -eq MemoryGB).Value [int]$Disk1 = ($RITM.CustomVariable | where-object Name -eq disk_1_os).Value [int]$Disk2 = ($RITM.CustomVariable | where-object Name -eq disk_2_swap_disk).Value [int]$Disk3 = ($RITM.CustomVariable | where-object Name -eq disk_3).Value [int]$Disk4 = ($RITM.CustomVariable | where-object Name -eq disk_4).Value [int]$Disk5 = ($RITM.CustomVariable | where-object Name -eq disk_5).Value [int]$Disk6 = ($RITM.CustomVariable | where-object Name -eq disk_6).Value [int]$Disk7 = ($RITM.CustomVariable | where-object Name -eq disk_7).Value [int]$Disk8 = ($RITM.CustomVariable | where-object Name -eq disk_8).Value [int]$Disk9 = ($RITM.CustomVariable | where-object Name -eq disk_9).Value [int]$Disk10 = ($RITM.CustomVariable | where-object Name -eq disk_10).Value [int]$Disk11 = ($RITM.CustomVariable | where-object Name -eq disk_11).Value [int]$Disk12 = ($RITM.CustomVariable | where-object Name -eq disk_12).Value [int]$Disk13 = ($RITM.CustomVariable | where-object Name -eq disk_13).Value [int]$Disk14 = ($RITM.CustomVariable | where-object Name -eq disk_14).Value [int]$Disk15 = ($RITM.CustomVariable | where-object Name -eq disk_15).Value [int]$Disk16 = ($RITM.CustomVariable | where-object Name -eq disk_16).Value $VM = Get-VM -Name $HostName* | Where-Object { $_.ExtensionData.summary.config.ManagedBy.Type -ne "placeholderVm" } Write-Warning -Message ("VM: " + $VM.Name) If($CPU -ne 0){ Write-Verbose -Message ($VM.Name + " attempt increasing CPU to " + $CPU) try { $VM | Set-VM -NumCpu $CPU } catch { <#Do this if a terminating exception happens#> } } If($MemoryGB -ne 0){ Write-Verbose -Message ($VM.Name + " attempt increasing MemoryGB to " + $CPU) try { $VM | Set-VM -MemoryGB $MemoryGB } catch{ } } If($Disk1){ $HardDisk = $VM | Get-HardDisk -Name "Hard disk 1" $Datastore = $HardDisk | Get-Datastore $HardDiskIncreaseGB = $Disk1 - $HardDisk.CapacityGB $FreePercentBefore = ($Datastore.FreeSpaceGB) / $Datastore.CapacityGB $FreePercentAfter = ($Datastore.FreeSpaceGB - $HardDiskIncreaseGB) / $Datastore.CapacityGB If ($FreePercentAfter -gt 0.10){ Write-Warning -Message ("Hard disk 1: Increasing from " + $HardDisk.CapacityGB + "GB to " + $Disk1 + "GB") #Write-Warning -Message ("Datastore " + $Datastore.Name + " free space will lower from " + [math]::round($FreePercentBefore,4)*100 + "% to " + [math]::round($FreePercentAfter,4)*100 + "%") Write-Warning -Message ("Datastore " + $Datastore.Name + " free space will lower from " + [math]::round($FreePercentBefore,4) + " to " + [math]::round($FreePercentAfter,4) + "") $VM | Get-HardDisk -Name "Hard disk 1" | Set-HardDisk -CapacityGB $Disk1 -Confirm:$false } Else{ Write-Error -Message ("Hard disk 1 failed. 20% free space is required for automated disk expansions. " + $Datastore.Name + " would be " + [math]::round($FreePercentAfter,4) + ".") } } If($Disk2){ #$VM | Get-HardDisk -Name "Hard disk 2" | Set-HardDisk -CapacityGB $Disk2 } If($Disk3){ #$VM | Get-HardDisk -Name "Hard disk 3" | Set-HardDisk -CapacityGB $Disk3 } <# If($Disk4){ $VM | Get-HardDisk -Name "Hard disk 4" | Set-HardDisk -CapacityGB $Disk4 } If($Disk5){ $VM | Get-HardDisk -Name "Hard disk 5" | Set-HardDisk -CapacityGB $Disk5 } If($Disk6){ $VM | Get-HardDisk -Name "Hard disk 6" | Set-HardDisk -CapacityGB $Disk6 } If($Disk7){ $VM | Get-HardDisk -Name "Hard disk 7" | Set-HardDisk -CapacityGB $Disk7 } If($Disk8){ $VM | Get-HardDisk -Name "Hard disk 8" | Set-HardDisk -CapacityGB $Disk8 } If($Disk9){ $VM | Get-HardDisk -Name "Hard disk 9" | Set-HardDisk -CapacityGB $Disk9 } If($Disk10){ $VM | Get-HardDisk -Name "Hard disk 10" | Set-HardDisk -CapacityGB $Disk10 } If($Disk11){ $VM | Get-HardDisk -Name "Hard disk 10" | Set-HardDisk -CapacityGB $Disk11 } If($Disk12){ $VM | Get-HardDisk -Name "Hard disk 10" | Set-HardDisk -CapacityGB $Disk12 } If($Disk13){ $VM | Get-HardDisk -Name "Hard disk 10" | Set-HardDisk -CapacityGB $Disk13 } If($Disk14){ $VM | Get-HardDisk -Name "Hard disk 10" | Set-HardDisk -CapacityGB $Disk14 } If($Disk15){ $VM | Get-HardDisk -Name "Hard disk 10" | Set-HardDisk -CapacityGB $Disk15 } If($Disk16){ $VM | Get-HardDisk -Name "Hard disk 10" | Set-HardDisk -CapacityGB $Disk16 }#>