$随机数位数 = 8
[string]$结果 = "a","b","c","d","e","f","g","h","i","j","k","m","n","p","q","r","s","t","u","v","w","x","y","z" | Get-Random
Start-Sleep -m 88
#某些网站有别扭的要求“密码首字符必须为字母”,所以本程序首字符,固定为小写字母,
for ($i=1;$i -lt $随机数位数;$i++)
{
$小写字母 = "a","b","c","d","e","f","g","h","i","j","k","m","n","o","p","q","r","s","t","u","v","w","x","y","z" | Get-Random
#小写字母没有字母 l
Start-Sleep -m 88
$数字 = "2","3","4","5","6","7","8","9" | Get-Random
#没有0,1
Start-Sleep -m 88
$随机种子 = "0","1","2" | Get-Random
Start-Sleep -m 88
$大写字母 = "A","B","C","D","E","F","G","H","J","K","L","M","N","P","Q","R","S","T","U","V","W","X","Y","Z" | Get-Random
#大写字母没有字母 I,O
if ($随机种子 -eq 0)
{
$结果 = $结果 + $小写字母
}
elseif ($随机种子 -eq 1)
{
$结果 = $结果 + $数字
}
else
{
$结果 = $结果 + $大写字母
}
}
# Get-Random -Count $随机数位数 -InputObject (65..90) | % -begin {$aa=$null} -process {$aa += [char]$_} -end {$aa}
<#
hu yang(1129009950) 2013-05-04 22:53:40
-join ([char[]]@(33..125) | Get-Random -count 8)
和这个相比,那个弱爆了。
哎呀呀,我(piapia熊)被喷了,呵呵~~
1我这个脚本简单明了,又是教学脚本,又实用。
2可以控制每一个字符(大写字母没有字母 I,O),(第一个密码固定为小写字母),容易控制有没有大写字母,有没有符号等。
3另外 Get-Random -count 是有缺点的,并不是很随机,你a-z取多个字符,搞几万次,看看结果有规律没?
4另外 Get-Random 也是有缺点的,并不是很随机,所以要sleep一小会。
不过欢迎给任何人的脚本挑毛病,欢迎pk,
这就好像有的人下围棋注重全局,有的人注重边角的厮杀!
任何人在写代码的时候,细节的语句都有很渣的地方。
#>
if (($结果 -match "\d+" ) -and ($结果 -cmatch "[A-Z]+"))
{
write-host $结果
}