Skip to content

Instantly share code, notes, and snippets.

View Froosh's full-sized avatar

Robin Frousheger Froosh

View GitHub Profile
@Froosh
Froosh / B2C_1A_PasswordResetDemo.xml
Created June 3, 2021 06:57
Azure AD B2C Password Reset Demo with Predicate Validation
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TrustFrameworkPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
PolicySchemaVersion="0.3.0.0"
TenantId="__B2CTenantName__"
PolicyId="__BaseFileName__"
DeploymentMode="__deployment_mode__"
PublicPolicyUri="https://__B2CTenantName__/__BaseFileName__">
@Froosh
Froosh / Set-NonDefaultKDSConfig.ps1
Last active October 26, 2021 12:36
Set-KDSConfiguration for non-default KDS Root Key generation in Windows Server 2022. Do this **before** running Add-KdsRootKey as there is (probably) no _supported_ way to remove existing KDS Root Keys from an AD.
#Requires -Version 5.1
#Requires -RunAsAdministrator
Param (
# Woo, Password Based Key Derivation Function number 2
[ValidateSet('PBKDF2', 'SP800_108_CTR_HMAC')]
[string]
$KdfAlgorithm = 'PBKDF2',
# Honestly, SHA512 is the default on Server 2022, but this might also work on older Server versions
@Froosh
Froosh / combinedEndpoints.bicep
Created December 10, 2022 12:48
Combine the primary and secondary endpoints from a storage account into one object of arrays, rather than two separate objects
var storage = {
properties: {
primaryEndpoints: {
dfs: 'https://frooshtinkering.dfs.core/'
web: 'https://frooshtinkering.z26.web.core/'
blob: 'https://frooshtinkering.blob.core/'
queue: 'https://frooshtinkering.queue.core/'
table: 'https://frooshtinkering.table.core/'
file: 'https://frooshtinkering.file.core/'
}
@Froosh
Froosh / Remove-OldModules.ps1
Last active December 6, 2023 00:46
Remove old modules, useful for after a few Az or Microsoft.Graph metamodule upgrades
Get-InstalledPSResource -Scope CurrentUser |
Group-Object -Property Name |
ForEach-Object -Process {
$VersionsToRemove = $PSItem.Group | Sort-Object -Property Version -Descending | Select-Object -Skip 1
foreach ($Version in $VersionsToRemove) {
Uninstall-PSResource -Verbose -Name $Version.Name -Version $Version.Version -SkipDependencyCheck
}
}