Как добавить сортировку в сценарий powershell get-aduser?

#powershell #active-directory

#powershell #active-directory

Вопрос:

Я использую сценарий PowerShell для возврата всех групп объявлений, членом которых является идентификатор ПОЛЬЗОВАТЕЛЯ. Я хотел бы отсортировать memberof по алфавиту. Как я могу это сделать?

Скрипт, который я использую:

 get-aduser <userid> -Properties memberof | select -expand memberof
  

Что я пробовал:

 get-aduser <userid> -Properties memberof | select -expand memberof | Sort-object memberof
  

Добавление элемента объекта сортировки не сортирует его по алфавиту…чего мне не хватает?

Комментарии:

1. Просто сделайте | Sort-Object в конце. Поскольку у вас Expand есть свойство ‘memberOf’, теперь вы имеете дело со строковым массивом. Нет mor набор объектов со свойствами.

2. это был билет, спасибо. Можете ли вы дать ответ, чтобы я мог отдать вам должное?

3. Кажется, @marsze уже опередил меня.

Ответ №1:

Использование Select-Object with -Expand <property> вернет только значения <property> . Поэтому, когда вы передаете это в Sort-Object , свойство больше не существует.

Таким образом, вы можете либо изменить порядок, отсортировать по свойству без предварительного развертывания, либо развернуть, а затем отсортировать значения (без указания свойства):

 get-aduser <userid> -Properties memberof | select -expand memberof | sort
# or
get-aduser <userid> -Properties memberof | sort memberof
# or
get-aduser <userid> -Properties memberof | sort memberof | select -expand memberof