forked from fleschutz/PowerShell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
list-passwords.ps1
executable file
·43 lines (40 loc) · 962 Bytes
/
list-passwords.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<#
.SYNOPSIS
Lists random passwords
.DESCRIPTION
This script lists random passwords.
.PARAMETER PasswordLength
Specifies the length of the password
.PARAMETER Columns
Specifies the number of columns
.PARAMETER Rows
Specifies the number of rows
.EXAMPLE
PS> ./list-passwords
.NOTES
Author: Markus Fleschutz · License: CC0
.LINK
https://github.com/fleschutz/PowerShell
#>
param([int]$PasswordLength = 15, [int]$Columns = 6, [int]$Rows = 30)
$MinCharCode = 33
$MaxCharCode = 126
try {
write-output ""
$Generator = New-Object System.Random
for ($j = 0; $j -lt $Rows; $j++) {
$Line = ""
for ($k = 0; $k -lt $Columns; $k++) {
for ($i = 0; $i -lt $PasswordLength; $i++) {
$Line += [char]$Generator.next($MinCharCode,$MaxCharCode)
}
$Line += " "
}
write-output "$Line"
}
write-output ""
exit 0 # success
} catch {
"⚠️ Error: $($Error[0]) ($($MyInvocation.MyCommand.Name):$($_.InvocationInfo.ScriptLineNumber))"
exit 1
}