Skip to content

Instantly share code, notes, and snippets.

View devblackops's full-sized avatar
🎯
Lookin' for code in all the wrong places

Brandon Olin devblackops

🎯
Lookin' for code in all the wrong places
View GitHub Profile
# Registered an AAD group with Priviledged Identity Management (PIM)
function Get-PimToken {
<#
.SYNOPSIS
Gets the Azure auth token for PIM.
#>
[cmdletbinding()]
param()
[cmdletbinding()]
param()
function Connect-SlackRtm {
[cmdletbinding()]
param(
[string]$Token
)
$loginData = @{}
@devblackops
devblackops / SlackRtmTlsBugRepo.ps1
Created March 5, 2020 17:23
Minimal reproduction of connecting to Slack's RTM websocket API to receive messages
[cmdletbinding()]
param()
function Connect-SlackRtm {
[cmdletbinding()]
param(
[string]$Token
)
$loginData = @{}
@devblackops
devblackops / tf_plan.txt
Created January 15, 2020 17:12
Azure Front Door Terraform plan output
# azurerm_frontdoor.fd will be created
+ resource "azurerm_frontdoor" "fd" {
+ cname = (known after apply)
+ enforce_backend_pools_certificate_name_check = true
+ id = (known after apply)
+ load_balancer_enabled = true
+ location = "eastus"
+ name = "XXXXX-fd1"
+ resource_group_name = "tf_XXXXX"
@devblackops
devblackops / TrackChromeUsage.ps1
Last active December 12, 2019 00:30
Track Chrome processes for graphing at the console.
# Put these functions in the profile.ps1 to start and stop Chrome usage tracking.
# Display your Chrome usage by running "Show-ChromeUsage"
# Track Chrome usage
function Start-ChromeUsageTracking {
$job = Start-Job -Name ChromeTracker -ScriptBlock {
while ($true) {
$now = [datetime]::Now.ToString('s')
$tabs = (Get-Process chrome -ErrorAction SilentlyContinue).Count
$log = Join-Path ([IO.Path]::GetTempPath()) 'chrome_usage.csv'
$tenant = '<tenant-id>'
$subscription = '<subscription-id>'
$clientId = '<client-id>'
$clientSecret = '<client-secret>'
# Log into Azure w/ Service Principal
$creds = [pscredential]::new($clientId, ($clientSecret | ConvertTo-SecureString -AsPlainText -Force))
Connect-AzAccount -TenantId $tenant -SubscriptionId $subscription -Credential $creds -ServicePrincipal > $null
# Get auth token
@devblackops
devblackops / rate_limiting_notice.ps1
Last active July 16, 2019 05:49
PoshBot middlware hook to notify chatty people in a Slack channel to use threaded conversations if they post too many messages in a short time interval
<#
.SYNOPSIS
Suggest Slack threads for talkative users.
.DESCRIPTION
This middleware tracks how many messages (x) users send per (y) amount of time.
If a user goes over the threshold, we'll send a message suggesting that Slack threads should be used.
.NOTES
Based on https://stackoverflow.com/questions/667508/whats-a-good-rate-limiting-algorithm
#>
param(
@devblackops
devblackops / redalert.ps1
Last active August 15, 2023 08:02
Display highly visible notification if the last command failed in the Microsoft Terminal using PowerShell
# Put this code in your PowerShell profile script
# This requires the MSTerminalSettings module which you can download with:
# Install-Module MSTerminalSettings -Scope CurrentUser -Repository PSGallery
Import-Module MSTerminalSettings
$msTermProfileName = 'pwsh' # Replace with whatever Terminal profile name you're using
$msTermProfile = Get-MSTerminalProfile -Name $msTermProfileName
$script:bombThrown = $false
function prompt {
if ($? -eq $false) {
@devblackops
devblackops / Get-MostCommonCommands.ps1
Created June 13, 2019 23:07
Get your most common PowerShell commands by inspecting your PSReadLine history
$err=$null
[System.Management.Automation.PSParser]::Tokenize((Get-Content (Get-PSReadLineOption).HistorySavePath),[ref]$err) |
Where-Object {$_.type -eq 'command'} |
Select-Object Content | Group-Object Content |
Sort-Object Count, Name -Descending | Select-Object Count, Name -First 20
@devblackops
devblackops / prompt.ps1
Last active February 28, 2023 23:50
My basic prompt
Import-Module posh-git
function prompt {
# The status of the last command run
$lastSuccess = $?
# Colors for prompt
$color = @{
Reset = "`e[0m"
Red = "`e[31;1m"
Green = "`e[32;1m"