Dell EMC World – Day 2 VMware day!

General Session – Realize Transformation

End User transformation

focus seems like it’s going to be on the end user space. How are we going to enable (and secure) our workforce in 2017. It looks like we are going to have some solid insights into where Dell is looking to go in the personal device space.

New product announcement: wireless laptop charging! I’ll take two. Coming June 1stIMG_3039

95% of all breaches start at the endpoint. OOF.

Nike and Dell working together on some really amazing tech. Dell Canvas allows user to have a much more tactile experience when designing. It’s going to be a very niche product, but really really cool.FullSizeRender (1)

Dell is projecting AR/VR to be a $45B business by 2025. It’s pretty obvious they’re going to go after this space. AR/VR is also a big focus on the solution floor. Daqri & Dell are partnering to come up with some interesting solutions in this space and hopefully using their scale to drive cost downward.

IoT and grocery. I know some people who might be interested in this part of the presentation. Grocery and supermarkets have a lot of capabilities with how they store products, but they typically just set it and forget it with their thermostats in the freezer & cold cases. Using IoT to track where your products are allows you to fine-tune thermostat controllers and realize real energy & waste savings. Grocery is just one use case, but the idea translates to other verticals. Dell has created a new Open initiative called EdgeXFoundry to start setting standards for the various IoT functions that happen at the edge.

VMware – Realize What’s PossibleFullSizeRender (3)

My favorite part of the general session. It’s fanboy time. Here comes Pat Gelsinger.

Where are we headed… Technology is magic, or has the ability to create magic. We’ve seen this from mainframes->client/server->cloud and IoT and the edge are the next frontier, but it’s happening now.FullSizeRender (2).jpg

LAUNCH ALERT: VMware Pulse IoT Center. Centralize management/security/operation of the network of IoT. Built on AirWatch/vRops/NSX.

 

Just like yesterday it appears that VMware has finally realized that their public cloud offerings … let’s just say they haven’t gone well. They are skipping to next gen of managing the devices at the edge and looking forward to Mobile Cloud.

Workspace one. make it simple for the consumer, but secure the enterprise. Seems like an overlap in the portfolio. How does ThinApp & AppVolumes play into this? Regardless VMware is taking a stronger focus on EUC this year.

FullSizeRender (4).jpgAnnouncement time: VMware VDI Complete. Client devices from Dell, converged infrastructure, and vsphere. It’s VDI in a box. Super Sweet! Oh and here comes Sakac running on stage hooting. Awesome.

Cross cloud architecture. Finally we are getting somewhere. Don’t do the cloud, enable it! At last we get to see VMware Cloud on AWS! vRA is up next. Please just start giving vRA away! To go faster and compete with the public cloud, we need the tools. It’s a loss leader! FullSizeRender (5)

Announcement: VMware and Pivotal are announcing a collaboration to come up with a developer ready app platform with a focus on cloud native/serverless/micro-services/function.

FullSizeRender (6).jpgPivotal Cloud Foundry works with the most powerful cloud providers enabling Dev and IT to get to market faster, delivering value and time back to the business. It’s taken a couple of years to get there, but it seems like VMware is finally got a good handle on their micro-services & cloud portfolio. Today’s presentations are really exciting to see where we’re going.

What a week!

What a crazy week it’s been. It all started off with a little swim to help some awesome folks…

And they did it!!!!! So proud of our plungers! #penguinplunge #specialolympicsVT

A post shared by NorthCountry FCU (@northcountryfcu) on

Followed by a climb to one of Vermont’s highest peaks with some friends

001

And *I thought* bookended by one of the greatest football games of all time.

BUT then today, I was honored to find out that I’ve been awarded #vExpert status from VMware.

vmw-logo-vexpert-2017-k

With all the uncertainty in the world these days I thought that I was going to sit down and hammer out some “Deep Thoughts by Jack Handy” type proverbs. But perhaps what we (and I really mean me) need these days is little more appreciation and gratitude.

