VMware Carbon Black Cloud – Next Generation Security

VMware Carbon Black Cloud

This interesting company Carbon Black, a VMware acquisition Oct, 08, 2019 , then lead me to watch the live demo’s / presentation at VMworld 2019. This product, possibly a game changer (opinions are my own) in the security space of VMware.

With my background in VMware vSphere, Qualys, McAfee, Trend Micro, Symantec and Ethical Hacking, this product jumps out to me. I started looking in more detail at what this new integration could do.

Image from “VMWCB-VMware-Carbon-Black-Cloud-1.pdf”

Could these features, now built in to / plugin for vCenter replace many other security products?

Components

  • Next-Generation Antivirus and EDR
  • Managed Alert Monitoring
  • Real-time device assessment
  • Inbuilt and Proactive Threat intelligence

Benefits

  • One Console – Provides One Platform for your Security
  • One Agent – Reduce the endpoint security agents required
  • Reduce CPU usage

For more information or a demo, visit the Carbon Black site.

VMworld 2019 Europe session scheduling is now…

VMWORLD Barcelona sessions are now live to register #VMWORLD #VMware #Barcelona

VMworld 2019 Europe session scheduling is now…

Register for VMworld 2019 Europe today. Meet experts, learn about industry hot topics, preview new hands-on labs, and attend networking events.


VMware Social Media Advocacy

What does End of General Support mean?

vSphere 5.5 was released in 2013. Now 5 years on and its out of General Support. What does it mean? My simplistic techie take on this is, you still have support if you vSphere farm has a wobble and you need VMware technical support, and don’t be surprised if the solution is to upgrade. However if your still running 5.5 and your not quite sure what to do, feel free to call on a certified professional to plan an upgrade to the latest and greatest release :-).

What does End of General Support mean?

On September 19th, vSphere 5.5 exited its general support phase and moved into something called “Technical Guidance”. In response to this, many have already moved to a newer release of the vSphere 6.x line. Whether it be for compatibility concerns or a reasonable wariness of touching what’s not broken, there are several of us who The post What does End of General Support mean? appeared first on VMware vSphere Blog .


VMware Social Media Advocacy

Automating File-Based Backups of vCenter Server…

Automating File-Based Backups of vCenter Server Appliance

Automating File-Based Backups of vCenter Server…

Did you know the vCenter Server Appliance (VCSA) has file-based backup options? This ability was actually released in vSphere 6.5. However, there was one feature in particular that was missing: a scheduler. I’m happy to say that as part of vSphere 6.7, the VCSA received a backup scheduler! Recently, my teammate, Emad Younis released a […] The post Automating File-Based Backups of vCenter Server Appliance appeared first on VMware PowerCLI Blog .


VMware Social Media Advocacy

VMware vRealize – What is vRealize Orchestrator(vRO)?

Overview

This is my interpterion of VMware vRealise Orchestrator at a high level. VMware vRealise Orchestrator is a centralised location to create workflows, create actions and define configuration elements to automate tasks. In ddition there is a useful tool built-in which can auto generate documentation based on your workflows created.

so, how does vRO compare to my previous work?

My first impression of vRO, is the tool reiterates the structure I have been putting in place via PowerShell scripts on previous projects and demonstrations.

Previously I would create a simple CSV which contained all the server / virtual machine information

See my previous work on bulk virtual machine deployments:

The logic is :

Within vRealise the procedures are all done in work flows. Its worth noting scriptable tasks are in JavaScript. Scripts can be added to workflows

The scriptable tasks are more interesting. You can predefine properties/variables to use within the script tasks.

Some nice key features :

  • Descriptions area for workflows
  • Version control work flows.
  • Simple Output to System.log

Is there a similar alternative product I’ve used.

Some of vRO features do have similarities to an alternative product I have recently been using called Octopus. Octopus has the options to create processes, add scripts including PowerShell and version control each release and control releases.

Scripting
Moving on to more advance scriptable tasks in vRO, decisions can then be defined based on If …Else statements to define the output. When scripting within workflows, a simple but effective feature is when a variable is entered in a script, the variable name changes colour.

Out the box options
There are some out the box options such as VMware tools and Virtual Hardware upgrades with vRO workflows.
There are many more advanced topics and work flows. Feel free to share your favourite work flows or developed work flow on twitter @stephenhackers

Note : All opinions are my own.

 

 

Add VM Custom Annotation and Create a Report on Annotations

Add Custom Attributes for Notes Annotation
………………

A request to add custom attributes for Virtual Machines when using the fat client. (Web client in 5.1 and 5.5 requires a plugin, see “vsphere-web-client-plugin-for-custom”) 6.0 doesn’t see the attributes in the Web Client, 6.5 does, see the 6.5 KB.

Fields required : Applications, Company Name, Owner, Role, VM Cost

Code Below

