|
需求是这样的,给员工重置密码,密码要是随机的,但是0和O i和I这些不要,防止误杀。
我用的方法是这样的,这是c#中web的一个方法,很给力。
1
2
| $Assembly = Add-Type -AssemblyName System.Web
$global:passwordrandom = [System.Web.Security.Membership]::GeneratePassword(8, 1)
|
代码简短,问题也有,那就是数字完全随机,剔除不了不需要的东西。
所以九叔用下面的方法来实现
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| $mimacount =8 #密码位数
#取得第一位密码
function suijimima {
$mimahalf =$mimacount/2 #密码总数一半,用做下一次随机取值的依据
$mimaarray = @{x= 1..$mimahalf} #密码取值的阵列
$global:mimax =($mimaarray.x|get-random -Count 1)
echo 当前取得密码为 $mimax
$global:mimacount=$mimacount -$mimax
#echo 密码计数器被缩小为 $mimacount
}
suijimima
suijimima
suijimima
echo 当前取得密码为
$global:mimacount
|
首先是8位密码,我分成4个部分,分别是数字、小写、大写、符号,每个部分分一些。
这样一个密码就可以包含4种元素,而且这四种元素的数量是不同的
########
今天有点忙,还没写完,明天继续
|
|
|
|
|
|
|