public/New-Password.ps1

function New-Password(){
    param()

    [byte]$randomnumber = get-random -Minimum 10 -Maximum 15

    $randomObject = New-Object -typename 'System.Random'
    $randomString = ""
    1..$randomnumber | % { $randomString = $randomString + [char]$randomObject.Next(33,126) }

    $list = [system.collections.generic.list[string]]::new()
    $list.add('@')
    $list.add('!')
    $list.add(',')
    $list.add(']')
    $list.add('[')
    $list.add('#')
    $list.add('$')
    $list.add('{')
    $list.add('}')
    $list.add('/')
    $list.add('\')
    $list.add('&')
    $list.add('%')

    "$($randomstring.replace('`', ',').replace("'", ',').replace('O', 'P').replace('0', '1').replace('l', 'k').replace('I', 'i'))$(get-random -inputobject $list)$(get-random -inputobject $list)"

}