有没有办法验证powershell脚本?

时间:2012-05-30 08:43:30

标签: c# powershell

我的应用程序允许用户输入稍后将为您运行的powershell脚本。有没有一种直接的方法可以在不运行PowerShell脚本的情况下验证它,以便当用户输入它时程序可以报告语法错误?

感谢。

3 个答案:

答案 0 :(得分:6)

在PowerShell v2中,您拥有可以在不运行脚本的情况下处理脚本的标记生成器。查看类System.Management.Automation.PSParser及它的静态方法Tokenize:

http://msdn.microsoft.com/en-us/library/system.management.automation.psparser(v=vs.85).aspx

在v3中它变得更好,有完整的语言命名空间/ AST支持:

http://msdn.microsoft.com/en-us/library/system.management.automation.language(v=vs.85).aspx

HTH 鲍尔泰克

答案 1 :(得分:4)

请查看:ScriptCop和此question too

答案 2 :(得分:3)

我编写了一个自动化过程的函数:Test-PSScript,你可以找到它on my blog