显示来自PowerShell中两个对象的信息



我想并排显示来自Skype和AD的信息。(我把这个问题作为一个具体问题来问,但我经常遇到这个问题(。
简化版本是这样的:

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

这将向我显示来自Skype的显示名称和来自AD的电话号码。但它会将其显示为新行,而我希望将其放在一个方便的表格中。
实现这一目标的最佳方法是什么?
谢谢

我认为您正在选择对象中查找"计算属性"。 名称是您的标签,表达式是脚本块。两者都包装在哈希表中。

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

所以,对于你的代码,它可以是这样的(没有检查语法(:

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

注意:我们可以使用简写来表示名称和表达。

链接 : 更多示例

也许这对你有帮助。

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

当然,您可以调整要获取的信息的对象循环,但通常这可能会有所帮助。

最新更新