[Update 15-10] VMware PowerCLI 11.0.0 release with new Horizon (7.6!) API calls

UPDATE 12-10: The new API explorer page also has been published, it just needs to be added to the main page. Check this link: https://code.vmware.com/apis/445

Update 15-10: I have received an overview from VMware about the other changes:

New API Endpoints:
ConnectionServer_GetTags
GlobalSettings_GetEnvironmentSettings
QueryService_DeleteByIds
Datastore_GetDatastoreRequirements
Datastore_ListDatastoresByDesktopOrFarm
RemoteApplication_EndApplication

There also have been some changes to some objects (MachineBase,AccessGroup etc) to include more properties

Original Article:

Today the latest version of PowerCLI was released with version 11.0.0. When you look at the release notes it’s obvious that some extra things have been added for the Horizon VIew API’s.

PowerCLI has been moving at quite the rapid pace over the last 2 years. In 2018, we’ve been releasing roughly every other month to make sure we get the latest features, performance improvements, and updates available as quickly as possible. Well, it’s been two months and we’re not going to break this trend. Today, we are releasing PowerCLI 11.0.0!

PowerCLI 11.0.0 comes with the following updates:

  • Added a new Security module
  • Added new cmdlets for Host Profiles
  • Added a new cmdlet to interact with NSX-T in VMware Cloud on AWS
  • Support for vSphere 6.7 Update 1
  • Support for NSX-T 2.3
  • Support for Horizon View 7.6
  • Support for vCloud Director 9.5
  • Multiplatform support for the Cloud module
  • Updated the Get-ErrorReport cmdlet
  • Removed the PCloud module
  • Removed the HA module

Even though Jake Robinson already gave me a heads up that this version was coming it’s always the question what has been added for Horizon View. According to the API explorer page no new querydefinitions have been added. Like last time I decided to compare the services against the old list and there are two new additions:

  • CategoryFolder
  • ResourceSettings

I have tried both against a Horizon 7.5 setup and they failed so these are only exposed from Horizon View 7.6 and up.

The first one called Categoryfolder is linked to the possibility to put rdsh applications into folders.

It currently has only one function:

I have also investigated if there was a way to change things using the helper function but sadly it has no .update api call so that’s a no-go. I currently have no rdsh on my lab so I can do the list but it doesn’t show anything.

The other new service is the .ResourceSettings just like categoryfolder it also only has one function:

For this one I can actually show what it’s used for:

It shows the general settings for forced logoffs.

Sadly this service also doesn’t show a way to change things.

Sadly I have no found no way yet to see what queryservice entity’s have been added so hopefully we will have a new API explorer soon (maybe with release notes this time, pretty please VMware?) that shows us all the new goods.

VMworld US 2018 report day 0 – T-Rex with a beer

So before things really start on Monday there’s always day 0 for VMworld. The VM village opens up and, in the evening,, there is the welcome reception at the Solution Exchange. For me things started after a rough night without a lot of sleep by registering and getting the badge. Things really looked like they were messed up and there where awful queues with people waiting for their badges. Luckily something went wrong with mine and I was helped by the staff at the assisted check-in pretty fast.

https://twitter.com/AngeloLuciani/status/1033751920005931013

After spending some time in the VM village with some awesome people it was time to head out for my first real thing: an expert led workshop on pulse & IOT. This was really interesting, and I even managed to put in some feedback that was appreciated.

In the afternoon I visited the EUC Inside track event at Top Golf (please stop me from walking that way again) before heading out to the Solution Exchange for a small vExpert gift scavenger hunt. I closed out the evening at the VCDX Wolfpack part at the Cosmopolitan.

Day 0 ended with just over 26000 steps registered.

What’s (in) my backpack for @VMworld US 2018

I did a similar post for Nutanix .Next in Nice last year and there won’t be a lot of differences with that one. There will be some differences though since I need some world plugs for my european equipment plus I changed employers so I have a new laptop with new stickers (please help me to stay away from paper stickers, those are hell to remove). With less then two weeks to go for the event I don’t think a lot will change after this post. There’s a good chance that I will take a pass on the official VMworld backpack since I have enough of them now + there’s now the option to choose a charity over it.

First my bag, while I normally sport the 2016 Cohesity vExpert Timbuk2 backpack or a more recently received Nutanix Wenger backpack for daily use I decided to go with the XD Design Bobby backpack that I received the day that I started with my current employer AnylinQ. These have a great surface for customizing them with stickers as you can see below.

For the tech in it some things have changed, the laptop has been replaced by a newer generation so now I have the HP Probook 440 G5 + a Microsoft designer mouse has been added to replace the Xiaomi mouse. For the rest it’s still the Sony MDR-ZX770BN headset, an older Xiaomi 10k battery pack, Roundcube Rewirable  USB Travel adapter and the good old (hey, it’s over a year old now!) Samsung A5 2017 phone. All loose stuff will again by packed into the same Bubm DIS-L case.

 

 

New View API query services in PowerCLI 10.1.1: pulling event information without the sql password.

A while back I already posted about new services that where available for the View API’s in PowerCLI 10.1.1. Recently the api explorer for this version was published and can be found here. Two things that I didn’t find back then was the addition of two services for the query service. The first is GlobalApplicationEntitlementInfo this one can be compared to the previously already available GlobalEntitlementSummaryView and will return information about global entitlements.

The second added services is extremely useful: you can now query the event database. This means you don’t need the actual sql password anymore to query the events. According to the api explorer at least Horizon 7.3 is required and only events from the Event and Event_Data database tables. A simple query will show all events.

$queryservice=new-object VMware.Hv.QueryServiceservice
$defn=new-object VMware.Hv.QueryDefinition
$defn.queryEntityType = 'EventSummaryView'
$results=($queryservice.QueryService_Query($services1,$defn)).results
$results

As you can see the data is divided in data and namesdata properties, these contain the same data as what is returned with get-hvevent. I added some selections to show only one event.

$results | where {$_.data.eventtype -like "*BROKER_USERLOGGEDIN*"}  | select -last 1 | select -expandproperty data

and

$results | where {$_.data.eventtype -like "*BROKER_USERLOGGEDIN*"}  | select -last 1 | select -expandproperty namesdata

Offcourse it;s better to use filtering from the query directly. The full lust for that is available from the api explorer but I will give a couple of examples. (be aware that membername and the value are case sensitive)

$queryservice=new-object VMware.Hv.QueryServiceservice
$defn=new-object VMware.Hv.QueryDefinition
$defn.queryEntityType = 'EventSummaryView'
$equalsFilter = New-Object VMware.Hv.QueryFilterEquals
$equalsFilter.membername='data.eventType'
$equalsFilter.value="BROKER_USERLOGGEDIN"
$defn.filter=$equalsFilter
($queryservice.QueryService_Query($services1,$defn)).results.data | select -last 1

Or by severity

$queryservice=new-object VMware.Hv.QueryServiceservice
$defn=new-object VMware.Hv.QueryDefinition
$defn.queryEntityType = 'EventSummaryView'
$equalsFilter = New-Object VMware.Hv.QueryFilterEquals
$equalsFilter.membername='data.severity'
$equalsFilter.value="WARNING"
$defn.filter=$equalsFilter
($queryservice.QueryService_Query($services1,$defn)).results.data | select -last 1

As said it can be filtered on other properties as well but that might require some more logic to get the userid or desktopid for example. This is a very useful addition in my opinion to the Horizon View api’s.

My Experience with the NSX 6.2 ICM On-Demand traning and the VCP-NV exam

For the people who are only interested in the result: today I passed the VCP-NV exam with 367 points. This after I followed the NSX Install, Configure, Manage (hence the ICM) On-Demand course in May. This training was provided through the Partner training funds that my employer TenICT/AnylinQ have been assigned by VMware.

About the NSX ICM On-Demand training.

For the people not familiar with the on-demand training possibilities from VMware: with these courses one has a month the time to follow a set of computer narrated lectures covering all the same subjects as the official classroom training provides. Besides this you have access to a digital book belonging to the training. You also have access to a lab environment during this month where you have to complete all the lab tasks during the training.

Personally, I prefer classroom training since this allows the trainer to deviate from the official training when possible or required. Think about explaining things in a bit different matter or diving deeper into some of the material. Also, the computer-generated voice gets boring pretty fast and the sound quality also went sub par during some of the chapters. Combine this with a price that is only a fraction lower than the official price and I wouldn’t really recommend it unless you have someone sponsoring it for you.

