Skip to content

Instantly share code, notes, and snippets.

View ConnorGriffin's full-sized avatar

Connor Griffin ConnorGriffin

View GitHub Profile
@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 / 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 / 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 / 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 / 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