时其反正来测试的powershell脚本的正确性,而不执行它。我知道你会做UNIX类似的东西,但无法找到PowerShell中的当量。

基本上我有什么是脚本库,其中每个脚本捆绑统治。如果规则火灾,脚本执行,但我需要确保脚本是有效的,其放置在仓库前。

感谢。

您好, 那么,不幸的是,-whatif命令是不够的。它的脚本我想从C#的运行时引擎,它触发一个脚本,如果引擎规则触发检查的语法。脚本火灾之前,我写了进去,IList的值从规则,然后我火了。不过,我需要确保它在语法上是正确的,否则我将不得不依靠规则作家,以确保它们是正确的,我不能这样做,因为很多人会写的规则,只有一个达夫脚本会带来发动机下来。我不能这样做,由于发动机是enterpise类产品设计用于六西格玛正常运行时间。

我想做到这一点的方法是使用这个,这是一个V2库。

HTTP:// msdn.microsoft.com/en-us/library/system.management.automation.parseexception(VS.85).aspx

我觉得这是创建一个脚本块,并把一个尝试捕捉周围赶上ParseException的方式。有人能告诉我该怎么做。这是成为一个真正的挑战。

感谢。

嘿 好了我跟在MS一个人(他的SharePoint PM)和他说话PowerShell的球员之一,他告诉我,有在PowerShell中V1没有真正的方法来检查脚本的语法不执行。所以我想-whatif标志是最接近的,但它不是一个静态的检查unfortumately。可喜的是,在V2有来标记输入流的方式,通过Automation.PsParser类,令牌化成员。这将令牌化按照PS克的脚本,所以如果胡扯了,它是一个废话脚本。问题是,V2没有一个发布日期尚未。

感谢您的帮助。 鲍勃。

有帮助吗?

解决方案

你想要的东西是prolly WHATIF /确认。它的直接端口从Unix世界。

其他提示

那么,你要求的功能正确性或语法的正确性?

在功能上你需要创建一个测试用例和环境来测试

在语法上,你正在寻找一个静态代码检查的PowerShell的。

许多PowerShell命令提供的 -whatif 参数。

我认为你需要什么量化“有效”对你意味着什么。这是一个不明确的术语,并且可以意味着很多东西。

如果你的意思是像Perl的语法检查,没有确切的等效PowerShell脚本,使用PowerShell V1。我不知道有什么在V2的,要么。

你给的描述使得它听起来像你想要的不仅仅是一个语法的更多的东西/“它运行”式检查。像@JoHannes罗塞尔说,这不是小事,是非常具体的,以你在做什么。

在前面提到的“WHATIF /确认”在其他的答案方法只为PowerShell命令,不脚本。他们展示一下该cmdlet会做,而不是一个语法检查。

詹姆斯

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top