Quantcast
Channel: VMware Communities : Discussion List - All Communities
Viewing all articles
Browse latest Browse all 193198

PowerCLi Right Size

$
0
0

I have been modifing a script to do automated right sizing for me based on an imported csv file.

I think i have the Script sorted out but it will not run, I get this error.

Any help would be appriciated.

 

 

Get-VM : Cannot validate argument on parameter 'Name'. The argument is null or
empty. Supply an argument that is not null or empty and then try the command ag
ain.
At C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\RightSize.ps1:
66 char:28
+ foreach($vm in Get-VM -Name <<<<  ($vms.Virtual Machine)){    + CategoryInfo          : InvalidData: (:) [Get-VM], ParameterBindingValid   ationException    + FullyQualifiedErrorId : ParameterArgumentValidationError,VMware.VimAutom   ation.ViCore.Cmdlets.Commands.GetVM

 

This is the code.

 

 

function PowerOff-VM{    param([string] $vm)        Shutdown-VMGuest -VM (Get-VM $vm) -Confirm:$false | Out-Null    Write-Host "Shutdown $vm"    do {        $status = (get-VM $vm).PowerState    }until($status -eq "PoweredOff")    return "OK"
}

function PowerOn-VM{
    param( [string] $vm)        if($vm -eq ""){    Write-Host "Please enter a valild VM name"}        if((Get-VM $vm).powerstate -eq "PoweredOn"){        Write-Host "$vm is already powered on"}        else{        Start-VM -VM (Get-VM $vm) -Confirm:$false | Out-Null        Write-Host "Starting $vm"        do {            $status = (Get-vm $vm | Get-View).Guest.ToolsRunningStatus        }until($status -eq "guestToolsRunning")        return "OK"    }
}    
 $VIServer = Connect-VIServer "vcenter" 
If ($VIServer.IsConnected -ne $true){  Write-Host "error connecting to $vCenter" -ForegroundColor Red  exit
}
$vms = Import-CSV .\vcopsreport.csv
foreach($vm in Get-VM -Name ($vms."Virtual Machine")){  if($vms."Recommended Memory" -or $vms."Recommended vCPU" -ne "0"){    $poweroff = PowerOff-VM $vm.Name    if($poweroff -eq "Ok"){      Write-Host "PowerOff OK"      if($vms."Recommended Memory" -ne "0"){                                   $vm.Name | Set-VM -MemoryGB $vms."Recommended Memory" -Confirm:$False          Write-Host "The new configured amount of memory is"(Get-VM $VM).MemoryGB              }      if($CPUCount -ne "0"){        $vm.Name | Set-VM -NumCPU $vms."Recommended vCPU" -Confirm:$False        Write-Host "The new configured number of vCPU's is"(Get-VM $VM).NumCPU      }      $poweron = PowerOn-VM $vm.Name      if($poweron -eq "Ok"){        Write-Host "PowerOn OK"}    }  }
}

Disconnect-VIServer -Confirm:$false

Viewing all articles
Browse latest Browse all 193198

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>