首页 > 解决方案 > PowerShell:将字符串附加到 Get-ADUser 查询的结果

问题描述

我想将字符串附加到 Get-ADUser 对象。

$VALUE =  "Something : Else " 

$RESULT = Get-ADUser -Filter 'givenName -eq "Joe" ' -Property * | 
             Select-Object -Property givenName, Surname, "$VALUE"

我得到了一些括号 {} 而不是“Else”

PS C:\> $RESULT 
givenName                  : Joe
Surname                    : Black
Something : Else           : {}

但我想要这个!

PS C:\> $RESULT 
givenName                  : Joe
Surname                    : Black
Something                  : Else

我尝试将 Get-ADUser 对象放入字符串数组,然后附加 $VALUE 但这不起作用。

有人有想法吗?

因为我必须将其保存到 CSV 文件中。

$RESULT | Export-CSV $DESTINATION -NoTypeInformation -Encoding UTF8 -Delimiter ';'

标签: powershellactive-directoryselect-object

解决方案


计算属性的语法使用带有Name/LabelExpression键的哈希表(您可以将其缩短为nand e)。

Name必须是字符串(您的自定义属性的名称),并且Expression必须是脚本块。

# long version
Select-Object -Property GivenName, Surname, @{Name = "Something"; Expression = {"Else"}}
# short version
select GivenName, Surname, @{n="Something";e={"Else"}}

推荐阅读