Skip to content

Instantly share code, notes, and snippets.

View Zsoldier's full-sized avatar

Chris Nakagaki Zsoldier

View GitHub Profile
@Zsoldier
Zsoldier / MacOSTerminalProfileRestore.sh
Last active April 7, 2020 01:13
Basically a way for me to sync changes via dropbox and restore a MacOS terminal environment w/o bringing along all the garbage that Time Machine will likely haul with it.
overwrite=true #only applies to zsh profile, not implemented for other stuff. no overwrite by default elsewhere.
brew=true
SyncDir=~/Documents/_NakaProfile
customsudodir=/etc/sudoers.d/
ZSHPlugins=$SyncDir/zsh/custom/plugins/
ZSHThemes=$SyncDir/zsh/custom/themes/
VPNConfigs=$SyncDir/vpn/
stoken=$SyncDir/stoken
customsudofiles=$SyncDir/customsudo/
@Zsoldier
Zsoldier / EdgeOSUpdateHostsBulk.sh
Last active January 17, 2020 03:44 — forked from lanefu/EdgeOSUpdateHostsBulk.sh
Bulk Insert of active EdgeOS dhcp leases into /etc/hosts aka regenerate entries in /etc/hosts
## do this before hand
## vyatta will try to eval show under the wrong circumstances
show dhcp leases > /tmp/leases.txt
### dump below in a file, execute with bash
MY_INTERNAL_DOMAIN=local
IFS=$'\n'
for line in $(printf "$(cat /tmp/leases.txt|tail -n +3|awk '{print $6, $1, $2}')")
do
@Zsoldier
Zsoldier / Add-SSHUser.sh
Last active January 17, 2020 02:15
Effectively, the script works like so: An existing sudoer/root/admin must run this script. You provide a username and the user's ssh public key. Set sudoer to true or false (or anything other than true really) customsudofile path defaults to /etc/sudoers.d/nopasswd Essentially, anything in sudoers.d path is ingested by sudoer file as an override…
username=""
sshpubkey=""
sudoer=true
allownopasswd=true
customsudodir="/etc/sudoers.d/"
tmpsudofile="/tmp/nopasswd" #used for safety check to assure sudo syntax is correct.
customsudodata="%sudo ALL=(ALL:ALL) NOPASSWD: ALL"
useradd $username
@Zsoldier
Zsoldier / bashApplesandPythonExample.sh
Last active September 27, 2019 21:35
Bash Function example calling several terminal windows in MacOS using AppleScript to launch sshuttle sessions.
#First argument defines last IP octet for 2nd and 3rd commands.
#Second argument defines an additional subnet you want to proxy for the last sshuttle connection.
crazystuffhere(){
echo -n Password:
read -s something
echo "Connecting to 1st Jumpbox 192.168.5.50 and proxying IP 192.168.10.50 through it."
osascript -e "tell app \"Terminal\"
do script \"sshuttle -r 192.168.5.50 192.168.10.50\"
delay 2
end tell"
@Zsoldier
Zsoldier / Get-AzureGlobalReachEnabledERCircuits.ps1
Last active August 7, 2020 14:20
Gather ExpressRoute Circuits with Global Reach enabled. This does account for multiple subscriptions as well.
#Requires -Modules az
Connect-AzAccount
$ERGREnabled = @()
$GRDataFull = @()
$ERCircuits = @()
$Subs = Get-AzSubscription
Foreach ($Sub in $Subs){
Select-AzSubscription $Sub
$ERCircuits += Get-AzExpressRouteCircuit
}
@Zsoldier
Zsoldier / cloud-init.yaml
Created September 10, 2019 14:09 — forked from syntaqx/cloud-init.yaml
cloud init to install docker on ubuntu
#cloud-config
package_update: true
package_upgrade: true
package_reboot_if_required: true
manage-resolv-conf: true
resolv_conf:
nameservers:
- '8.8.8.8'
@Zsoldier
Zsoldier / Get-SSLCert.ps1
Last active April 28, 2021 14:48
Allows you to pull down a remote systems SSL certificate regardless of whether it's trusted or not. This was made for Powershell Core, so should work on any platform than runs PS Core. No ServicePoint required. Specifically created to pull down and convert a vCenter's SSL Cert and convert to SHA256 thumbprint for registration to NSX-T.
Function Get-SSLCert{
[CmdletBinding()]
<#
.SYNOPSIS
Gets SSL certificate of remote system.
.DESCRIPTION
Gets SSL certificate of remote system in order to get it's thumbprint.
.EXAMPLE
Get-SSLCert tech.zsoldier.com
Returns the certificate as object.
@Zsoldier
Zsoldier / PowerShellRestEndPoint.ps1
Last active August 29, 2018 22:44
Expands upon the example that Kamal of hkeylocalmachine.com posted on. Script is majority the same, but this example would let you define not only GETs, but POSTS and transform something like a json input into a PS Object to work against. Same caveats still apply related to security, but fascinating nonetheless.
# Reference: http://hkeylocalmachine.com/?p=518
# Create a listener on port 7000
$listener = New-Object System.Net.HttpListener
$listener.Prefixes.Add('http://+:7000/')
$listener.Start()
'Listening ...'
# Run until you send a GET request to /end
while ($true) {
$context = $listener.GetContext()
@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)
@Zsoldier
Zsoldier / Get-NSXFirewallReport.ps1
Created January 19, 2018 20:06
NSX Firewall Rule Report
<# 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 = @()