Skip to content

Instantly share code, notes, and snippets.

View Zsoldier's full-sized avatar

Chris Nakagaki Zsoldier

View GitHub Profile
@Zsoldier
Zsoldier / keybase.md
Created September 22, 2014 20:59
Keybase Proof

Keybase proof

I hereby claim:

  • I am zsoldier on github.
  • I am zsoldier (https://keybase.io/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:

@Zsoldier
Zsoldier / Configure_AllFlashvSANCluster.ps1
Last active March 31, 2016 14:25
Script to configure an all flash vsan cluster from scratch.
#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"
@Zsoldier
Zsoldier / Reregister_VMTemplates.ps1
Last active April 22, 2016 15:42
This is a script you can use to re-register multiple templates to your vCenter's inventory. It will simply get a list of templates, their folder location, host, etc, remove it from inventory and re-add it back exactly where it was.
<#
Re-register templates that are locked
KB Reference: https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2037005
#>
Import-Module vmware.vimautomation.core
Connect-VIServer NameofyourVcenter
$TargetTemplates = Get-Template "NamePatternOfTemplateOrRemoveThisIfYouWantToTargetAllTemplates*" -server $Global:DefaultVIServer
Foreach ($Template in $TargetTemplates)
{
@Zsoldier
Zsoldier / citylocator.py
Created June 29, 2016 18:06
Simple Python script that returns city name from provided longitude and latitude variables from bash. Uses geopy module and appears to work both on Python 2 and 3. City return may or may not be accurate. Kind of guessing by selecting 3rd return record from google and selecting first entry in comma separated return. Needs work obviously.
#!/usr/bin/python
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(" ", ""))
@Zsoldier
Zsoldier / GeekToolGeekweather.sh
Created June 29, 2016 18:35
Bash script that can be used in GeekTool to generate geekweather2 geeklet image that is placed in /tmp/ directory. This particular version utilizes a python script to return city friendly name since.
LAT="$(~/Dropbox/LocateMe/LocateMe -f "{LAT}")"
LON="$(~/Dropbox/LocateMe/LocateMe -f "{LON}")"
city=$(python ~/Dropbox/GeekTool/cityLocator.py $LAT $LON)
~/Dropbox/GeekTool/Geekweather2.sh -A $LAT -O $LON -n $city -u UK
@Zsoldier
Zsoldier / Migrateto-VDSwitch.ps1
Created September 18, 2017 14:55
Moving connected physical nics and vmk's on ESXi host to DVS/VDS.
<#
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 #>
#>
@Zsoldier
Zsoldier / Get-vCenterScheduledTasks.ps1
Created September 20, 2017 03:34
Example showing how to get/set scheduled tasks in vCenter/vSphere using PowerCLI
function Get-vCenterScheduledTask{
<#
.SYNOPSIS
Retrieve vCenter Scheduled Tasks.
.DESCRIPTION
Retrieve vCenter Scheduled Tasks.
.NOTES
Source: Automating vSphere Administration
Authors: Luc Dekens, Arnim van Lieshout, Jonathan Medd,
Alan Renouf, Glenn Sizemore
@Zsoldier
Zsoldier / Delete-vSANDiskgroup.ps1
Last active October 19, 2017 14:33
Delete a vSAN Disk Group Forcefully
<#
Author: K. Chris Nakagaki
Source: tech.zsoldier.com
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 #>
@Zsoldier
Zsoldier / get-vmhostwsmaninstance.ps1
Created December 11, 2017 14:48
Get-VMHostWSManInstance
function Get-VMHostWSManInstance {
param (
[Parameter(Mandatory=$TRUE,HelpMessage="VMHosts to probe")]
[VMware.VimAutomation.ViCore.Impl.V1.Inventory.VMHostImpl[]]
$VMHost,
[Parameter(Mandatory=$TRUE,HelpMessage="Class Name")]
[string]
$class,
@Zsoldier
Zsoldier / Get-CDPorLLDPInfofromESXi.ps1
Last active May 14, 2018 19:00
Get-CDP or LLDP Info from ESXi/vCenter
function Get-CDPorLLDP {
$myCol = @()
foreach ($VIServer in $global:DefaultVIServers)
{
$vmhosts = Get-VMHost -Server $VIServer | where-object {$_.ConnectionState -eq "Connected" -or "Maintenance"}
foreach ($vmhost in $vmhosts)
{
Write-Host "Collating information for $($VMHost.Name)"
$networkSystem = Get-view -Server $viserver -Id $vmhost.extensiondata.ConfigManager.NetworkSystem
foreach($pnic in $networkSystem.NetworkConfig.Pnic)