What the training did was provide a good base for the exam. After this it’s a question of reading blog posts, playing with it in the lab (or Hands on Labs) and maybe you might need to read a book.

About the exam

So I did the exam as almost usual at @TheAcademy in Eindhoven, The Netherlands. They have a new room setup since over a year that I hadn’t been into yet (doing SME jobs has its perks) equipped with what I believe to be 21″ full HD screens. While these don’t provide for a better experience for vcp exams they do for vcap’s so that’s good to know. There are 77 multiple choice questions and I had two hours to spend on these. This time I didn’t need, and I left the building after 45 minutes. I can read English just as fast or sometimes faster than my native Dutch. The questions where a bit easier than I expected so maybe that score of 367 should have been a bit higher.

What you need to know

  • What permission level is needed to know what (Enterprise admin, NSX Admin, Auditor, Security Admin)
  • Order of installing things or setting them up
  • Be able to read drawings to follow the packets
  • Be able to create those drawings in your head and follow the packets
  • Some basic command line stuff for example for the controller cluster (only that what can be found in the courseware!)
  • Know your Distributed switches and what they can do
  • VPN Types
  • Best practices
  • What vm/function related to NSX does what
  • Networking basics
  • Numbers & maximums i.e. how many of what can do what, what’s needed to do that, what numbers needs this to be, What’s the default number for this.

Study Materials Used

  • NSX ICM On-Demand training
  • the links in vmiss’s blog post here
  • The Official Cert guide. Be aware that the exam is for 6.2 and not the 6.1 of the book but most still applies.

Do I know NSX inside out now?

No, and do you want to know why? This exam only hits the top of the iceberg in NSX possibilities, for example it hardly touches any real configuration nor does it have a lot of load balancing or nerd knob settings. For those things you really need to have a lot more experience and do the vcap exam. I am not sure if I will be following that path but this training and exam at least gives me enough knowledge to break things in NSX.

And a Queen video for those still reading

The VMware Labs flings monthly for June 2018

It’s less than two months before VMworld US is on us, are you looking forward to it? I know I am! In June there have been six updates to VMware flings:

[sta_anchor id=”esxichecker” /]

ESXi Compatibility Checker

This was a new fling last month and now the ESXi Compatibility checker has been expanded with several functions like offline and multiple vCenter support. With this tool it is possible to check if your ESXi hosts will work with the latest and greatest that VMware has to offer.

Changelog

Build 8951845

Offline case support

  • The current script requires to be executed with access to both public internet and target hosts. The new version can separately validate compatibility from collecting hardware information. Hence, user can collect hardware information on a system without public internet access and save the information in a json file. And he can validate compatibility of collected hardware from a saved json file on a system with public internet access.

Example

  • The ‘-g’ option will collect hardware information and generate a json file. (no need to have internet access)
$compchecker.py -s <host> -u <user> -g <json-data-filename>
  • The ‘-f’ option will validate compatibility from a json file (no need to access target hosts)
$compchecker.py -f <json-data-filename>

Multiple virtual centers support

  • The host parameter with the ‘-s’ option now accepts comma separated multiple hostnames. This feature will be useful to create a single compatibility report for multiple VCs

example

$compchecker.py -s <host1>,<host2>,<host3> -u <user>(,<user>)

More information in the compatibility report

  • “Installed Release”, “Checked Release”, and hardware information have been added in the report.

The “-p” option to set a proxy server

  • The https proxy server can be specified with the “-p” option

[sta_anchor id=”xvcutil” /]

Cross vCenter Workload Migration Utility

The Cross vCenter Workload Migration Utility provides a GUI to migrate vm’s between vCenters.

Changelog

Version 2.1, June 21, 2018

  • Increased simultaneous migration limit to 100 from 10
  • Added check to ignore unknown fields for inventory info
  • Fixed source/target site names in task status view
  • Updated status API to include version number

 

[sta_anchor id=”drslens” /]

DRS Lens

As VMware vSphere DRS has become more widely adopted now, more and more users are interested in knowing how it works. They need more insights into DRS activity and actions. They want to know the value that DRS provides to their clusters. DRS Lens is an attempt to provide a UI-based solution to help understand DRS better. (yes this is a lame copy/paste, it’s too hot to come up with original stuf)

Changelog

Version 1.3

  • Upgraded apache tomcat to version 8.5.31 for security compliance.

