Removing Snapshots with PowerCLI

Snapshots for Maintenance or Maintenance for Snapshots…

During our last maintenance window for our VMware environment, my team updated VMware Tools, hardware and aligned vNUMA.  So before we started this work we tool snapshots of all of the VMs there were getting the updates.  Fast forward a few days, and now we have 600+ snapshots that need to be deleted.… Continue reading

Selected for vExpert 2018 Program

Selected for vExpert 2018 Program

On Monday, was I was excited to find that I received the notice I had been selected as a vExpert for 2018 from the VMware community leader.  This was very happy news as this is the 4th year in a row that I have been selected as a vExpert.  Its a great honor to be included in this program with the other prestigious members.… Continue reading

Use PowerCLI to Get Log File When Tools are Broken

Use PowerCLI to Get Log File When Tools are Broken

Over the past weekend we had a massive push of VMware Tools and VM hardware updates.  For the most part this push was smooth except for 2 machines.  Of course these 2 machines are high priority development machines and rebuild just won’t work.

Trying to get a log file off a machine that doesn’t allow for the drivers to  install becomes when trying to research the issue. … Continue reading

PowerCLI to Change Default Multipathing Policy

PowerCLI to Change Default Multipathing Policy

As it would seem in my environment the default multipathing policy changes with the seasons.  We have become very accustom to making these changes based on the newest whitepaper from the storage vendor.

To change the default multipathing policy, you will need to know the name of the Storage Array Type Plugin (SATP) that you need to change the Native Multi-Pathing (NMP) policy for.… Continue reading

PowerShell Module for Speculative Execution Detection

PowerShell Module for Detecting Vulnerabilities to Speculative Execution

Microsoft today (Jan. 4th, 2018) provided a PowerShell module to detect  vulnerabilities related to Speculative Execution side-channel attacks.  This vulnerability affects  Intel, AMD and ARM processors, along with operating systems.  You can review the Microsoft security advisory ADV18002 here.

This will install the module to your local machine

Install-Module SpeculationControl

*if you are having issues with install the module via the command above you can find the module on my github here.Continue reading

Enable SSH on VMhost with PowerCLI

How to Enable SSH for VMhost with PowerCli

To enable SSH:

Get-VMHost <HostName> | Get-VMHostService | Where Key -EQ "TSM-SSH" | Start-VMhostService

Enable SSH via PowerCli

To disable SSH:

Get-VMHost <HostName> | Get-VMHostService | Where Key -EQ "TSM-SSH" | Stop-VMHostService -Confirm:$False

Disable SSH via PowerCli

– Stuart… Continue reading

PowerShell to gather Lenovo Warranty information

Lenovo Warranty Information Lookup

To continue with the theme of my last post, I’m going to show how to gather the warranty information for Lenovo Servers.  This was a bit tricky as this isn’t an API call, but more of a website parsing.

Getting the Lenovo Server information

To be able to perform this warranty lookup, the server information will need to be retrieved, and what a better way than getting it from the VMhosts themselves.… Continue reading

PowerShell to gather HP Warranty information

Using PowerShell to get HP warranty information

Have you ever need to find the warranty information for your environment’s workstations, and didn’t want to spend hours to get the answers.  That is where PowerShell and HP warranty API will come in handy.

Sign up for an HP Developer’s account

Before you can begin you will need to sign up for an account on HP’s website, … Continue reading

PowerCli to Increase Hardware on Multiple VMs

The other night I had a task of upgrading 22 VMs with additional vCPUs and memory.  I also had a maintenance window of 60 minutes to get this completed.  So I wasn’t going to do this more than once, so I just wrote a simple PowerCli script that would handle this process for me.

$servers = "VMServer01","VMServer02","VMServer03","VMServer04","VMServer05"

foreach ($server in $servers){
Shutdown-VMGuest $server -confirm:$false
Do {
sleep -Seconds 5
$Status = (Get-vm $server).powerstate
If($status -eq "PoweredOff")
{"$Server has been powered off adding hardware"}
"$server is still powered on looping until off"
While ($Status -eq "PoweredOn")

$VMname = get-vm $server
$spec=New-Object –Type VMware.Vim.VirtualMAchineConfigSpec –Property @{“NumCoresPerSocket” = $cores}

$VMname | Set-VM -MemoryGB 28 -NumCpu $TotalvCPU -Confirm:$false

Sleep -Seconds 5
Start-VM $server -Confirm:$false

So this script starts off identifying the servers that the work is going to be performed on.… Continue reading

New Method for Installing PowerCLI

New Method for Installing PowerCLI

Starting with the newest version of PowerCLI, 6.5.1, the method for installation has changed from the typical MSI file to using the PowerShell Gallery.

Step 1. Uninstall PowerCLI

The first step is to uninstall PowerCLI from your system.  To do this use Add/Remove Programs.

Uninstall PowerCLI via Add/Remove Programs

Before Installing the New PowerCLI, the old installation needs to be removed.  … Continue reading