View Get-NSXFirewallReport.ps1
<# Uncomment if you'd like to use. These are assumed and needed for custom report to work. Must be connected to vCenter and NSXMgr.
Import-Module vmware.powercli,powernsx
$Creds = Get-Credential -Message "Provide vCenter Admin credentials"
$vCenterNameorIP = Read-Host "Provide name or IP of vCenter"
Connect-VIServer $vCenterNameorIP -Credential $Creds
Connect-NSXServer -vCenterServer $vCenterNameorIP -Credential $Creds
$DFWRules = Get-NSXFirewallRule
$CustomReport = @()
View get-vmhostwsmaninstance.ps1
function Get-VMHostWSManInstance {
param (
[Parameter(Mandatory=$TRUE,HelpMessage="VMHosts to probe")]
[Parameter(Mandatory=$TRUE,HelpMessage="Class Name")]
View Delete-vSANDiskgroup.ps1
Author: K. Chris Nakagaki
Use at your own risk, simply listed here for demonstration purposes to use how you see fit.
<# Get the host w/ problem disk group #>
$VMhost = Get-VMHost NameofHostwithProblemDiskGroup
<# ESXCLI Connection #>
View Get-vCenterScheduledTasks.ps1
function Get-vCenterScheduledTask{
Retrieve vCenter Scheduled Tasks.
Retrieve vCenter Scheduled Tasks.
Source: Automating vSphere Administration
Authors: Luc Dekens, Arnim van Lieshout, Jonathan Medd,
Alan Renouf, Glenn Sizemore
View Migrateto-VDSwitch.ps1
You can target a single host or set of hosts. Made to only move 'management' vmk's.
Idea is that you would create vmotion, vsan, etc. vmk's after on VDS/DVS
$VMhost = Get-VMHost "NameofHost"
If you haven't created a vDSwitch yet, you can do so by replacing get-vdswitch with New-VDSwitch
$TargetVDS = New-VDSwitch -Name -Location (get-datacenter "nameofvirtualdatacenter")
$TargetPG = New-VDPortgroup -vdswitch $TargetVDS -Name "Whatevernameyouwant" -VLANID <# Replace if applicable #>
LAT="$(~/Dropbox/LocateMe/LocateMe -f "{LAT}")"
LON="$(~/Dropbox/LocateMe/LocateMe -f "{LON}")"
city=$(python ~/Dropbox/GeekTool/ $LAT $LON)
~/Dropbox/GeekTool/ -A $LAT -O $LON -n $city -u UK
import sys
def cityinfo(lat, lon):
from geopy.geocoders import GoogleV3
locator = GoogleV3()
address = locator.reverse([lat, lon])
city = address[3].address.split(",")[0]
print(city.replace(" ", ""))
View Reregister_VMTemplates.ps1
Re-register templates that are locked
KB Reference:
Import-Module vmware.vimautomation.core
Connect-VIServer NameofyourVcenter
$TargetTemplates = Get-Template "NamePatternOfTemplateOrRemoveThisIfYouWantToTargetAllTemplates*" -server $Global:DefaultVIServer
Foreach ($Template in $TargetTemplates)
View Configure_AllFlashvSANCluster.ps1
#Enable All Flash vSAN Intelligently
Import-Module -Name VMware.VimAutomation.Core -ErrorAction SilentlyContinue
$TargetHosts = Get-VMHost
#$ESXCLI = $TargetHosts | Get-EsxCli
#$Storage = $Targethosts | Get-SCSILUN
#$Storage.ScsiLun #List of Vendors and model
$CacheDiskVendor = "SanDisk"
$CacheDiskModel = "LT0400WM"
$CapacityDiskVendor = "SanDisk"
$CapacityDiskModel = "LT0800MO"

Keybase proof

I hereby claim:

  • I am zsoldier on github.
  • I am zsoldier ( on keybase.
  • I have a public key whose fingerprint is 3494 BE50 A321 0EB2 58F5 B635 6789 920B FAC4 6526

To claim this, I am signing this object: