在写主机输出中获得双引号

200*_*0mg 3 powershell

我需要在GUID = $ ntds输出周围得到一些双引号.我试过用双引号括起整个字符串无济于事.单引号因变量而无效.

$Site=Read-Host "ENTER SITE NAME"
$Server=Read-Host "ENTER SERVER NAME"


$NTDS=Get-ADObject -Identity "CN=NTDS Settings,CN=$server,CN=Servers,CN=$site,CN=Sites,CN=Configuration,$((Get-ADDomain).DistinguishedName)" |foreach {$_.objectguid} 
write-host "Repadmin /showobjmeta" * "<GUID=$ntds>"
Run Code Online (Sandbox Code Playgroud)

Rah*_*hul 8

你可以使用另一对双引号来逃避

Write-Host "hello ""200mg"""
Run Code Online (Sandbox Code Playgroud)

哪个会输出 hello "200mg"

你的情况就是这样

write-host "Repadmin /showobjmeta""<GUID=$ntds>"""
Run Code Online (Sandbox Code Playgroud)

  • 有关在Powershell中转义字符的更多信息,请参见http://ss64.com/ps/syntax-esc.html。 (2认同)