Connect-VIServer VC6.test.domain
New-CustomAttribute -Name “Company Name” -TargetType VirtualMachine
New-CustomAttribute -Name “VM Cost” -TargetType VirtualMachine
New-CustomAttribute -Name “Role” -TargetType VirtualMachine
New-CustomAttribute -Name “Owner” -TargetType VirtualMachine
New-CustomAttribute -Name “Applications” -TargetType VirtualMachine
disconnect-VIServer VC6.test.domain -Confirm:$false

………………..

Add the details required

………………..

Bulk Virtual Machines Deployment and Zero Clicks Part 1

Add additional code code to add annotation in to the bulk script

$companyname = $item.companyname
$applications = $item.applications
$owner = $item.owner
$role = $item.role
$cost = $item.cost

#Get the Specification and set the Nic Mapping
New-OSCustomizationNicMapping -Spec $custspec -IpMode UseStaticIp –Position 1 -IpAddress $ipaddr -SubnetMask $subnet -DefaultGateway $gateway -Dns $pdns,$sdns

#Create VM using Template with the adjusted Customization Specification
New-VM -Name $vmname -Template $template -Datastore $datastore -VMHost $vmhost -ResourcePool $resourcepool | Set-VM -OSCustomizationSpec $custspec -Confirm:$false

#Set the Network Name
Get-VM -Name $vmname | Get-NetworkAdapter | Set-NetworkAdapter -NetworkName $vlan -Confirm:$false

#Set the CPU and Memory
Get-VM -Name $vmname | Set-VM -MemoryGB $ram -NumCPU $cpu -Confirm:$false

#Set some custom attribute fieds
#New-CustomAttribute -Name “VM Cost” -TargetType VirtualMachine
#New-CustomAttribute -Name “Role” -TargetType VirtualMachine
#New-CustomAttribute -Name “Owner” -TargetType VirtualMachine
#New-CustomAttribute -Name “Applications” -TargetType VirtualMachine

#Set annotation value for custom attributes
Set-Annotation -Entity $vmname -CustomAttribute “CompanyName” -Value “$companyname”
Set-Annotation -Entity $vmname -CustomAttribute “Applications” -Value “$applications”
Set-Annotation -Entity $vmname -CustomAttribute “Owner” -Value “$owner”
Set-Annotation -Entity $vmname -CustomAttribute “Role” -Value “$role”
Set-Annotation -Entity $vmname -CustomAttribute “VM Cost” -Value “$cost”

 

Reports

RV Tools can be used to produce an MS Excel file to output a list of virtual machines and custom annotations RV Tools download

………………

Alternative Report function used
https://psvmware.wordpress.com/tag/get-vm-annotation/

Function Code Below
(greg-get-annotations tested successfully in our lab)……………….

function greg-get-annotations {
<# .DESCRIPTION Greg-get-annotations function stores information about annotation fields for vms in given cluster or in all clusters in VC. It stores the result in an arraylist $vms, you can either create a csv report from this object or display it on screen greg-get-annotations |export-csv -NoTypeInformation c:\file1.csv will export it to csv file etc… greg-get-annotations |format-table VMname,Cluster,CreatedOn,Notes will just display on screen a table with annotations that include : vm name, its cluster and field “CreatedOn” and Notes   .PARAMETER clustername Specifies the clustername against wchi report will be built   .EXAMPLE greg-get-annotations -clustername ‘cluster01’|Export-Csv c:\annotation-report.csv Will procude report on vms that resides in ‘cluster01’ and store it in csv file   .EXAMPLE greg-get-annotations -clustername ‘cluster01’|ft * Will procude report on vms that resides in ‘cluster01’ output it to screen   .EXAMPLE greg-get-annotations |Export-Csv c:\annotation-report.csv Will procude report on vms that resides in all clusters and output it to screen   .EXAMPLE greg-get-annotations Without specified -clustername switch, it will do report regarding all clusters in VC   .NOTES AUTHOR: Grzegorz Kulikowski LASTEDIT: 05/30/2011     #>
param ([string]$clustername)
if(!($clustername)){$clusters=Get-Cluster}else{$clusters=Get-Cluster $clustername}
$VMs=New-Object Collections.ArrayList
foreach ($cluster in $clusters)  {
foreach ($vmview in (get-view -ViewType VirtualMachine -SearchRoot $cluster.id)) {
$vm=New-Object PsObject
Add-Member -InputObject $vm -MemberType NoteProperty -Name VMname -Value $vmview.Name
Add-Member -InputObject $vm -MemberType NoteProperty -Name Notes -Value $vmview.Config.Annotation
Add-Member -InputObject $vm -MemberType NoteProperty -Name Cluster -Value $cluster.Name
foreach ($CustomAttribute in $vmview.AvailableField){
Add-Member -InputObject $vm -MemberType NoteProperty -Name $CustomAttribute.Name -Value ($vmview.Summary.CustomValue | ? {$_.Key -eq $CustomAttribute.Key}).value
}
$VMs.add($vm)|Out-Null
}
}
return $VMs
}

greg-get-annotations |Export-Csv c:\annotation-report.csv

……………………………………..

CSV Out Put

 

 

Bulk Virtual Machines Deployment and Zero Clicks Part 1