[sta_anchor id=”html5client” /]

vSphere HTML5 Web Client

What would this monthly overview be without the vSphere HTML5 Web client?

Changelog

Fling 3.39 – Build 8835608

New Features

  • All the features of Auto Deploy (when compared with the vSphere Web Client)
    • Software Depots
    • Deploy Rules
    • Deployed Hosts
    • Discovered Hosts
    • Configure (Auto-Deploy configuration)
  • Script Bundles support for Auto-Deploy (Available only in the vSphere Client)
    • Script Bundles view where all bundles are listed
    • Ability to Upload a script bundle
    • Ability to Add/Edit deploy rules with script bundles
  • New virtual switches view on a host which includes topology diagrams for standard and host proxy switches

Improvements

  • vApp properties create, edit, delete and set value functionality
  • VM vApp option properties create, edit, delete and set value functionality
  • vCenter Extensions
  • VM SDRS create, edit and delete

[sta_anchor id=”osot” /]

VMware OS Optimization Tool

Being an EUC guy this is simply my favorite fling, nothing new this time, it’s just a bug fix release.

Changelog

June 14, 2018

  • Issue fix: Crash in non-English locale (e.g. French)

[sta_anchor id=”hormig” /]

Horizon Migration Tool

The Horizon Migration Tool helps you to migrate from Xendesktop/App to Horizon View. This is mainly a maintenance version for a tool they missed in the last release.

Changelog

Version 3.0.1

  • Fixed issue: add missed XenAppDumper.exe for XenApp 5.0

 

My presentation at the vEUCtechcon 2018

Yesterday it was clear for me that more people are interested in what Dutch secret agents have to do with airwatch/workspace one uem then with PowerCLi for Horizon View. Nonetheless there where some people listening to my presentation and watching the ginormous slide deck filled with gif’s that I created. My personal experience was that it went ok but nothing more than that. Sadly using the vga cable didn’t help against the connection bugs all presenters where having during the entire day. Also I would have preferred to have a monitor in front of me so I could actually hear myself talking in that big room. Personal points for next time: I had a good storyline in my head in advance, that didn’t come out at all. Also I need to channel my personal energy onto stage, I have the feeling that wasn’t really visible. Aka I need to do some more energetic storytelling.

For the people interesting in the presentation it can be found HERE. There’s a video recorded that I will add to this post when it gets published. Luckily there where also a couple of tweets about my sessions so we do already have some pictures.

https://twitter.com/HuibDijkstra/status/1012317207261601792

The art of planning your VMworld sessions

The content catalog for VMworld has opened last week and I already know I marked way to many sessions as favorite for my own good. That’s why I decided on writing a couple of tips to the art of planning your conference. This might help you when the schedule builder opens on July 19th.

Levels

For each session there is a level listed with 100 for beginners, 200 for advanced and 300 for deep dives. My experience is that you might want to take the 200 and 300 levels with a grain of salt sometimes. I have seen deep dives that didn’t get any further than a high level overview but also had advanced sessions that went deeper than deep. Please look at the names of the presenters and check if you can find any old sessions for them to see if they managed to deliver the level the promised back then.

Yes this is my own session, I promise I will dive as deep as possible into those api’s

Workshops

First of all if you want to do any workshops its a case of being lightning fast when they are published to get a spot. Last year most of the workshops were reserved within hours of the schedule builder. Also keep in mind that the expert led hands on labs are mostly nothing different then the regular HOL’s but that there’s someone explaining some extra stuff. Some are unique though like the vCloud Foundation workshop last year where they had real VCF clusters for the students to play with. This is not something that easily done for the regular hol’s.

Regular workshops though will contain live exercises led by an expert that can more or less customize the workshop depending on the audience in the room.

Allow for time between sessions

This has been said before but if you have back to back sessions that are on complete different corners of the conference you will probably not make it. This is something you might only see when you get close to the conference  since rooms will be assigned rather late due to lots of people scheduling them. Thus make sure your schedule will still work when you arrive at the conference itself and when you have a feeling where all rooms are located.

Plan to visit the show floor

If you plan on only visiting the show floor briefly between I can guarantee you that you will be skipping the next session. I always plan a couple of 2-3 hour gaps for the show floor. Don’t expect a lot during the Welcome reception and/or the hall crawl, things will be packed then up to the point that it’s getting really hard to move around. Some of the sessions in the schedule builder are actually on the show floor so don’t get distracted too much when heading out for those.

