powershell - 在 powershell 中显示来自两个对象的信息
问题描述
我想在彼此旁边显示来自 Skype 和 AD 的信息。(我将此作为一个具体问题提出,但我经常遇到这个问题)。
简化版本是这样的:
get-csuser | ForEach-Object { $_.displayname,(Get-ADUser -Identity $_.samaccountname -Properties officephone).officephone } | ft
这将向我显示来自 Skype 的显示名称和来自 AD 的电话号码。但它会将其显示为新行,而我想将它放在一张方便的桌子上。
实现这一目标的最佳方法是什么?
谢谢
解决方案
我认为您正在 Select-Object 中寻找“计算的属性”。name 是您的标签,而 expression 是一个脚本块。两者都包装在哈希表中。
@{ Name = ''; Expression = {}}
因此,对于您的代码,它可以是这样的(没有检查语法):
get-csuser | ForEach-Object { $_.displayname, @{ n= 'officePhone'; e = { (Get-ADUser -Identity $_.samaccountname -Properties officephone).officephone } }
注意:我们可以使用简写来表示名称和表达。
链接:更多示例
推荐阅读
- python - 如何从 regex.split() 获得正确的输出?
- angular - Ionic 3 AdMob 错误:Object(...) 不是函数
- ruby-on-rails - Rails 中的命名空间表单对象
- c# - CAS 政策 - 无法打开表单设计器
- php - 语法错误,意外 '=>' (T_DOUBLE_ARROW),期待 ')' (查看:C:\xampp\htdocs\login\resources\views\pages\index.blade.php)
- asp.net - 如果我在模型上生成构造函数,是否需要生成新的迁移?
- python - 在 kmeans Lloyds 算法中计算距离
- android - Timertask Run() 方法不能工作更长的时间,比如 2 小时
- javascript - javascript push 导致 main 函数参数用于确认使用
- excel - 如何修复 ExcelVBA 错误中的自动大写