Skip to content

Instantly share code, notes, and snippets.

View santisq's full-sized avatar

Santiago Squarzon santisq

View GitHub Profile

storageAccountKeyRotation.ps1

This automation finds and rotates Keys that are created after specified $dayLimit.
Additionally, finds and updates the Environment Variables (if any) of Function Apps associated with the rotated Key.

functionAppConnectionStrings.ps1

This automation finds and updates any Environment Variable having a connection string that does not match with their associated Storage Account connection string.

Required Modules

static unsafe void ToTitleCase(string input)
{
if (input.Length == 0)
{
return;
}
fixed (char* chars = input)
{
bool startOrNotLetter = true;
@santisq
santisq / handles.cs
Last active January 31, 2025 21:17
some thing about handles
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.InteropServices;
namespace HandleStuff
{
public class SystemHandle
{
private readonly SYSTEM_HANDLE _handle;
New-Module TestModule {
function Test-InvokeUsingCmdlet {
[CmdletBinding()]
param(
[Parameter(ValueFromPipeline)]
[psobject] $InputObject,
[Parameter(Mandatory, Position = 0)]
[scriptblock] $Scriptblock
)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Management.Automation;
using System.Management.Automation.Language;
using System.Text;
using System.Threading;
[Cmdlet(VerbsOther.Use, "Object")]
[Alias("use")]
using namespace System.Management.Automation
function Stop-PowerShell {
param(
[Parameter(Mandatory, ValueFromPipeline)]
[System.Diagnostics.Process] $Process,
[Parameter()]
[ValidateRange(1, [int]::MaxValue)]
[int] $TimeoutSeconds = 10)
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.IO;
using System.Management.Automation;
using Microsoft.PowerShell.Commands;
[EditorBrowsable(EditorBrowsableState.Never)]
public abstract class CmdletWithPathBase : PSCmdlet
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Management.Automation;
using System.Security;
using System.Text;
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
using System.Timers;
public sealed class TitleChange : EventArgs
{
public DateTime TimeGenerated { get; } = DateTime.Now;
Add-Type @'
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.IO;
using System.Management.Automation;
using System.Runtime.InteropServices;
using Microsoft.PowerShell.Commands;