Как я могу получить однострочный вывод в несколько строк в PowerShell?

Это моя команда, которую я использую:

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*
-1
задан 20 June 2017 в 15:14
2 ответа

Я согласен с Джеральдом, вопрос расплывчатый, вы можете перечислить каждую запись в элементе с использованием кода, предоставленного Джеральдом. Если по какой-то причине (которую я не могу понять) вам нужен вывод, чтобы показать каждый объект каталога в наборе результатов, это сделает следующее:

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
0
ответ дан 5 December 2019 в 19:42

Вы можете использовать параметр -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=...
1
ответ дан 5 December 2019 в 19:42

Теги

Похожие вопросы