tarasov.evgeny
12-04-2011, 13:36
Добрый день,
Возникла потребность написать функцию, которая по имени сотрудника( LogonName) выдавала бы данные из AD по сотруднику - контактные данные, данные об пароле и т.д.
Синтаксис простой:
Get-TUser -Name []
Name - это имя, фамилия или часть имени, фамилии.
Функция проверяет если такая трудно выговариваемая фамилия одна, она сразу выдает результат в противном случае выдает часть данных по всем вхождениям и просит уточнить, о ком идет речь.
Например, вводим Ivanov
получаем
Ivanov iva
ivanov evgeny
...
Далее скрипт просит уточнить, о ком идет речь. Нам нужен evgeny - пишем 2 и нажимаем Enter. Нам выдают результаты.
Иногда этот список очень большой, как добавить в таблицу уточнения порядковый номер?
Function Get-TUser ($Name)
{
$a = @(Get-QADUser -Name "*$Name*")
IF($a.length -eq [int]"1"){
$a | Format-List PostalCode,City,StreetAddress,Company,Department,PhoneNumber,M
obilePhone,DisplayName,Mail
"About account password"
$a | Format-List LogonName,PasswordAge,PasswordExpires,PasswordIsExpired,Passwo
rdLastSet,PasswordNeverExpires,PasswordStatus,UserMustChangePassword}
else{
#Список уточнения...
$a | Format-Table City,Department,Name,DisplayName -AutoSize
$b = Read-Host "Please specify the name.Please write the serial number"
$a[$b-1] | Format-List PostalCode,City,StreetAddress,Company,Department,PhoneNu
mber,MobilePhone,DisplayName,Mail
"About account password"
$a[$b-1] | Format-List LogonName,PasswordAge,PasswordExpires,PasswordIsExpired,
PasswordLastSet,PasswordNeverExpires,PasswordStatus,UserMustChangePassword}}
С уважением, Евгений
Возникла потребность написать функцию, которая по имени сотрудника( LogonName) выдавала бы данные из AD по сотруднику - контактные данные, данные об пароле и т.д.
Синтаксис простой:
Get-TUser -Name []
Name - это имя, фамилия или часть имени, фамилии.
Функция проверяет если такая трудно выговариваемая фамилия одна, она сразу выдает результат в противном случае выдает часть данных по всем вхождениям и просит уточнить, о ком идет речь.
Например, вводим Ivanov
получаем
Ivanov iva
ivanov evgeny
...
Далее скрипт просит уточнить, о ком идет речь. Нам нужен evgeny - пишем 2 и нажимаем Enter. Нам выдают результаты.
Иногда этот список очень большой, как добавить в таблицу уточнения порядковый номер?
Function Get-TUser ($Name)
{
$a = @(Get-QADUser -Name "*$Name*")
IF($a.length -eq [int]"1"){
$a | Format-List PostalCode,City,StreetAddress,Company,Department,PhoneNumber,M
obilePhone,DisplayName,Mail
"About account password"
$a | Format-List LogonName,PasswordAge,PasswordExpires,PasswordIsExpired,Passwo
rdLastSet,PasswordNeverExpires,PasswordStatus,UserMustChangePassword}
else{
#Список уточнения...
$a | Format-Table City,Department,Name,DisplayName -AutoSize
$b = Read-Host "Please specify the name.Please write the serial number"
$a[$b-1] | Format-List PostalCode,City,StreetAddress,Company,Department,PhoneNu
mber,MobilePhone,DisplayName,Mail
"About account password"
$a[$b-1] | Format-List LogonName,PasswordAge,PasswordExpires,PasswordIsExpired,
PasswordLastSet,PasswordNeverExpires,PasswordStatus,UserMustChangePassword}}
С уважением, Евгений