Skip to content

Instantly share code, notes, and snippets.

View cloudchristoph's full-sized avatar
🏠
Working from home

Christoph Vollmann cloudchristoph

🏠
Working from home
View GitHub Profile
@cloudchristoph
cloudchristoph / Start-MSIEmulator.ps1
Created August 17, 2024 08:39 — forked from JustinGrote/Start-MSIEmulator.ps1
A Managed Identity Emulator for testing Managed Identities locally. Returns a token from your currently logged in Azure PowerShell context
#requires -Module Az.Accounts
$verbosePreference = 'continue'
function ConvertFrom-JWTtoken {
<#
.NOTES
Lovingly borrowed from: https://www.michev.info/blog/post/2140/decode-jwt-access-and-id-tokens-via-powershell
#>
[cmdletbinding()]
param([Parameter(Mandatory = $true)][string]$token)
@cloudchristoph
cloudchristoph / azlb_static_routes.tcl
Created April 29, 2024 11:44
Azure Load Balancer Static Routes for Health Probes on Fortigate
config router static
edit 1
set gateway 10.0.0.1
set device port1
next
edit 2
set dst 10.0.0.0/24
set gateway 10.0.0.65
set device port2
next
@cloudchristoph
cloudchristoph / Deny-Service-Endpoints.json
Created April 11, 2024 09:19
Azure Policy: Deny Service Endpoints on subnets
{
"name": "Deny Service Endpoints on subnets",
"description": "This Policy will deny the enablement of Service Endpoints on subnets. This will also prevent PaaS resources such as Azure Storage from being able to add this subnet to their firewall allowed list.",
"mode": "All",
"policyRule": {
"if": {
"anyOf": [
{
"allOf": [
{
trigger:
- none
variables:
- name: PROJECT_PATH
value: terraform
- name: tfComponent
value: cluster
- name: tfExecutionDir
value: '$(PROJECT_PATH)/src/$(tfComponent)'
@cloudchristoph
cloudchristoph / chat.sh
Created July 19, 2023 11:45
Chat directly from command line ▶️ ./chat.sh 'Hello Llama!'
# Prerequisite: https://gist.github.com/adrienbrault/b76631c56c736def9bc1bc2167b5d129
export MODEL=llama-2-13b-chat.ggmlv3.q4_0.bin
# Check if command line argument is given
if [ $# -eq 0 ]; then
echo "Prompt: " &&
read PROMPT
else
PROMPT=$1
@cloudchristoph
cloudchristoph / main.bicep
Last active November 5, 2021 14:33
Bicep - nested loop with module
param sbNamespaceName string = 'sbnamespace'
param topics array = [
{
name: 'topic1'
subscriptions: [
'sub1.1'
'sub1.2'
]
}
{
@cloudchristoph
cloudchristoph / FirstFreeSlot.ps1
Last active June 15, 2021 14:19
Prüft die Impfterminseite von Magdeburg auf neue Termine
while ($true) {
$freeslotData = Invoke-WebRequest -Uri "https://impfzentrum.termin-direkt.de/rest-v2/api/Calendars/8/FirstFreeSlot" -Headers @{
"method" = "GET"
"authority" = "impfzentrum.termin-direkt.de"
"scheme" = "https"
"path" = "/rest-v2/api/Calendars/8/FirstFreeSlot"
"sec-ch-ua" = "`" Not;A Brand`";v=`"99`", `"Google Chrome`";v=`"91`", `"Chromium`";v=`"91`""
"dnt" = "1"
"sec-ch-ua-mobile" = "?0"
"user-agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36"
@cloudchristoph
cloudchristoph / mytemplate.bicep
Created September 6, 2020 10:40
Azure Bicep - Erstes Template
param location string = resourceGroup().location
param environment string = 'dev'
param appName string = 'myapp'
var storageAccountName = 'st${appName}${environment}'
resource MyStorageAccount 'Microsoft.Storage/storageAccounts@2019-06-01' = {
name: storageAccountName
location: location
kind: 'Storage'
sku: {
@cloudchristoph
cloudchristoph / Update-AzModules.ps1
Created May 28, 2020 07:18
Script for updating all AZ PowerShell Modules at once
# Source: https://robertsmit.wordpress.com/2020/05/27/update-all-az-azure-powershell-modules-powershell-azure-script-modules/
# Author: Robert Smit
Get-Module -Name az.* -ListAvailable |
Where-Object -Property Name -ne 'Az.' |
ForEach-Object {
$currentVersion = [Version] $_.Version
$newVersion = [Version] (Find-Module -Name $_.Name).Version
if ($newVersion -gt $currentVersion) {
Write-Host -Object "Updating $_ Module from $currentVersion to $newVersion"
Update-Module -Name $_.Name -RequiredVersion $newVersion -Force
function GetWebSizes ($StartWeb)
{
$web = Get-SPWeb $StartWeb
[long]$total = 0
$total += GetWebSize -Web $web
$total += GetSubWebSizes -Web $web
$totalInMb = ($total/1024)/1024
$totalInMb = "{0:N2}" -f $totalInMb
$totalInGb = (($total/1024)/1024)/1024
$totalInGb = "{0:N2}" -f $totalInGb