Skip to content

Instantly share code, notes, and snippets.

View JPRuskin's full-sized avatar

James Ruskin JPRuskin

View GitHub Profile
@JPRuskin
JPRuskin / BootstrapQSG.ps1
Created March 28, 2024 12:08
Bootstrap the Chocolatey For Business Quickstart Guide files.
[CmdletBinding()]
param(
# The directory to output all files to. If not provided, defaults to 'C:\choco-setup\files'.
[Parameter()]
[string]$OutputDirectory = $(Join-Path $env:SystemDrive 'choco-setup\files'),
# The branch or PR to download. If not provided, defaults to 'main'.
[Parameter()]
[Alias('PR')]
[string]$Branch = $env:CHOCO_QSG_BRANCH,
@JPRuskin
JPRuskin / SettleUp.psm1
Last active January 4, 2024 10:50
A quick and dirty set of functions to work with SettleUp.app, along with
# See: https://docs.google.com/document/d/18mxnyYSm39cbceA2FxFLiOfyyanaBY6ogG7oscgghxU/ for some documentation
# and, for some context: https://github.com/cad0p/settleup-stripe/blob/master/functions/index.js
param(
[ValidateSet("settle-up-live", "settle-up-sandbox")]
$script:FirebaseEnvironment = "settle-up-sandbox"
)
enum currency {
GBP
USD
@JPRuskin
JPRuskin / README.md
Last active November 27, 2023 20:03
Remove old releases from a Nexus3-repository, originally from PhilSwiss/nexus-cleanup

Nexus Cleanup Logo

Nexus-Cleanup

Remove old releases from a Nexus3-repository

This Groovy-script will purge old versions (sorted by version-number) from a repository hosted on Nexus 3.x.

You can set the desired repository and a maximum amount of versions at the begining of this script.

@JPRuskin
JPRuskin / Update-AWSSessionToken.ps1
Last active November 7, 2022 12:02
Refreshes AWS session tokens with your MFA authentication.
function Update-AWSSessionToken {
[CmdletBinding()]
param(
# MFA Token IAM, e.g. arn:aws:iam::123456789012:mfa/james
[string]$SerialNumber = "arn:aws:iam::...",
# 6-digit output from your MFA token
[ValidateLength(6,6)]
[Parameter(Mandatory)]
[string]$Token,
@JPRuskin
JPRuskin / battlenet-manifest.json
Created October 1, 2022 15:21
Steam ROM Manager manifests for non Steam games
[
{
"title": "Diablo III",
"target": "/home/deck/.local/share/Steam/steamapps/compatdata/2880652453/pfx/drive_c/Program Files (x86)/Diablo III/Diablo III.exe",
"startIn": "/home/deck/.local/share/Steam/steamapps/compatdata/2880652453/pfx/drive_c/Program Files (x86)/Diablo III/",
"launchOptions": "-launch"
}
]
@JPRuskin
JPRuskin / rdpupyet.ps1
Last active August 15, 2022 11:58
RDP Up Yet
<#
.Synopsis
Checks for and connects to RDP on a given server.
.Description
This script tests for an open port 3389 (standard Windows RDP), and if it finds it, passes the IP to mstsc.exe. Otherwise it retries indefinitely. Ctrl+C will halt the script.
.Parameter ip
IP or FQDN of a Windows machine to test. Only takes one argument.
.Parameter wait
Will assume that the machine is still up, wait until it stops responding (even once), and then try to connect.
Good for machines that are about to reboot.
using namespace Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters
function Invoke-AzVMScript {
[CmdletBinding()]
param(
[Parameter(Mandatory)]
[ResourceGroupCompleter()]
[string]$ResourceGroupName,
[Parameter(Mandatory)]
@JPRuskin
JPRuskin / FileInArchive.psm1
Last active May 13, 2022 09:21
Some unfinished functions to handle CRUD in zip (/nupkg) archives.
function Find-FileInArchive {
<#
.Synopsis
Finds files matching a pattern in an archive.
.Example
Find-FileInArchive -Path "C:\Archive.zip" -like "tools/files/*-x86.exe"
.Example
Find-FileInArchive -Path $Nupkg -match "tools/files/dotnetcore-sdk-(?<Version>\d+\.\d+\.\d+)-win-x86\.exe(\.ignore)?"
@JPRuskin
JPRuskin / ConvertTo-Guid.ps1
Created January 17, 2022 11:39
Converts a string to an RFC 4122 compatible UUID.
function SwapBytes {
<#
.SYNOPSIS
Simply switches two bytes in an array of bytes
#>
param(
[Parameter(Mandatory)]
[byte[]]$Guid,
[Parameter(Mandatory)]
[int]$Left,
@JPRuskin
JPRuskin / AOC2021.md
Last active December 7, 2021 17:42
Solutions to Advent of Code 2021, probably in PowerShell.

Advent of Code 2021

CodeTree thanks to obalunenko

This gist contains some Advent of Code solutions for the 2021 season.