Powershell编码命令未执行

时间:2018-07-16 17:50:17

标签: powershell windows-10 installshield group-policy

我有一个Powershell脚本,该脚本在Windows 10的计算机上作为installshield安装程序的一部分运行。Powershell版本(主要:5,次要:1,内部版本17134,修订版112)。开发人员机器(一切正常)(主要:5,次要:1,内部版本15063,修订1155)

基本上,.bat脚本运行已编码的powershell命令,但未执行,我将其简化为一个简单的脚本以显示我在说什么:

Powershell脚本:

$text="Write-Output Hello"
$encoded=[Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($text))

Write-Output "Trying encoded command:"
powershell -EncodedCommand $encoded

Write-Output "Trying not encoded command:"
powershell $text

这是输出:

Trying encoded command:
Trying not encoded command:
Hello

我还添加了一条解码后的语句以进行其他检查:

$decoded = [System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String($encoded))
Write-Output "Decoded:"
Write-Output $decoded

输出:

Trying encoded command:
Trying not encoded command:
Hello
Decoded:
Write-Output Hello

执行策略设置为“绕过”,我只是想知道Windows注册表/设置/安全性/组策略/等中是否存在某些内容。会阻止像这样的编码命令?为什么它能以纯文本格式工作,但不能编码? Powershell版本可能与此有关吗?

1 个答案:

答案 0 :(得分:0)

结果是,AV中的编码命令有一个障碍。谢谢@TessellatingHeckler