A recent project revisited deploying virtual machines via PowerCli. Its fair to say this isn’t a new tool but sometimes over looked.

Part 1 /  Part 2

My requirements were to deploy :

  • 100+ virtual machines (within a few hours)
  • domain join all machines
  • license the OS
  • various virtual machine specifications
  • various Windows OS versions.
  • to two different data centers within a linked vCenter setup
  • to resource pools
  • to different data stores
  • to different networks

 

The constraints:

  • vSphere 6.0 update 2
  • no budget for third party automation tools
  • small window of opportunity to deploy the VMs

 

On the plus side there was:

o    Loads of available CPU and RAM
o    Large datastores presented
o    Subnets prepared
o    Stretched VLANs across Data Centers

 

The tools I used to the task

  • Excel (CSV)
  • Notepad++
  • PowerCLi

 

The CSV file example

# Example Bulk_VMs_Deploy.csv

Template Datastore VMhost Custspec VMname IPaddress Subnet Gateway
2012_Template Storage1 ESXi.domain 2012_Spec test2003VL1 192.168.0.191 255.255.255.0 192.168.0.1
PDNS SDNS ResourcePool RAM CPU VLAN Size Format
192.168.0.10 127.0.0.1 resource1 2 2 VM Network 10 thin

 

The Script

# Automate the deployment of customised virtual machines deployed in vSphere 6.0. Tested against u2
#
# Prereq’s
# 1) Populate the a CSV file called Bulk_VMs_Deploy.csv
# 2) Create a Windows Server template
# 3) Create a customization spec within vSphere for Windows
# 4) Run Bulk_VMs_Deploy.ps1 script via PowerCli as administrator (CSV file must be stored in the same location where the script is run from)
#
#https://blogs.vmware.com/PowerCLI/2015/03/powercli-6-0-introducing-powercli-modules.html
if ( !(Get-Module -Name VMware.VimAutomation.Core -ErrorAction SilentlyContinue) ) {

###### IMPORTANT, Check this file path is correct##########
. “C:\Program Files (x86)\VMware\Infrastructure\PowerCLI\Scripts\Initialize-PowerCLIEnvironment.ps1”
}
Connect-VIServer VC6.test.domain
#connect to a VC. This also works with Linked VC’s
$vmlist = Import-CSV .\Bulk_VMs_Deploy.csv
foreach ($item in $vmlist) {

#set variables to read from CSV
$template = $item.template
$datastore = $item.datastore
$vmhost = $item.vmhost
$custspec = $item.custspec
$vmname = $item.vmname
$ipaddr = $item.ipaddress
$subnet = $item.subnet
$gateway = $item.gateway
$pdns = $item.pdns
$sdns = $item.sdns
$resourcepool = $item.resourcepool
$cpu = $item.cpu
$ram = $item.ram
$vlan = $item.vlan
$size = $item.size
$format = $item.format

#Get the Specification and set the Nic Mapping
New-OSCustomizationNicMapping -Spec $custspec -IpMode UseStaticIp –Position 1 -IpAddress $ipaddr -SubnetMask $subnet -DefaultGateway $gateway -Dns $pdns,$sdns

#Create VM using Template with the adjusted Customization Specification
New-VM -Name $vmname -Template $template -Datastore $datastore -VMHost $vmhost -ResourcePool $resourcepool | Set-VM -OSCustomizationSpec $custspec -Confirm:$false

#Set the Network Name
Get-VM -Name $vmname | Get-NetworkAdapter | Set-NetworkAdapter -NetworkName $vlan -Confirm:$false

#Set the CPU and Memory
Get-VM -Name $vmname | Set-VM -MemoryGB $ram -NumCPU $cpu -Confirm:$false

#Additional Disk
#Get-VM -Name $vmname | New-HardDisk -CapacityGB $size -StorageFormat $format -Confirm:$false

#Remove the NicMapping
Get-OSCustomizationSpec $custspec | Get-OSCustomizationNicMapping | Remove-OSCustomizationNicMapping -Confirm:$false

#PowerOn VM
Start-VM $vmname

}
#Disconnect from VC.
disconnect-VIServer VC6.test.domain -Confirm:$false

 

 

Disclaimer Please take the code and evolve it into a different project? Credit / Tag me on your project Twitter #StephenHackers

Any use of this code is at your own risk. Remember bulk automation jobs require the right resources to be available.

This project & code was based on :
https://communities.vmware.com/thread/315193
Which progressed to : https://communities.vmware.com/thread/436734

Part 1 /  Part 2

In What Order Do I Upgrade VMware Products and…

In What Order Do I Upgrade VMware Products and What Is Compatible? – VMware Compatibility and Order of Upgrade Best Practices Review

In What Order Do I Upgrade VMware Products and…

After attending VMware TechSummit 2017 last week, I’ve got a ton of takeaways to share over the next few months, but I wanted to get this article out there because it’s about two of the most common requests I hear: product compatibility and the order of product upgrades.


VMware Social Media Advocacy