Skip to content

Instantly share code, notes, and snippets.

View Badgerati's full-sized avatar
👶
Responses/releases might be delayed

Matthew Kelly Badgerati

👶
Responses/releases might be delayed
View GitHub Profile
@Badgerati
Badgerati / GitHub_PSModule.ps1
Created October 2, 2019 21:14
Example script for publishing a PowerShell module to the NuGet GitHub Package Registry
<# --
Register the GitHub Package Registry
-- #>
$username = '<github-username>'
$token = '<github-personal-token>'
$sourceName = 'GitHub'
$source = "https://nuget.pkg.github.com/$username/index.json"
# add the github package registry as a nuget source
@Badgerati
Badgerati / Test-CronExpression.ps1
Last active April 13, 2023 21:53
PowerShell cron expression parser, to check if a date/time matches a cron expression
<#
.DESCRIPTION
PowerShell cron expression parser, to check if a date/time matches a cron expression
Format:
<min> <hour> <day-of-month> <month> <day-of-week>
.PARAMETER Expression
A cron expression to validate
.PARAMETER DateTime

Keybase proof

I hereby claim:

  • I am badgerati on github.
  • I am badgerati (https://keybase.io/badgerati) on keybase.
  • I have a public key ASCcoX7fugcw12wZCfdxH1YCEQjcC6thGQUJLKJVFm6a0wo

To claim this, I am signing this object:

@Badgerati
Badgerati / Get-SubnetMask.ps1
Last active March 30, 2018 17:56
Given the low and high addresses of a subnet range, will return the subnet mask of the range
<#
.DESCRIPTION
Given the low and high addresses of a subnet range, will return the subnet mask of the range.
For example, given 10.0.0.64 and 10.0.0.95, will return "10.0.0.64/27"
.EXAMPLE
Get-SubnetMask -Low '10.0.0.64' -High '10.0.0.95'
#>
function Get-SubnetMask
{
@Badgerati
Badgerati / Get-SubnetRange.ps1
Last active March 30, 2018 11:24
Given a subnet mask like 10.0.1.0/24, will return the lowest and highest addresses across the range
<#
.DESCRIPTION
Given a subnet mask, will return the lowest and highest addresses within the range of the mask.
For example, given 10.1.4.0/24, will return @{"lowest"="10.1.4.0", "highest"="10.1.4.255"}
.EXAMPLE
Get-SubnetRange -SubnetMask '10.1.4.0/24'
#>
function Get-SubnetRange
{
@Badgerati
Badgerati / Stop-IdleProcess.ps1
Last active August 22, 2023 03:49
Stops idle/crashed processes by Process Name via PowerShell
<#
.SYNOPSIS
Stops idle/crashed processes by Process Name
.DESCRIPTION
This function will stop and idle or crashed processed with the passed ProcessName.
To detect idle processes, it will first gather an initial list of processes, sleep
for a period of time then refetch the list. If any of the new list are identical
to the initial list, then these processes are stopped as they're deemed idle.
@Badgerati
Badgerati / jira-release-notes.ps1
Created June 16, 2016 20:25
Automated Jira Release Notes using PowerShell
###############################################################################
# Script to generate Jira Release Notes.
#
# Release notes can be generated in either HTML, MD or just plain text. You can
# specify either the fixVersion, project tag/name or status(es) in any combination.
#
# Example:
# .\jira-release-notes.ps1 -jiraUrl 'http://jira.some.com' -project 'Potatoes'
# .\jira-release-notes.ps1 -jiraUrl 'http://jira.some.com' -fixVersion '1.2.0'
# .\jira-release-notes.ps1 -jiraUrl 'http://jira.some.com' -statuses @('Done')
@Badgerati
Badgerati / jenkins.ps1
Last active August 5, 2024 23:38
PowerShell wrapper around the inbuilt Jenkins CLI
########################################################
# Author: Matthew Kelly (Badgerati)
#
# This is a PowerShell wrapper around the inbuilt Jenkins CLI.
# It simplifies the calls to Jenkins, by just allowing you
# to call commands with a simple "jenkins" call.
#
# Best used with the path to the script in your PATH.
#
# Requirements:
@Badgerati
Badgerati / DetectMissingSQLFiles.ps1
Last active August 29, 2015 14:25
Detects SQL files that are missing from sqlproj files within the given path
###########################################################################
# Detects SQL files that are missing from sqlproj files within the given
# path. Useful for catching mis-merges that could cause a SProc to not
# get deployed, or a table index to get missing.
#
# Author: Matthew Kelly (@Badgerati)
# Date: July 27 2015
#
# path: Path to where your .sqlproj files reside
#
@Badgerati
Badgerati / CleanMSBuilds.ps1
Created May 14, 2015 14:54
PowerShell script for cleaning multiple projects/solutions in one command line via MSBuild
###########################################################################
# Author: Matthew Kelly (@Badgerati)
# Date: May 14 2015
#
# MSBuildPath: Path to where your MSBuild.exe file resides
# Projects: Array of Project/Solution files
# CleanDebug: Switch to clean build in debug mode
# CleanRelease: Switch to clean build int release mode
#
# Example: