sco*_*eep 5 c# powershell scripting syntax-checking
他们无论如何都要在不执行它的情况下测试powershell脚本的正确性.我知道你可以在unix中做类似的事情,但是找不到PowerShell的等价物.
基本上我所拥有的是一个脚本存储库,其中每个脚本都与规则相关联.如果规则触发,则脚本会执行,但我需要确保脚本在放入存储库之前是有效的.
谢谢.
嗨,好吧,不幸的是-whatif命令还不够.它是我想要从C#运行时引擎检查的脚本的语法,如果引擎规则触发,它会触发脚本.在脚本触发之前,我写入了规则中的IList值,然后我将其解雇.但我需要确保它在语法上是正确的,否则我将不得不依赖规则编写器来确保它们是正确的,这是我不能做的,因为许多人会编写规则,只有一个duff脚本会带来发动机下来.我不能这样做,因为引擎是为六西格玛正常运行时间设计的企业级产品.
我认为这样做的方法是使用它,这是一个v2 lib.
http://msdn.microsoft.com/en-us/library/system.management.automation.parseexception(VS.85).aspx
我认为有一种方法可以创建一个ScriptBlock并尝试捕获它以捕获ParseException.有人可以告诉我该怎么做.这正成为一项真正的挑战.
谢谢.
嘿,我和MS的一个人谈过(他是下午的分享点),他和其中一个权威人士交谈过,他告诉我,在PowerShell v1中没有真正的方法来检查脚本的语法而不执行.所以我猜-whatif标志是最接近的,但它并不是一个不幸的静态检查器.好消息是,在v2中有一种方法可以通过Automation.PsParser类Tokenize成员来标记输入流.这将根据PS语法对脚本进行标记,因此如果它崩溃了,它就是一个废话脚本.问题是v2还没有发布日期.
感谢帮助.鲍勃.
归档时间: |
|
查看次数: |
3852 次 |
最近记录: |