| 用途 | 执行动态生成的命令字符串 |
|---|---|
| 语法 | Invoke-Expression <字符串>;别名 iex |
| 风险 | 外部可控字符串进入 iex 等于任意代码执行 |
常用示例
常用示例
$cmd = 'Get-Date -Format yyyy-MM-dd'
Invoke-Expression $cmd
& 'C:\Windows\System32\notepad.exe' D:\logs\a.txt能用调用运算符(& $exe $args)或脚本块就不要用 iex;iex 也是攻击链中的高频执行方式。
把字符串当命令执行(类似 eval),灵活但风险高:涉及外部输入时可能造成命令注入。
| 用途 | 执行动态生成的命令字符串 |
|---|---|
| 语法 | Invoke-Expression <字符串>;别名 iex |
| 风险 | 外部可控字符串进入 iex 等于任意代码执行 |
$cmd = 'Get-Date -Format yyyy-MM-dd'
Invoke-Expression $cmd
& 'C:\Windows\System32\notepad.exe' D:\logs\a.txt