Skip to content

Instantly share code, notes, and snippets.

View IISResetMe's full-sized avatar

Mathias R. Jessen IISResetMe

  • Booking.com
  • Netherlands
View GitHub Profile
@IISResetMe
IISResetMe / MagicNumber.class.ps1
Created December 19, 2020 21:18
ECMA-335 SpecialName-based operator overloading in PowerShell classes
class MagicNumber
{
hidden [int] $_value
MagicNumber([int]$value)
{
$this._value = $value
}
# ECMA-335 I.10.3.2
function ConvertTo-List
{
param(
[Parameter(Mandatory = $true, ValueFromPipeline = $true)]
[object[]]$InputObject
)
begin {
$list = [System.Collections.Generic.List[object]]::new()
}
function Fake-Progress
{
$PSDefaultParameterValues['Write-Progress:Activity']='Making stuff up'
Write-Progress -Status 'Starting out' -PercentComplete 5
10..45|%{
Write-Progress -Status 'Doing stuff' -PercentComplete $_
Start-Sleep -Milliseconds 100
}
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[]]
function Invoke-RegexTerror
{
[CmdletBinding(DefaultParameterSetName = 'ToBeOrNotToBe')]
param(
[Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[int]$Count,
[Parameter(ParameterSetName = 'ToBeOrNotToBe')]
[switch]$Shakespeare,
function Get-ADLockedOutUser {
[CmdletBinding(DefaultParameterSetName = 'MultiDC')]
param(
[Parameter(Mandatory = $false, ParameterSetName = 'MultiDC')]
[string[]]$DCFilter = @('*'),
[Parameter(Mandatory = $true, ParameterSetName = 'PDCOnly')]
[switch]$PDCOnly
)
using namespace System.Net.Sockets
using namespace System.Net.Security
using namespace System.Security.Cryptography.X509Certificates
function ConvertFrom-X509Certificate {
param(
[Parameter(ValueFromPipeline)]
[X509Certificate2]$Certificate
)
class LCG
{
hidden [long]
$factor = 1140671485
hidden [long]
$offset = 12820163
hidden [long]
$modulus = 16777216
function Get-WebExceptionBody
{
param(
[int]$Last
)
if(-not $PSBoundParameters.ContainsKey('Last')){
$Last = 1
}
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)
{