I’m so happy that I got to help the Special Olympics in some meager way. If you’d like to help as well, please visit https://specialolympicsvermont.org/. Despite getting my derriere kicked climbing up Camel’s Hump, I’m appreciative for the friendship that brought me there and the beauty that we experienced. I am happy for the simple joys in life, like rooting on my favorite team and celebrating being an underdog. I’m thankful for my career and the opportunities it’s brought me. And last but almost certainly not least, I am appreciative for my family who’ve supported and encouraged me through all these endeavors.

I hope that you find the same joy and appreciate in those things that matter most to you.

Be well,
Scott

Another day, another PowerCLI report

Another day another reason to love PowerShell.

 I have to come up with a list of all of my Windows machines, their OS versions and editions. My first thought being nearly 100% virtualized is “WooHoo, thank you PowerCLI”…

Except that they don’t include the edition for each VM… Sad face.

image001

However, one of my favorite elements of the PowerCLI tool is the Invoke-VMScript cmdlet contained within the VMware.VimAutomation.Core module. For more about modules, see my post Getting Started with PowerCLI. This script does exactly what it sounds like; it allows you to run a script in the guest OS. Now there’s obviously a number of pre-requisites to leveraging this tool. The big ones are as such.

  • VMtools must be running within the VM
  • You must have access to vCenter or the host where the machine resides
  • You must have Virtual Machine.Interaction.Console Interaction privilege
  • And of course you must have the necessary privileges within the VM.

There could also be some security concerns, allowing your VMware administrators the ability to run scripts within the virtual Operating System Environment, but this opens a whole other bag of worms that we’ll put aside for another conversation.

Once you’ve comfortable with the pre-req’s and any potential security elements, you can get started.

get-vm vm-vm | `
Invoke-VMScript -ScriptType Powershell -ScriptText "gwmi win32_Operatingsystem" 

So what are we doing here? We get the VM object and pipe it to the Invoke-VMScript commandlet where we are running the Powershell script “gwmi win32_Operatingsystem” within the context of the virtual OSE! What you get back is another PowerShell object containing the ExitCode of the script and the output within the ScriptOutput property.

Now just a quick sidenote. If you write powershell scripts, then inevitably you know about Get-member (aliased to: GM), but that only shows you methods and properties, not the values. If you’re not sure what you’re looking for and you’d like to see all the property elements of the object, you can just use $ObjectName|select -property * to output.

Back to the task at hand, I know I need a count of each OS type. I’d also ideally like that broken down by cluster. It would also be nice to know the machines that weren’t counted, so I can go and investigate them manually. So here we go.

$daCred=$host.ui.PromptForCredential("Please enter DA credentials","Enter credentials in the format of domainname\username","","")
foreach($objCluster in Get-Cluster){
    write-host "~~~Getting Window OS stats for $objCluster~~~"
    $arrOS=@()
    foreach ($objvm in $($objCluster|get-vm)){
        if($objvm.guestid.contains("windows")){
            $status=$objvm.extensiondata.Guest.ToolsStatus
            if ($status -eq "toolsOk" -or $status -eq "toolsOld"){
                $arrOS+=$(Invoke-VMScript -VM $objvm -ScriptType Powershell -ScriptText '$(gwmi win32_operatingsystem).caption' -GuestCredential $daCred -WarningAction SilentlyContinue).ScriptOutput
            }else{
                Write-Host "Investigate VMtools status on $($objvm)   Status = $status" -BackgroundColor Red
            }
        }
    }
    $arrOS|group |select count, name |ft -AutoSize -Wrap
    Write-Host
}

You may say, what’s happening here? Let me tell you

After we enter in credentials that we know will work, we are going to iterate through each cluster and as we do such we are going to create an array of each OS that we find in our journey. As we iterate through each VM in the cluster we’ll check on VMtools status as we go, and if necessary flag the VM’s for check later. Then we are going to run Invoke-VMScript within a variable so that we can only capture the ScriptOutput property that’s returned within our array. Finally we can do a little sorting and counting on the array, output to the screen, and go investigate why we have so many darn red marks dirtying up our screen!

image002

Until next time, be well!