Skip to content

Instantly share code, notes, and snippets.

Mathias R. Jessen IISResetMe

  • Booking.com
  • Netherlands
View GitHub Profile
View XmlFileTreeGenerators.ps1
function Get-XmlFileTreeAppend
{
param(
[Parameter(ParameterSetName='Path', Mandatory=$true, Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
[string[]]
${Path},
[Parameter(ParameterSetName='LiteralPath', Mandatory=$true, ValueFromPipelineByPropertyName=$true)]
[Alias('PSPath')]
[string[]]
View Invoke-RegexTerror.ps1
function Invoke-RegexTerror
{
[CmdletBinding(DefaultParameterSetName = 'ToBeOrNotToBe')]
param(
[Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[int]$Count,
[Parameter(ParameterSetName = 'ToBeOrNotToBe')]
[switch]$Shakespeare,
View Get-ADLockedOutUser.ps1
function Get-ADLockedOutUser {
[CmdletBinding(DefaultParameterSetName = 'MultiDC')]
param(
[Parameter(Mandatory = $false, ParameterSetName = 'MultiDC')]
[string[]]$DCFilter = @('*'),
[Parameter(Mandatory = $true, ParameterSetName = 'PDCOnly')]
[switch]$PDCOnly
)
View s_client.ps1
using namespace System.Net.Sockets
using namespace System.Net.Security
using namespace System.Security.Cryptography.X509Certificates
function ConvertFrom-X509Certificate {
param(
[Parameter(ValueFromPipeline)]
[X509Certificate2]$Certificate
)
View lcg.class.ps1
class LCG
{
hidden [long]
$factor = 1140671485
hidden [long]
$offset = 12820163
hidden [long]
$modulus = 16777216
View Get-WebExceptionBody.ps1
function Get-WebExceptionBody
{
param(
[int]$Last
)
if(-not $PSBoundParameters.ContainsKey('Last')){
$Last = 1
}
View Test-WebRequest.class.ps1
using namespace System
using namespace System.Net
using namespace System.Text
using namespace System.IO
class Test
{
# Specify the URL to receive the request.
static Run([string[]]$arguments)
{
@IISResetMe
IISResetMe / gist:e0c20ce4fdbab7e19a75255e9d4787d1
Created Nov 26, 2019
Signing XML documents with PowerShell
View gist:e0c20ce4fdbab7e19a75255e9d4787d1
Add-Type -AssemblyName System.Security
function Sign-XML {
Param ( [xml]$xml, [System.Security.Cryptography.X509Certificates.X509Certificate2]$certificate )
[System.Security.Cryptography.xml.SignedXml]$signedXml = $NULL
$signedXml = New-Object System.Security.Cryptography.Xml.SignedXml -ArgumentList $xml
$signedXml.SigningKey = $certificate.PrivateKey
$keyInfo = New-Object System.Security.Cryptography.Xml.KeyInfo
View CustomSortedDictionary.ps1
using namespace System.Collections.Generic
# First we define our comparer
class SortPropertyFirstComparer : IComparer[string]
{
[int]Compare([string]$a,[string]$b)
{
if($a -ceq 'Property'){
return -1
}
View MeasureStringAdd.ps1
# download and install https://github.com/IISResetMe/MeasureScript/tree/master/src
Import-Module MeasureScript
Measure-Script -ScriptBlock {# use a stopwatch to measure performance
$stopwatch = [System.Diagnostics.Stopwatch]::StartNew()
# create a StringBuilder
$text = ""
# appending a string often
You can’t perform that action at this time.