带有$ _的Powershell意外输出。在字符串中

时间:2016-07-19 07:33:29

标签: powershell

运行以下脚本片段

Get-ADComputer  -Filter '*'| ForEach-Object { 
    Write-output "testing $_.DnsHostName"
    #Do more with $_
}

我明白了:

testing CN=CO-ID96407D,OU=Contoso Computers,OU=Contoso Organisation,DC=contoso.DnsHostName

但我期待的是

testing CO-ID96407D.contoso

有谁知道我在这里做错了什么,我只想输出DnsHostName的{​​{1}}成员,但它似乎只是输出$_对象的默认输出成员

2 个答案:

答案 0 :(得分:2)

您正在字符串中创建子表达式,因此您必须在$(...)中包装它:

Write-output "testing $($_.DnsHostName)"

或者你可以使用格式字符串:

Write-output "testing {0}" -f $_.DnsHostName

答案 1 :(得分:1)

Write-output "testing $($_.DnsHostName)"