Skip to content

Instantly share code, notes, and snippets.

View JayDoubleu's full-sized avatar
🎯
Focusing

Jay W JayDoubleu

🎯
Focusing
View GitHub Profile
$transcriptsDirectory = "C:\transcripts"
$currentUser = [Security.Principal.WindowsIdentity]::GetCurrent()
$currentUserName = $currentUser.Name
$transcriptUser = $currentUserName.replace('\', '_')
if (!(Test-Path $transcriptsDirectory)) { New-Item -Path $transcriptsDirectory -ItemType Directory }
if ($currentUserName.Contains("SYSTEM")) { icacls "C:\AzureData" /grant Everyone:F /T }
$date = Get-Date
$transcriptFileName = "customData" + '_' + $transcriptUser + '_' + $date.ToString("yyyy-MM-dd_HH-mm-ss") + ".log"
name: CI
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Create tmate session
run: |
set -m
@JayDoubleu
JayDoubleu / tmate_ado.yaml
Created July 25, 2023 14:32
A task to use tmate.io for troubleshooting
trigger: none
pool:
vmImage: ubuntu-latest
steps:
- task: Bash@3
displayName: Life is too short for troubleshooting
inputs:
targetType: 'inline'
@JayDoubleu
JayDoubleu / tmate_ado.yaml
Created July 25, 2023 14:23
An ADO task to establish tmate session for troubleshooting
steps:
- task: Bash@3
displayName: Life's too short for troubleshooting
inputs:
targetType: 'inline'
script: |
set -m
sudo apt-get update && sudo apt-get -y install tmate
export TERM=xterm
python3 -c 'import pty; pty.spawn("/bin/tmate")'
@JayDoubleu
JayDoubleu / listStorageKeys.ps1
Created July 24, 2023 18:27
List storage keys by authenticating via managed identity
$url = 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/'
$accessToken = Invoke-RestMethod -Uri $url -Headers @{Metadata = 'true'} -Method Get -UseBasicParsing | Select-Object -ExpandProperty access_token
Write-Host "Access token: $accessToken"
$storageAccountResourceId = '/subscriptions/1c0c1a70-a036-40b3-a022-77db654391c4/resourceGroups/rg-kns-testing-prd-a-uks-01/providers/Microsoft.Storage/storageAccounts/stgknstestingprdauks01'
$url = 'https://management.azure.com/'+ $storageAccountResourceId + '/listKeys?api-version=2022-09-01&$expand=kerb'
$headers = @{
'Accept' = 'application/json'
'Authorization' = 'Bearer ' + $accessToken
}
@JayDoubleu
JayDoubleu / apt_lock.sh
Created July 24, 2023 12:16
apt-get lock function
apt_wait() {
# Check if dpkg or apt-get lock is held by another process
locks=(/var/lib/dpkg/lock /var/lib/apt/lists/lock)
for lock in "${locks[@]}"; do
echo "Waiting for lock on $lock..."
while fuser "$lock" >/dev/null 2>&1; do
sleep 1
echo -n "."
done
echo
@JayDoubleu
JayDoubleu / octopusTentacleRegistration.ps1
Last active June 30, 2023 12:26
Script to register octopus tentacle
param (
[Parameter(Mandatory = $true)][string] $serverThumbprint,
[Parameter(Mandatory = $true)][string] $serverUrl,
[Parameter(Mandatory = $true)][string] $serverApiKey,
[Parameter(Mandatory = $true)][string] $instancePort,
[Parameter(Mandatory = $true)][string] $instanceWorkerPool
)
$instanceName = $env:computerName
$instanceHostname = [System.Net.Dns]::GetHostByName(($env:computerName)).HostName
- task: Bash@3
displayName: Retrieve current agent public IP
inputs:
targetType: 'inline'
script: |
echo "##vso[task.setvariable variable=AGENT_IP]$(curl -s http://ipinfo.io/json| jq -r '.ip')"
import fnmatch
import os
#import re2 as re
import regex as re
import subprocess
from subprocess import PIPE, STDOUT
import argparse
import yaml
import csv
@JayDoubleu
JayDoubleu / deployNetworkWatchers.bicep
Created May 17, 2023 17:44
Bicep code to deploy network watchers
param tags object = {}
param environment
param prefix string
param regions array = [
'uksouth'
'ukwest'
'northeurope'
'westeurope'
'eastus'
'southcentralus'