Это моя команда, которую я использую:
PS U:\> Get-ADUser paul -properties memberof | fl memberof
, и мой вывод выглядит следующим образом :
memberof : {CN=WLAN-Allow,OU=Groups,OU=Users,OU=at,....}
Итак, мой вопрос в том, как мне отформатировать однострочный вывод во что-то, что должно выглядеть как список:
memeberof :
- CN=WLAN-Allow
- OU=Groups
- OU=Users
- OU=at*
Я согласен с Джеральдом, вопрос расплывчатый, вы можете перечислить каждую запись в элементе с использованием кода, предоставленного Джеральдом. Если по какой-то причине (которую я не могу понять) вам нужен вывод, чтобы показать каждый объект каталога в наборе результатов, это сделает следующее:
Get-ADUser paul -properties memberof | select -ExpandProperty memberof | %{
$x = $_.Split(',');
foreach($y in $x) {
if($y -like 'CN=*') {
$y
} else {
"`t$y"
}
}
}
Выводит как:
CN=Group One
OU=Old AD Groups
OU=Groups
OU=GB
DC=Company
DC=net
CN=Group 2
OU=Groups
OU=Nested
OU=GB
DC=Company
DC=net
Вы можете использовать параметр -ExpandProperty
для select
:
Get-ADUser paul -Properties memberof | Select -ExpandProperty memberof
Результатом будет одна строка для каждого элемента в списке. Я предполагаю, что это именно то, что вы хотите, результат вашего примера не имеет особого смысла.
CN=WLAN-Allow,OU=Groups,OU=Users,OU=at
CN=Group 2,OU=...
CN=Group 3,OU=...