我试图使用 Powershell 的 -EncodedCommand 标志弹出一个简单的消息框,但它一直失败。我在过去的几个小时里尝试过谷歌搜索,但似乎无法正常工作。它几乎看起来像一个编码错误,但我使用的是常规 UTF-8 和标准 ASCII 向后兼容字符。
一直失败的命令:
Powershell.exe -EncodedCommand QWRkLVR5cGUgLUFzc2VtYmx5TmFtZSBQcmVzZW50YXRpb25Db3JlLFByZXNlbnRhdGlvbkZyYW1ld29yaztbU3lzdGVtLldpbmRvd3MuTWVzc2FnZUJveF06OlNob3coJ3dvcmtpbmcnKTs=
b64解码后的命令是:
Add-Type -AssemblyName PresentationCore,PresentationFramework;[System.Windows.MessageBox]::Show('working');
我缺少什么?感谢您帮助解决我的菜鸟问题
Base64 编码的字符串传递给-EncodedCommand
必须对 a 的字节表示进行编码UTF-16LE(“Unicode”)字符串- UTF-8 是not支持的:
$cmd = 'Add-Type -AssemblyName PresentationCore,PresentationFramework;[System.Windows.MessageBox]::Show(''working'')'
$encodedCmd = [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($cmd))
powershell.exe -EncodedCommand $encodedCmd
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)