Использование атрибутов get-aduser в качестве условных выражений

1633
mweldinger

У меня есть список сотрудников, которым нужен доступ по скайпу, и я собираюсь запустить сценарий создания пользователя из этого списка, но он будет запускаться только для людей, у которых msRTCSIP-UserEnabled не имеет нулевого значения.

Следующее покажет мне, если присутствует msRTCSIP-UserEnabled / True

get-aduser -identity $username -Properties msRTCSIP-UserEnabled 

Мне нужно использовать значение в качестве условия в чем-то вроде

foreach($username in $userlist) {  if (get-aduser -identity $username -Properties msRTCSIP-UserEnabled -eq $null)   else   } 

У меня все это работает / выводится правильно, но, похоже, не могу понять, как использовать значение атрибута msRTCSIP-UserEnabled в качестве условия. Я попытался осмотреться, но все, что я вижу на этом, для извлечения информации из AD, а не определенного списка файлов.

1
Punt: попробуйте сохранить значение в переменной, прежде чем проверять его в операторе if. Прошло несколько лет с тех пор, как я писал сценарии, поэтому я не уверен в лучшем синтаксисе, но условие if (часть в скобках) кажется мне подозрительным. Разделение значения в переменную упростит условие if. Bob Smiley 6 лет назад 0
Это именно то, что я должен был сделать. mweldinger 6 лет назад 0

2 ответа на вопрос

0
leinad13

Я не уверен, что полностью понимаю ваш вопрос, но будет ли что-то вроде этой работы?

foreach ($username in $userlist) { $aduser = get-aduser -Identity $username -Properties msRTCSIP-UserEnabled  if ($aduser.'msRTCSIP-UserEnabled' -ne $null) { ##Code to Run user creation / output script } } 
Похоже, вы правильно поняли. В основном мне нужно использовать значение атрибута AD msRTCSIP-UserEnabled, чтобы определить, выполнять или нет создание пользователя lync. Как мне хранить только атрибут msRTCSIP-UserEnabled? mweldinger 6 лет назад 0
0
mweldinger

С некоторой помощью leinad13 я понял это.

foreach ($Username in $userlist)  {  $User = get-aduser $username -properties msRTCSIP-UserEnabled $LyncStatus = $User.'msRTCSIP-UserEnabled'   if ($lyncstatus -notlike "True") { #run add lync user script } }