Don’t plan too many sessions each day

You know that after lunch feeling you have at work or even worse when attending a course? This will probably be worse during VMworld since you will be overloaded with information during the day and parties at night. Personally I kept it to a maximum of four sessions each day or less.

Export your schedule to your personal agenda

While there will be an app released shortly before VMworld it might be handy to track all your appointments and sessions inside your own agenda. This way you can make sure that you have no overlapping between sessions and other activities. In previous years there was always an export function that made this easy.

My Schedule for VMworld EU 2017, or at least one of the versions.

 

 

 

New Horizon API calls in PowerCLI 10.1.1

VMware quietly released a new version of PowerCLI last week: 10.1.1. This release is mainly an update for the Horizon View API’s. This to bring it back on level with the current Horizon release at 7.5. The release notes are not very extensive but it has a fix for some people getting time-outs when connecting to a Connection server  plus a bunch of new api calls.

I have dumped the output from the available api calls into two text files and made a comparison:

Since there’s no update yet in the API explorer I will have to make an educated guess on what the functions do:

DesktopTask

When looking at the available method’s for this call it looks like it has everything to do with Desktop task. But it also can’t do a damn thing without an vmware.hv.desktoptaskid. This will most probably bu retrievable using a query. This is something I will further investigate in the future.

DiagOperation

To be honest I have no idea yet what this one does. I have tried created a VMware.Hv.DiagOperationRequest and tried to send it but got an error that no message queue handler was found. This might be something from Horizon 7.5 since I haven’t updated my lab yet.

GatewayAccessUserOrGroup

This one is easy, it creates, deletes, gets and lists remote access users. You can expect a function for this in the near future since it looks easy to build.

JwtToken

According to my sources this is a SSO token between the flex and html5 clients.

LogonTiming

This obviously is created to pull logon timing as the name suggests. I have put a session ID in a variable but sadly the data is not usable from PowerCLI. WHat it seems to be is the api call the Helpdesk client uses to pull the logon time. I didn’t have the timing profiler turned on initially and neither the helpdesk tool or this call gave my any information. Disconnected sessions also don’t give any information and when reconnected it gives the reconnection time not the initial logontime for when the session started. This is the same behaviour as the helpdesk tool.

Apparently the output is in a json format and for now I doubt if it will be usable in a function.

While the session itself has this information.

NetworkProxyConfiguration

No idea yet why there is a networkproxy configuration in here.

Performance

This gets some performance data using a session id as also visible in the helpdesk tool.

RemoteApplication

Gives per session information on the Skype 4 Business pairing mode.

RemoteAssistantTicket

100% sure related to the remote assistance function in the helpdesk tool.

RemoteProcess

Looks like this one gets some information from a query and then kills the process, will have to dig into it some further later on. This for sure is a function in the helpdesk tool.

ViewClient

Again from the helpdesktool, this gives the client version of a session.

Conclusion

For now I only see the DesktopTask and GatewayAccessUserOrGroup ending up in a function in the vmware.hv.helper. The first one will need some digging on how it exactly works but it has the looks of a usable call. The latter on can be in there pretty fast if I find the time to do so. The other ones

 

Update

Already received some extra information about some calls.

New experimental functions for the vmware.hv.helper on github

While working on my presentation for the 2nd vEUCtechcon event in Utrecht (The Netherlands) on may 28th I have added a list of new functions to the vmware.hv.helper module. While I haven’t had the time yet to clean them up to be proper coded scripts I have decided to already publish them on Github. All of them work but might be missing a feature or two and almost all of them are get-hv* or new-hv* type functions. Since the presentation is all about building an environment I have decided to build the remove parts later on. You might have already seen some screenshots on twitter recently:

Added functions that are not in the official module yet:

  • register-hvvirtualcenter
  • set-hveventdatabase
  • set-hvlicense
  • get-hvlicense
  • new-hvinstantcloneadministrator
  • New-HVRole
  • Get-HVRole
  • Get-HVpermission
  • New-HVPermission
  • Get-HVVirtualcenter
  • Get-HVInstantCloneAdministrator
  • Get-HVPod
  • Set-HVPod
  • Get-HVHomeSite
  • New-HVHomeSite