Skip to content

Instantly share code, notes, and snippets.

View ConnorGriffin's full-sized avatar

Connor Griffin ConnorGriffin

View GitHub Profile
@ConnorGriffin
ConnorGriffin / GDriveUploadExcerpt.ps1
Last active January 18, 2018 21:32
Google Drive Upload Excerpt
<#
This is a fairly simple one-time upload with no options, etc. Consider using this as a base to create a New-GDriveItem type function
Modified code, in response to: https://monteledwards.com/2017/03/05/powershell-oauth-downloadinguploading-to-google-drive-via-drive-api/
You should follow the above link to set $accessToken to your access token and understand what is happening here
#>
# Change this to the file you want to upload
$SourceFile = 'C:\Path\To\File'
# Get the source file contents and details, encode in base64
@ConnorGriffin
ConnorGriffin / Set-NessusFolderScanSchedule.ps1
Created March 12, 2018 19:34
Script to schedule Nessus scans based around the Microsoft patch cycle
<#
.SYNOPSIS
Schedule Nessus scans based around the Microsoft patch cycle
#>
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true)][String]$ComputerName,
[Int]$Port = 8834,
[Parameter(Mandatory=$true)][String]$ScanFolder,
@ConnorGriffin
ConnorGriffin / Edit-NessusScanDetail.ps1
Last active March 12, 2018 22:21
Edit nessus scan details, including schedule, name, and policy data, extracted of Scan.ps1 from Posh-Nessus
<#
.Synopsis
Edit nessus scan details, including schedule, name, and policy data
.DESCRIPTION
Long description
.EXAMPLE
Example of how to use this cmdlet
.EXAMPLE
Another example of how to use this cmdlet
#>
@ConnorGriffin
ConnorGriffin / Get-RedditPatchTuesdayKBMentions.ps1
Created March 29, 2018 00:10
Outputs a table of any comments that mention a KB number on the reddit.com/r/sysadmin monthly Patch Tuesday megathread
# Get a list of posts from reddit.com/r/sysadmin front page
$posts = Invoke-RestMethod 'https://www.reddit.com/r/sysadmin/.json'
# Get the URL for the patch tuesday megathread
$megathread = $posts.data.children.data.Where{$_.title -like '*Patch Tuesday Megathread*'}
$megathreadUrl = $megathread.Url
# Get the comments of the megathread
$comments = Invoke-RestMethod "$megathreadUrl.json"
@ConnorGriffin
ConnorGriffin / ecobeeSmartHomeAway.js
Last active April 27, 2018 21:19
Home Assistant Node-RED Scripts
var homeStatus = msg.payload.data.state
var homeStatusMinutes = Math.floor((msg.payload.timeSinceChangedMs/1000)/60)
var notHome = (homeStatus == "not_home" && homeStatusMinutes >= 10)
var ecobeeStatus = flow.get("ecobeeStatus")
var holdMode = ecobeeStatus.data.attributes.hold_mode
var climateMode = ecobeeStatus.data.attributes.climate_mode
var operationMode = ecobeeStatus.data.attributes.operation_mode
// Set the holdMatch criteria based on whether we're home or not, this is so we don't cancel temp or vacation holds
@ConnorGriffin
ConnorGriffin / GoogleDrive.SheetExport.ps1
Created July 14, 2018 00:00
Google Sheets Export to PowerShell Object by GID (Sheet Tab ID)
# Set our options
$RefreshToken = ''
$ClientID = ''
$ClientSecret = ''
$spreadsheetId = '' # Get this from the URL: https://docs.google.com/spreadsheets/d/{spreadsheetId}
$sheetId = '' # Get this from gid= in the URL
# Set the Google Auth parameters
$params = @{
Uri = 'https://accounts.google.com/o/oauth2/token'
@ConnorGriffin
ConnorGriffin / quicktile.cfg
Last active July 23, 2018 07:50
My quicktile.cfg
[general]
cfg_schema = 1
ColumnCount = 3
UseWorkarea = True
ModMask = <Mod4>
MovementsWrap = True
[keys]
C = move-to-center
H = horizontal-maximize
@ConnorGriffin
ConnorGriffin / ConvertFrom-Hsl.ps1
Last active July 26, 2018 18:08
Powershell script to convert HSL to RGB
function ConvertFrom-Hsl {
param(
$Hue,
$Saturation,
$Lightness,
# Return in ConEmu.xml ABGR hex format
[Switch]$ABGR
)
function ToHex ($c) {
@ConnorGriffin
ConnorGriffin / ynabZestimate.gs
Last active September 10, 2018 08:56
Automatically update your YNAB 'Home Value' tracking account with Zillow's Zestimate data
function updateYnabHomeZestimate() {
var accessToken = 'YNAB token goes here' // Your YNAB Personal Access Token
var zwsid = 'zwsid goes here' // Your Zillow ZWSID
var budgetName = 'budget name goes here' // The name of your budget
var accountName = 'home value account name goes here' // The name of your home value tracking account
var address = '1657 Notrealaddress Drive, Redding, CA 96001' // Home address
// YNAB API settings
var url = 'https://api.youneedabudget.com/v1'
var headers = {
@ConnorGriffin
ConnorGriffin / ynabReport-CategoryGroups.gs
Last active September 25, 2018 00:22
YNAB Weekly Spending Report - Google Script (Standalone) - Using Category Groups instead of Categories
// YNAB Weekly Spending Report sending script
function sendYnabReport() {
// Set our options
var accessToken = 'token goes here' // Your YNAB Personal Access Token
var budgetName = "Connor's Budget" // Budget name to use, in case you have multiple budgets
var categories = ['Sports & Wellness', 'Food & Drink', 'Housing'] // Your desired category groups to monitor, in Javascript array syntax
var recipient = 'test@example.com, test2@example.com' // Email recipients, comma separated
// API stuff
var url = 'https://api.youneedabudget.com/v1'