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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] опрос AD по фамилии с последующим запросом

Ответить
Настройки темы
PowerShell - [решено] опрос AD по фамилии с последующим запросом

Аватара для Elven

Ветеран


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

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


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

Отправлено: 12:39, 14-09-2018

 

Ветеран


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

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


Код: Выделить весь код
$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

Последний раз редактировалось Kazun, 14-09-2018 в 13:12.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:54, 14-09-2018 | #2



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

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


Аватара для Elven

Ветеран


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

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


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

Последний раз редактировалось Elven, 14-09-2018 в 13:40.


Отправлено: 13:27, 14-09-2018 | #3


Аватара для Elven

Ветеран


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

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


Такая возникла проблема: если пользователь с указываемой фамилией один - ловлю такую ошибку
Код: Выделить весь код
Не удается сравнить "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

Отправлено: 10:41, 11-10-2018 | #4


Ветеран


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

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


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

Последний раз редактировалось Kazun, 11-10-2018 в 11:11.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:54, 11-10-2018 | #5

za1 za1 вне форума

Аватара для za1

Старожил


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

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


Цитата Kazun:
Когда один пользователь возвращается, то будет ошибка.
Код: Выделить весь код
$users = @(Get-ADUser -Filter "SurName -eq '$UserName'")
»
Это вы его принудительно массивом сделали?

Отправлено: 12:25, 11-10-2018 | #6


Ветеран


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

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


Цитата za1:
Это вы его принудительно массивом сделали? »
Ага .
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:57, 11-10-2018 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] опрос AD по фамилии с последующим запросом

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - dsquery computer с запросом фамилии mahuz5 Скриптовые языки администрирования Windows 2 20-07-2017 15:00
2016 - Поиск контакта по Имени и Фамилии? sevastr Microsoft Office (Word, Excel, Outlook и т.д.) 0 23-10-2016 06:33
PowerShell - Создание пользователей в AD (с запросом данных) rudimko Скриптовые языки администрирования Windows 15 02-04-2014 16:33
2008 R2 - [решено] AD, LDAP - Organizational Unit, Containers и поиск запросом LDAP Negativ Windows Server 2008/2008 R2 6 17-11-2010 10:15
На каком сайте можно узнать по имени и фамилии жителей Германии micro8 Хочу все знать 2 21-06-2010 15:54




 
Переход