PDA

Показать полную графическую версию : [решено] опрос AD по фамилии с последующим запросом


Elven
14-09-2018, 12:39
Есть скрипт творящий некоторые безобразия с доменным пользователем. Сделан он был на скорую руку, а теперь захотелось его немного доработать (чисто косметика, так сказать). К пользователю он цепляется по SamAccountName, что задается вот таким макаром:
Param (
[string]$UserName
)
Хотелось бы сделать приблизительно так: вводим, например, фамилию пользователя (пусть будет $Surname), скрипт выводит нумерованный список совпадений вводим нужный номер выполняется весь остальной скрипт для выбранного пользователя. Т.е. приблизительно так (для пользователя Иванов Петр):
.\script.ps1 -Surname Иванов
[1] Иванов Иван
[2] Иванов Петр
[3] Иванова Наталья
2
Творим безобразия с Иванов Петр

Kazun
14-09-2018, 12:54
$users = Get-ADUser -Filter "SurName -eq '$UserName'"
if($users) {
for ($i=1;$i -le $users.count; $i++) {
"[$i] $($users[$i-1].name)"
}

$ans = Read-Host 'Enter selection'
$user = $users[$ans-1]
}

$user

Elven
14-09-2018, 13:27
Идеально, спасибо. Единственно под себя подправил одну строчку
$users = Get-ADUser -Filter "SurName -like '$UserName*'"

Elven
11-10-2018, 10:41
Такая возникла проблема: если пользователь с указываемой фамилией один - ловлю такую ошибку
Не удается сравнить "1" с "". Ошибка: "Не удается преобразовать значение "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection" типа "Microsoft.ActiveDirectory.Management.ADPropertyValueCollection" в тип "System.Int32"."
D:\ps1\user_sn.ps1:8 знак:12
+ for ($i=1;$i -le $users.count; $i++) {
+ ~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : ComparisonFailure

Kazun
11-10-2018, 10:54
Когда один пользователь возвращается, то будет ошибка.
$users = @(Get-ADUser -Filter "SurName -eq '$UserName'")

za1
11-10-2018, 12:25
Когда один пользователь возвращается, то будет ошибка.
$users = @(Get-ADUser -Filter "SurName -eq '$UserName'") »

Это вы его принудительно массивом сделали?

Iska
11-10-2018, 19:57
Это вы его принудительно массивом сделали? »
Ага :).




© OSzone.net 2001-2012