Skip to content

Instantly share code, notes, and snippets.

View lamw's full-sized avatar

William Lam lamw

View GitHub Profile
@lamw
lamw / gist:bc191cbb60b9136638e6d1b3f302864f
Created January 2, 2020 16:57
Example Blog Post DMCA Takedown Notice
My name is [YOUR NAME] and I am the owner of the [YOUR BLOG NAME AND URL] blog. A website that your company hosts (according to this WHOIS information) is infringing on at least one of my blog posts.
Here is my original blog post which was published on [PUBLISH DATE/TIME TO YOUR BLOG POST] which I am the owner and creator of.
[LINK TO YOUR ORIGINAL BLOG POST]
The stolen content was slightly altered at the beginning and end to prevent search engines from identifying the stolen content. The unauthorized and infringing copy can be found at:
[LINK TO OFFENDING BLOG POST]
Per the Registry WHOIS information, the individual looks to be named:
[OFFENDER NAME] ([OFFENDER EMAIL]) which hopefully should match the owner of the blog site that is being hosted on [OFFENDER HOSTING PROVIDER NAME].
We can make this file beautiful and searchable if this error is corrected: It looks like row 2 should actually have 2 columns, instead of 1 in line 1.
letter frequency
Nested_ESXi6.0u3 57
Nested_ESXi6.5u1 22
Nested_ESXi6.7 188
Nested_ESXi6.7u1 171
Nested_ESXi6.5 13
Nested_ESXi6.5u2 116
Nested_ESXi6.5d 110
@lamw
lamw / gist:2a10d4941baf140f94d15f68d951c4c9
Last active September 9, 2020 09:10
List all Unassociated/Orphaned vSAN Objects using PowerCLI
$ClusterName = "Cluster-01"
$clusterView = Get-Cluster $ClusterName
$vmhost = ($clusterView | Get-VMHost) | select -First 1
$vsanClusterObjectSys = Get-VsanView -Id VsanObjectSystem-vsan-cluster-object-system
$results = (($vsanClusterObjectSys.VsanQueryObjectIdentities($clusterMoRef,$null,$null,$true,$true,$false)).Identities | where {$_.Vm -eq $null})
foreach ($result in $results) {
$jsonResult = ($vsanIntSys.GetVsanObjExtAttrs($result.Uuid)) | ConvertFrom-JSON
@lamw
lamw / gist:a744df89a5b8aab18c2b69af9399565b
Last active July 10, 2019 21:52
Add custom color to vSphere HTML5 UI Header/Footer in vSphere 6.7 Update 1
NEW_HEX_COLOR=632771
cp /usr/lib/vmware-vsphere-ui/plugin-packages/root-app/plugins/h5ngc.war /usr/lib/vmware-vsphere-ui/plugin-packages/root-app/plugins/h5ngc.war.bak
mkdir -p /root/TEST
cd /root/TEST
cp /usr/lib/vmware-vsphere-ui/plugin-packages/root-app/plugins/h5ngc.war .
unzip h5ngc.war
rm -f h5ngc.war
cat << EOF >> resources/css/vghetto-custom.css
.main-nav HEADER{
background-color:#${NEW_HEX_COLOR} !important; }
#!/usr/bin/env python
# VMware vSphere Python SDK
# Copyright (c) 2008-2013 VMware, Inc. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
@lamw
lamw / check-latest-vsan-hcl-json.ps1
Last active December 1, 2017 14:24
PowerShell script to check for latest vSAN HCL JSON file
$vsanJsonURL = "https://partnerweb.vmware.com/service/vsan/all.json"
$currentJsonFile = "current-vsan-hcl.json"
$latestJsonFile = "latest-vsan-hcl.json"
if(-Not (Test-Path $currentJsonFile)) {
# Never ran before, download current JSON and the next time
# the script run, it will have something to compare to
$results = Invoke-WebRequest -Uri $vsanJsonURL
$results.Content | Out-File -FilePath $currentJsonFile
} else {
@lamw
lamw / gist:8fedd19e27ff9276169e1bdd5404ca8c
Last active December 3, 2025 00:15
Powershell snippet to help extract the SSL Thumbprint (SHA256) of a remote system
Function Get-SSLThumbprint256 {
param(
[Parameter(
Position=0,
Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true
)]
[Alias('FullName')]
[String]$URL
@lamw
lamw / gist:d87946a1c103062f1c6a817444479dd2
Created September 22, 2017 03:06
PowerShell function to retrieve YouTube video stats
Function Get-YouTubeStat {
param(
[Parameter(Mandatory=$true)][String]$VideoId
)
# Replace APIKey with your Google API key and ensure YouTube API is enabled
$stats = irm "https://www.googleapis.com/youtube/v3/videos?id=$VideoId&key=$APIKey&part=statistics"
$stats.items.statistics | Select ViewCount,LikeCount
}
Get-YouTubeStat -VideoId Ek6FArKyMBc
@lamw
lamw / gist:8bbb3e753f2a44eef5f6de354d1c98dc
Created July 10, 2017 16:39
PowerCLI sample using vSphere API to create new VMkernel interface & assigning to existing default Netstack (vMotion)
$esxi_name = "192.168.30.10"
$portgroup_name = "vMotion"
$hostsystem = (Get-VMHost -Name $esxi_name).ExtensionData
$networkSystem = Get-View $hostsystem.ConfigManager.NetworkSystem
$nic = New-Object VMware.Vim.HostVirtualNicSpec
$ip = New-Object VMware.Vim.HostIpConfig
$ip.Dhcp = $false
$ip.IpAddress = "192.168.1.10"
$ip.SubnetMask = "255.255.255.0"
@lamw
lamw / gist:5aefdfb846075252efce1b54e4a6d0a0
Created June 29, 2017 14:31
Example of using vSphere GuestOps API via PowerCLI
$guestOpsMgr = (Get-View $global:DefaultVIServer.ExtensionData.Content.guestOperationsManager)
$authMgr = (Get-View $guestOpsMgr.AuthManager)
$vm = (Get-VM -Name MacOSX-10.11).ExtensionData.MoRef
$credential = New-Object VMware.Vim.NamePasswordAuthentication
$credential.InteractiveSession = $false
$credential.Username = "lamw"
$credential.Password = "vmware123"
$authMgr.ValidateCredentialsInGuest($vm,$credential)