VMworld 2017 session voting : Great opportunity to influence VMworld 2017 agenda

VMworld 2017 session voting is started couple of weeks back and if you ask me, this is great opportunity for us to influence what we would like to see at this mega event. I thought to just have one small post asking for your votes for some sessions we have submitted.

If you do not know what is VMworld: VMworld is a global conference for virtualization and cloud computing, hosted by VMware. It is the number-one event for enabling the digital enterprise. VMworld 2017 brings you innovation to accelerate your journey to a software-defined business—from mobile devices to the data center and the cloud. Every year VMware hosts this mega event both in US as well as Europe

This year, there are record 1300+ sessions submitted by VMware fraternity (VMware customers, partners, vExperts, Employees) on multiple areas such as Cloud Computing, End User Computing (EUC), Software Defined Datacenter (SDDC) and mobility management etc.

Below are the sessions we submitted. If you like these sessions,please make sure you vote before 13th April.

1. DRS Cluster Rules Manager :New configuration management approach [2175] (Breakout session: 60 min)

2. Quick talk on VMware Log Tuner (VLT) [2203] (Quick talk: 30 min)

3. Overview on DRS Cluster Rules Manager :New configuration management approach [2752] (Quick talk : 30 min):

Session 1 & 3 are about the fling that we recently released. i.e. Cluster Rules Manager . We would like to take the configuration management approach demonstrated by this fling to the several specialized use-cases from vCenter server.

Here are some of FAQs can help you on casting your valuable vote

Q: How do I cast my vote?
A: First, head over to the voting site: https://my.vmworld.com/scripts/catalog/uscatalog.jsp

Next:
1. Click on the each above link or Search for each sessions listed above, you can either search using session name or ID
2. To vote for a session, click on the star value (1-5 stars) on the Session ID to indicate your preference. off-course, we want 5 stars.
3. You’ll be prompted to log in (if not already logged in) to your VMworld account to have your vote recorded. (If you don’t have a VMworld account, you can set one up for free: https://www.vmworld.com/myvmworld-update!input.jspa)
4. Colored stars confirms that you have successfully voted.

Note: As per me, it is great to open VMworld account using our official email id.

Q:How many sessions can I vote on?
A:You can vote on as many sessions as you’d like. However, you may not vote multiple times for the same session.

Q: How does my vote impact the VMworld 2017 agenda?
A: Your vote will be considered by the VMware Content Team as they make decisions about 2017 session content. In addition, the VMworld 2017 program reserves space on the agenda for “customer choice” sessions that receive particularly high ratings. Tell a friend to vote, and you might see your favorite session on the agenda this August or September.

Q: Who can participate in session voting?
A: Session voting is open to everyone. You will need to log in to your vmworld.com account to participate. If you do not have a vmworld.com account, you can set one up for free. : https://www.vmworld.com/myvmworld-update!input.jspa

Complete VMworld 2017 Session voting FAQs

Some of useful VMware PowerCLI scripts added into VMware Sample Exchange

Recently while working on couple of customer cases, I had to write some useful vSphere PowerCLI scripts. I had submitted these scripts on VMware Sample Exchange, I thought to share on blog as well. If you haven’t still explored VMware Sample Exchange , please have your “My VMware” account created (Mandatory to have My VMware account to contribute or request) and enjoy the single pane of glass for VMware API samples across any product, any programming language and any platform (including CLIs). You can browse already existing samples as well as request new API sample that you are looking for. This is really cool site for learning VMware APIs, it is a must book-mark if you ask me. Here is the VMTN Sample Exchange community for more details.

Here we go for the PowerCLI scripts that I am talking about.

Below are the use-cases these script will help you on.

1. Report on vSphere compute cluster usage/capacity data on CPU, Memory and Storage.
2. Report on DRS VM-VM affinity rules associated with each VMs in the cluster.
3. Solution 1 : Report on VMs with “multi-writer” flag enabled.
4. Solution 2: Report on VMs with “multi-writer” flag enabled.

1. Report on vSphere compute cluster usage/capacity data on CPU, Memory and Storage. Sample exchange script location

< # .SYNOPSIS Getting Cluster usage/capacity data on CPU, Memory and Storage .NOTES Author: Vikas Shitole .NOTES Site: www.vThinkBeyondVM.com .NOTES Reference: http://vthinkbeyondvm.com/category/powercli/ .NOTES Please add the vCenter server IP/credentails as per your environment #>

Connect-VIServer -Server 10.92.166.82 -User Administrator@vsphere.local -Password xyz!23

$report = @()

Write-host "Report Generation is in Progress..."

foreach ($cluster in Get-Cluster ){

$row = '' | select ClusterName,CpuCapacity , CpuUsed, MemCapacity,MemUsed ,StorageCapacity,StorageUsed

$cluster = Get-Cluster -Name $clusterName
$cluster_view = Get-View ($cluster)
$resourceSummary=$cluster_view.GetResourceUsage()
$row.ClusterName =$cluster_view.Name
$row.CpuCapacity =$resourceSummary.CpuCapacityMHz
$row.CpuUsed =$resourceSummary.CpuUsedMHz
$row.MemCapacity =$resourceSummary.MemCapacityMB
$row.MemUsed =$resourceSummary.MemUsedMB
$row.StorageCapacity =$resourceSummary.StorageCapacityMB
$row.StorageUsed =$resourceSummary.StorageUsedMB

$report += $row
}
$report | Sort ClusterName | Export-Csv -Path "D:Clusterstats.csv" #Please change the CSV file location

Write-host "Report Generation is completed, please chekc the CSV file"

2. Report on DRS VM-VM affinity rules associated with each VMs in the cluster. Sample Exchange script location

< # .SYNOPSIS Getting DRS VM-VM affinity rules associated with each VMs in the cluster. .NOTES Author: Vikas Shitole .NOTES Site: www.vThinkBeyondVM.com .NOTES Reference: http://vthinkbeyondvm.com/category/powercli/ .NOTES Please add the vCenter server IP/credetails as per your environment #>

Connect-VIServer -Server 10.192.x.y -User Administrator@vsphere.local -Password xyz!23

$clusterName = "BLR" #Your cluster name
$cluster = Get-Cluster -Name $clusterName
$vms = Get-View ($cluster| Get-VM)
$cluster_view = Get-View ($cluster)

$report = @()

Write-host "Report Generation is in Progress..."

foreach ($vm in $vms ){

$row = '' | select VMName, Rules
$rules=$cluster_view.FindRulesForVm($vm.MoRef)
$ruleNameArray=" "
#There can be more than one rule assciated with single VM
foreach($rule in $rules){
$ruleNameArray+=$rule.Name
$ruleNameArray+=","
}
$row.VMName =$vm.Name
$row.Rules = $ruleNameArray
$report += $row
}
$report | Sort Name | Export-Csv -Path "D:VMsRules.csv" #Please change the CSV file location

Write-host "Report Generation is completed, please chekc the CSV file"

3. Solution 1 : Report on VMs with “multi-writer” flag enabled. Sample exchange script location

< # .SYNOPSIS: This script first downloads all the VMX files (per host/cluster/datacenter/VC)at specified file location .Once downloaded, it will scan each VMX file one by one to get "multi-writer" entry inside VMX .Finally it will list all matching VMX file names into specified file location. .As it downloads all the VMX files, it is going to take more time, that should be fine. .It is all right to download the VMX file when VM is up and running. .If name of the VM is changed, VMX file can be different from VM display name (visible from inventory). .There are 2 file locations you need to specify. 1. Directory where VMX file will be downloaded 2. Output file. .NOTES Author: Vikas Shitole .NOTES Site: www.vThinkBeyondVM.com .NOTES Reference: http://vthinkbeyondvm.com/category/powercli/ and https://communities.vmware.com/message/2269363#2269363 .NOTES Please add the vCenter server IP/credetails as per your environment .NOTES Alternatively you can use this script where API properties are used. https://github.com/vThinkBeyondVM/vThinkBVM-scripts/blob/master/Powershell-PowerCLI/VMMultiWriterReport.ps1 #>

Write-host "Connecting to vCenter server.."
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false -DisplayDeprecationWarnings:$false -Scope User
Connect-VIServer -Server 10.192.67.143 -User administrator@vsphere.local -Password Admin!23

$tgtFolder = "C:\Temp\VMX\" #Create this directory as per your environment
#$tgtString = 'scsi0:0.sharing="multi-writer"'
$tgtString = '"multi-writer"'
foreach ($vm in Get-VM ){

Get-VM -Name $vm.get_Name() | %{
$dsName,$vmxPath = $_.ExtensionData.Config.Files.VmPathName.Split()
$dsName = $dsName.Trim('[]')
$ds = Get-Datastore -Name $dsName
New-PSDrive -Location $ds -Name DS -PSProvider VimDatastore -Root "\" | Out-Null
Copy-DatastoreItem -Item "DS:$vmxPath" -Destination $tgtFolder
Remove-PSDrive -Name DS -Confirm:$false
}

}
Get-ChildItem -Path $tgtFolder -Filter "*.vmx" | Where {Get-Content -Path $_.FullName | Select-String -Pattern $tgtString} | Select Name | Out-File C:\test1.txt
Write-host "Execution is done... please check the file with all VMX file names."

# Below cmdlet can help to scan VMs per Datacenter/Datastore/Host/Cluster. Please modify the script as required.

#$myDatacenter = Get-Datacenter -Name "MyDatacenter"
#Get-VM -Location $myDatacenter

#$myDatastore = Get-Datastore -Name "MyDatastore"
#Get-VM -Datastore $myDatastore

#$myHost=Get-VMHost -Name "HostName"
#Get-VM -Location $myHost

#$myCluster=Get-Cluster -Name "ClusterName"
#Get-VM -Location $myCluster

4. Solution 2 : Report on VMs with “multi-writer” flag enabled. Sample Exchange script location

< # .SYNOPSIS: This script connects to the vCenter Server and prepares a report on All VMs with at-least one disk enabled with "Multi-Writer" sharing. .Report will be generated as CSV file with "VM Name". This can be modified to add some more columns as needed .VC IP/UserName/Password are hardcoded below, please change them as per your environment .By default this script scans all the VMs/VMDK in the vCenter Server. It can be easily twicked to scan VM per cluster or host or datacenter .NOTES Author: Vikas Shitole .NOTES Site: www.vThinkBeyondVM.com .NOTES Reference: http://vthinkbeyondvm.com/category/powercli/ .NOTES Please add the vCenter server IP/credetails as per your environment Alternate solution by scanning VMX file is here: https://github.com/vThinkBeyondVM/vThinkBVM-scripts/blob/master/Powershell-PowerCLI/VMMultiWriterReport2.ps1 #>

Write-host "Connecting to vCenter server.."
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false -DisplayDeprecationWarnings:$false -Scope User
Connect-VIServer -Server 10.192.x.y -User administrator@vsphere.local -Password xyz@123

$report = @()
Write-host "Report Generation is in Progress..."

foreach ($vm in Get-VM ){
$view = Get-View $vm
$settings=Get-AdvancedSetting -Entity $vm
if ($view.config.hardware.Device.Backing.sharing -eq "sharingMultiWriter" -or $settings.value -eq "multi-writer"){
$row = '' | select Name
$row.Name = $vm.Name
$report += $row
}

}
$report | Sort Name | Export-Csv -Path "D:MultiWriter.csv" #Please change the CSV file location

Write-host "Report is generated successfully, please check the CSV file at specified location"

#If you want to generate report per Datacenter/Datastore/Host/Cluster, modify script using below code.

#$myDatacenter = Get-Datacenter -Name "MyDatacenter"
#Get-VM -Location $myDatacenter

#$myDatastore = Get-Datastore -Name "MyDatastore"
#Get-VM -Datastore $myDatastore

#$myHost=Get-VMHost -Name "HostName"
#Get-VM -Location $myHost

#$myCluster=Get-Cluster -Name "ClusterName"
#Get-VM -Location $myCluster