如何使用用户输入的字符串参数从 C# 安全地执行 powershell 脚本

本文关键字:安全 执行 脚本 powershell 参数 用户 何使用 输入 字符串 | 更新日期: 2023-09-27 18:31:31

我想使用 System.Management.Automation 来运行一个简单的 powershell 命令,其中包含用户指定的参数(表示注释的文本string)。 似乎这可能是一个安全问题,因为可能有一种方法可以将代码注入此输入。

那么有什么方法可以使其安全,并且只允许他们指定string输入?

如何使用用户输入的字符串参数从 C# 安全地执行 powershell 脚本

函数 AddArgument 和 AddParameter 直接更改参数值。这意味着,如果有人试图在同一字符串中注入另一个命令,它将不起作用,该参数只会设置为该字符串。与参数化查询有点相似。