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

标签 c# powershell

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

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

最佳答案

函数AddArgumentAddParameter直接修改参数值。这意味着如果有人试图在同一个字符串中注入(inject)另一个命令,它将不起作用,参数只会设置为该字符串。有点像参数化查询。

关于c# - 如何使用用户输入的字符串参数从 C# 安全地执行 powershell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34950242/

相关文章:

json - 通过 CLI 进行 Azure ARM 模板部署失败,并出现 .ps1 脚本扩展错误

database - 在 Azure powershell cmdlet 中监视 Start-AzureSqlDatabaseCopy

rest - 如何将 PowerShell 调用 webrequest 与 Windows 身份验证和用户名\密码一起使用

powershell - 并行运行Quest cmdlet并将输出保存到文件

c# - 如何使用 web api 在请求头中添加 api key

c# - 如何在 C# 中表示国家和语言?

c# - 将一种语言的语音转换为另一种语言

c# - 为什么这个特定的 PowerShell 命令在 .NET 6 中失败(它曾经在 .NET 4 中工作)

powershell - 在 Powershell 中将变量作为开关参数传递

c# - monodevelop 中如何访问System.Speech 框架?