Powershell 编码命令未执行

Powershell Encoded Command not executing

我有一个 powershell 脚本,它作为 installshield 安装程序的一部分在 Windows 10.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

执行策略设置为"Bypass",我只是想知道windows registry/settings/security/group policies/etc中是否有内容。这会阻止像这样的编码命令吗?为什么它以纯文本形式工作而不是编码形式? Powershell 版本与它有什么关系吗?

原来 AV 在编码命令上有一个块。谢谢@TessellatingHeckler