nokogerra
04-10-2013, 07:29
Доброго времени суток. Использую ad модуль для posh 2, new-aduser командлет.
подключение модуля и функция для генерации рандом пароля
import-module activedirectory
Function Create-Password {
#How many characters in the password
[int]$passwordlength = 10
#Minimum Upper Case characters in password
[int]$min_upper = 3
#Minimum Lower Case characters in password
[int]$min_lower = 3
#Minimum Numerical characters in password
[int]$min_number = 3
#Minimum Symbol/Puncutation characters in password
[int]$min_symbol = 0
#Misc password characters in password
#[int]$min_misc = ($passwordlength - ($min_upper + $min_lower + $min_number + $min_symbol))
[int]$min_misc = ($passwordlength - ($min_upper + $min_lower + $min_number))
#Characters for the password
$upper = @("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")
$lower = @("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
$number = @(1,2,3,4,5,6,7,8,9,0)
$symbol = @("!","@","#","%","&","(",")","`"",".","<",">","+","=","-","_")
# $combine = $upper + $lower + $number + $symbol
$combine = $upper + $lower + $number
$password = @()
#Start adding upper case into password
1..$min_upper | % {$password += Get-Random $upper}
#Add lower case into password
1..$min_lower | % {$password += Get-Random $lower}
#Add numbers into password
1..$min_number | % {$password += Get-Random $number}
#Add symbols into password
# 1..$min_symbol | % {$password += Get-Random $symbol}
#Fill out the rest of the password length
1..$min_misc | % {$password += Get-Random $combine}
#Randomize password
Get-Random $password -count $passwordlength | % {[string]$randompassword += $_}
Return $randompassword
}
далее сам скрипт:
Import-Csv -Path "C:\scripts\1.csv" | ForEach-Object {$_.accountpassword=create-password; $p=ConvertTo-SecureString $_.accountpassword -asPlainText -force; New-ADUser -Name $_.name ..... -AccountPassword $p .... -logonworkstations $_.logonworkstations} | ConvertTo-Html name, samaccountname, accountpassword | out-file "c:\usr.html"
#ii c:\usr.html
пользователи создаются успешно, но в html не выводится отчет, вариант с ConvertTo-Html name, samaccountname, accountpassword >"c:\usr.html" тоже не работает.
csv файл такого типа:
name,samaccountname,accountpassword,displayname,logonworkstations
u022-stud-01,u022-stud-01,,u022-stud-01,pws022-stud-01
..........................
пользователи созданы с рандомными паролями но я их не знаю :D
подключение модуля и функция для генерации рандом пароля
import-module activedirectory
Function Create-Password {
#How many characters in the password
[int]$passwordlength = 10
#Minimum Upper Case characters in password
[int]$min_upper = 3
#Minimum Lower Case characters in password
[int]$min_lower = 3
#Minimum Numerical characters in password
[int]$min_number = 3
#Minimum Symbol/Puncutation characters in password
[int]$min_symbol = 0
#Misc password characters in password
#[int]$min_misc = ($passwordlength - ($min_upper + $min_lower + $min_number + $min_symbol))
[int]$min_misc = ($passwordlength - ($min_upper + $min_lower + $min_number))
#Characters for the password
$upper = @("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")
$lower = @("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
$number = @(1,2,3,4,5,6,7,8,9,0)
$symbol = @("!","@","#","%","&","(",")","`"",".","<",">","+","=","-","_")
# $combine = $upper + $lower + $number + $symbol
$combine = $upper + $lower + $number
$password = @()
#Start adding upper case into password
1..$min_upper | % {$password += Get-Random $upper}
#Add lower case into password
1..$min_lower | % {$password += Get-Random $lower}
#Add numbers into password
1..$min_number | % {$password += Get-Random $number}
#Add symbols into password
# 1..$min_symbol | % {$password += Get-Random $symbol}
#Fill out the rest of the password length
1..$min_misc | % {$password += Get-Random $combine}
#Randomize password
Get-Random $password -count $passwordlength | % {[string]$randompassword += $_}
Return $randompassword
}
далее сам скрипт:
Import-Csv -Path "C:\scripts\1.csv" | ForEach-Object {$_.accountpassword=create-password; $p=ConvertTo-SecureString $_.accountpassword -asPlainText -force; New-ADUser -Name $_.name ..... -AccountPassword $p .... -logonworkstations $_.logonworkstations} | ConvertTo-Html name, samaccountname, accountpassword | out-file "c:\usr.html"
#ii c:\usr.html
пользователи создаются успешно, но в html не выводится отчет, вариант с ConvertTo-Html name, samaccountname, accountpassword >"c:\usr.html" тоже не работает.
csv файл такого типа:
name,samaccountname,accountpassword,displayname,logonworkstations
u022-stud-01,u022-stud-01,,u022-stud-01,pws022-stud-01
..........................
пользователи созданы с рандомными паролями но я их не знаю :D