Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Серверные продукты Microsoft » Windows Server 2008/2008 R2 » 2008 R2 - [решено] posh: new-aduser ps1 convert-to-html

Ответить
Настройки темы
2008 R2 - [решено] posh: new-aduser ps1 convert-to-html

Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


Доброго времени суток. Использую 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

Отправлено: 07:29, 04-10-2013

 

Пользователь


Сообщения: 146
Благодарности: 23

Профиль | Отправить PM | Цитировать


Попробуйте вместо out-file "c:\usr.html" #ii c:\usr.html выполнить Set-Content <PATH_TO_HTML_FILE>

И что значит не выводится? он не формируется/формируется, но неправильно/не выводится в файл

-------
god is real unless declared as integer


Отправлено: 09:14, 04-10-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


файл формируется но пустой.
set-content вообще не формирует файл, наверное нужен командлет get типа, new-aduser не подходит, но каким образом сюда привязать get - не понятно, get-aduser не получает пароли.

Отправлено: 10:37, 04-10-2013 | #3


Старожил


Сообщения: 498
Благодарности: 44

Профиль | Сайт | Отправить PM | Цитировать


решено:

Function Create-Password {....

}


Function INCRZ() {$global:i++; return $global:PassArray[$global:i]}

# массив паролей

$PassArray=New-Object system.collections.Arraylist;
for ($i=0;$i -lt 10;$i++) {$temppass=create-password; $PassArray.Add($temppass)};
clear
$i=-1;
$y=-1;
Import-Csv -Path "C:\scripts\1.csv" | ForEach-Object {$y++; $p=ConvertTo-SecureString $PassArray[$y] -asPlainText -force; New-ADUser -Name $_.name ....}
Get-ADUser -Filter {cn -like "u022-stud-*"}| select Name, @{Name="Pass"; Expression = {INCRZ}}

Name Pass
---- ----
u022-stud-01 qaT6q7
u022-stud-02 mq5F7A
u022-stud-03 kTDVM3
u022-stud-04 LtTau9
u022-stud-05 53M4Cq
u022-stud-06 b3vZYH
u022-stud-07 qy9jS3
u022-stud-08 Azuj0S
u022-stud-09 FZkQ8M
u022-stud-10 J6RI9h

теперь можно конвертировать в html, нужно лишь знать количество создаваемых пользователей, чтобы указать предел i.

Отправлено: 07:36, 07-10-2013 | #4



Компьютерный форум OSzone.net » Серверные продукты Microsoft » Windows Server 2008/2008 R2 » 2008 R2 - [решено] posh: new-aduser ps1 convert-to-html

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - [решено] агрументы и параметры в сценариях PoSh Shkutu Скриптовые языки администрирования Windows 3 03-10-2013 13:45
2008 R2 - [решено] posh: set-aduser -name? nokogerra Windows Server 2008/2008 R2 6 01-10-2013 09:56
PowerShell - Поиск в Excel средствами PoSh Andrey111sk Скриптовые языки администрирования Windows 1 10-07-2013 00:08
[решено] WSH PoSH Ragnazar Хочу все знать 6 14-05-2012 14:11
Служба и PS1 Heretic_spb Microsoft Windows 2000/XP 0 11-12-2006 13:24




 
Переход