отображение информации от двух объектов в PowerShell - PullRequest
0 голосов
/ 26 мая 2020

Я хочу отображать информацию из скайпа и из AD рядом друг с другом. ( Я задаю это как конкретный c вопрос, но я чаще сталкивался с этим ).
упрощенная версия будет такой:

get-csuser | ForEach-Object { $_.displayname,(Get-ADUser -Identity $_.samaccountname -Properties officephone).officephone  } | ft  

Это покажет мне отображаемое имя из скайпа и номер телефона из AD. Но он будет отображать его как новые строки, а я бы хотел, чтобы он был в одной удобной таблице.
Как лучше всего этого добиться?
Спасибо

Ответы [ 2 ]

2 голосов
/ 26 мая 2020

Я думаю, вы ищете "вычисляемые свойства" в Select-Object. name - это ваша метка, а выражение - блок сценария. Обе они заключены в таблицу ha sh.

@{ Name = '';  Expression = {}}

Итак, для вашего кода это может быть так (не проверял синтаксис):

get-csuser | ForEach-Object { $_.displayname, @{ n= 'officePhone'; e = { (Get-ADUser -Identity $_.samaccountname -Properties officephone).officephone } } 

Примечание: мы можем использовать короткие руки для имени и выражения.

Ссылка: Дополнительные примеры

1 голос
/ 26 мая 2020

Может быть, это вам поможет.

$list = foreach ($process in (Get-Process)) {
        [PSCustomObject]@{
            ProcessID = $process.Id
            Name = $process.Name
        }
    }

$list | Format-Table

Конечно, вы настраиваете l oop для объектов, которые вводите информацию, которую хотите получить, но в целом это может помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...