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

如何使用用户输入的字符串参数从C#安全地执行powershell脚本?,c#,powershell,C#,Powershell,我想使用System.Management.Automation,运行一个简单的powershell命令,使用用户指定的参数(表示注释的字符串)。似乎这可能是一个安全问题,因为可能有一种方法可以将代码注入此输入 那么,有没有什么方法可以确保这一点,并且只允许它们指定字符串输入?函数并直接更改参数值。这意味着,如果有人试图在同一个字符串中插入另一个命令,它将不起作用,参数将被设置为该字符串。类似于参数化查询。您可以使用“进程以参数开头”吗?一个技巧是确保只允许a-Z和空格。如果还有别的东西,把它剥

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


那么,有没有什么方法可以确保这一点,并且只允许它们指定
字符串
输入?

函数并直接更改参数值。这意味着,如果有人试图在同一个字符串中插入另一个命令,它将不起作用,参数将被设置为该字符串。类似于参数化查询。

您可以使用“进程以参数开头”吗?一个技巧是确保只允许a-Z和空格。如果还有别的东西,把它剥掉。假设这至少是美国的消费。如果你需要更多的字符,那么。。。