被解释的变量内部的变量

时间:2018-10-09 01:46:15

标签: powershell powershell-v2.0 powershell-v3.0

所以我有一个很长的命令,它是一个模糊的脚本(Powerview),我想做的是包括将命令写入另一个.psm1,但是模糊的脚本中的一个变量正在被解释,并在写入时被翻译。新的.psm1。我真正感到困惑的是,我接受了此命令并将其放入自己的.psm1中,效果很好。

所以这是命令:

$p1="(nEw-oBjEct  SysTeM.iO.streamReAder( (nEw-oBjEct  Io.comPressIon.DefLaTesTREAM( [iO.meMORystReAm][sysTEm.COnveRT]::frOmbaSe64StRinG('BASE64STUFFHERE=='), [iO.cOmpressIOn.COmpResSiOnmOde]::DeCOMprESs )),[teXt.eNCOdInG]::ascii)).ReADtoeND( ) | &( $vErbOsEpReferENce.tOStrinG()[1,3]+'X'-jOIN'')"

发生的是$ verbosereference.tostring被转换为“ SilentlyContinue.tostring”,这是不正确的。

所以我想问题是如何防止该变量被解释?我尝试用单引号转义,但这不能正常工作

1 个答案:

答案 0 :(得分:0)

我不是以双引号开头,而是以单引号开头,然后用双引号将base64命令引用并有效