Using PowerCLI to Find Datastore with Missing VM

PowerCLI to Find Datastore with missing VM

During the last maintenance window at work, we starting having issues with vCenter, so to resolve the issues vCenter services were restarted.  After the vCenter services came back up, I noticed one of the servers on a host had lost it connection.  To make things worse, the datastore for the VM changed from the human readable format to location name.… Continue reading

New PowerCLI Release: PowerCLI 6.5 R1

PowerCLI 6.5 R1

VMware just release a new version of PowerCLI just today.  Like every new release, they have packed with one with a ton of new features, and updates to the existing cmdlets to help with automation and daily operations.

Updated Cmdlets

Move-VM – This cmdlet has been updated to support the ability to vMotion machines between vCenters.  … Continue reading

Get vMotion IPs from all VMHost

I was recently asked to gather the vMotion IPs for all of the hosts in our environment. We have about 80 or so VM Hosts, so this was a job for PowerCli.  Below is the script.

$Report = @()

$Clusters = Get-Cluster | Sort Name

ForEach ($Cluster in $Clusters){
    $VmHosts = $Cluster | Get-VmHost | Where {$_.ConnectionState -eq “Connected”} | Sort Name
        ForEach ($VmHost in $VmHosts){
            $Report += Get-VMHostNetworkAdapter -VMHost $VmHost.Name -VMKernel | Where {$_.VMotionEnabled -eq “True”} | select VmHost,IP
        }
}
$Report | Export-Csv C:\Scripts\Logs\vMotionIPs.csv -NoTypeInformation -UseCulture
vMotion IPs Gather from the Script
vMotion IPs
vMotion IPs gather with PowerCLI

First there needs to be a place to put all of the information that is going to be collected.  … Continue reading

Issues with PowerShell Modules and Duplicate Cmdlets

At the end of the day I always take my laptop with me as I never know when I’ll get a call about server issues.  So my PowerShell sessions remain open all of the time, with all of the modules loaded.  Granted I do save my scripts that I work on frequently, and I had a problem before losing a few scripts without having a recent save.  … Continue reading

Using PowerCli to gather NIC settings

We had some changes recently in the environment, and the old DNS and WINS servers were decommissioned.  So I was tasked with getting all of the NIC settings of the virtual machines so we can see how many were using the old settings.  So I started with a simple WMI call to gather the settings from the NICs.… Continue reading

Setting up VMware Tools Shared Product Locker with PowerShell

With the changes to how VMware Tools will be released, we finally decided to setup Product Locker. These changes were released in September 2015 VMware decided that the tools would be no longer depended on vSphere releases or ESXi builds.

Download VMware Tools here

One of our other VMware engineers found a script (link here) that could do this task, but it was seemed like it was wrote for a smaller environment than what we work with.  … Continue reading

Using PowerShell to work with SSL Certificates

At my office we have a certificate renewal process that happens every other year.  This year, we have a plan to document the location of all of the certificates that are installed on the servers to help the next time the renewal happens.  So I have worked out a quick and simply one liner that will get all of the certificates installed on the server in the LOCALMACHINE\My certificate store.… Continue reading

Installing PowerShell on Linux Ubuntu

Now that Microsoft has made PowerShell open source it can be installed on Mac OS X and Linux.  In this article I’ll discuss the steps on installing it on Linux Ubuntu.

PowerShell on Linux
PowerShell on Linux

Step 1 – Download the package

As  seen in the image above, I have the newest distro of Ubuntu.  The first step into getting PowerShell installed is downloading the package from Github as it hasn’t been added to any of the repositories yet.… Continue reading

Find Registry Keys on Remote Servers

I was tasked with writing a script to find a single registry key on all of the server for a domain that my team manages. So after getting the key that we need to know the value of, I put a script together. The script will first check to see if the server is online, and if it is then the scripts looks at the registry to find the key and records the value.  … Continue reading

Revisiting the PowerShell Profile

I’ve posted about the PowerShell profile before but I didn’t really go in depth on it, so I wanted to revisit the subject to make sure that I address some of the points that I may have missed.

To find your PowerShell profile location, you can use PowerShell to list it.

Get-ChildItem $profile

This will bring back the directory %UserProfile%\Documents\WindowsPowerShell.  … Continue reading