我需要使用C#.net执行powershell脚本,所以我关心的是生产环境中的安全性,是否安全使用C#.net执行powershell脚本。如果没有什么方法可以确保安全性,我还需要从C#.net代码动态传递参数。对于使用c#.net。
执行powershell脚本的安全性,任何帮助/建议都会很好提前完成
答案 0 :(得分:1)
除了Filburt的回复,你可以在下面的线程中找到帮助,以便动态地将参数传递给你的脚本:
Using C# to execute PowerShell script with command line args using V2 methods
答案 1 :(得分:1)
关于安全问题:
无论你做什么,都不要盲目地对待用户数据!如果你从8月份开始在互联网上度过任何时间,你可能已经听说过ShellShock Bash bug,它在世界各地都有系统管理员争先恐后更新他们的Bash客户端,因为否则会有很大的潜在意外代码执行。永远不要信任用户数据,永远!
在将涉及用户数据的任何命令发送到PowerShell之前,请验证该命令。根据允许的命令,路径和标志的白名单进行验证。如果没有正确验证,请不要执行它。同时检查用户权限,以便用户A不会影响来自用户B的数据。使用PS执行的确切命令记录每个执行的命令(您可能需要通过应用程序完成)。如果可能,请使用仅具有正确文件夹访问权限的用户运行命令,并且只具有这些命令的执行权限。