Powershell脚本相对于控制台应用程序有什么好处?

Dea*_*ean 9 .net powershell

对于某些监视应用程序以及需要安排轮询某些服务的任务,我们传统上使用控制台应用程序,该应用程序又调用业务层中的某些方法或轮询文件位置/ ftp位置.

对于我正在进行的另一项任务,我开始玩Powershell并且给人留下了深刻的印象,这让我想到了Powershell脚本和控制台应用程序的好处.

似乎事实上powershell脚本可以在不重新编译的情况下即时编辑,这使得它成为潜在变化的优势,但必定存在我没有看到的缺点.

那么人们什么时候会建议交换控制台应用程序以获取Powershell脚本?

hyt*_*ayr 9

我认为更好的方法是,您何时会选择一个控制台应用程序?

如果您不关心前沿运行时速度,分发给第三方(PowerShell还不是很标准),或保护源代码,那么我认为PowerShell是一个强有力的竞争者.

顺便说一句,PowerShell可以开箱即用地操作COM对象,因此在任务自动化方面,它可以很好地用作.NET和基于COM的基础架构之间的胶水代码.


Ale*_*lex 5

对我来说最大的好处是失去了编译过程并推出了二进制文件.我给你举个例子.我有一个应用程序使用Visual Studio私有程序集文件夹中的一些声明,应用程序内置二进制文件并在我们的compiel过程中运行单元测试.当VS 2008问世时,我不得不更改资源,重新编译,然后必须将二进制文件推广到我们所有的构建服务器.我认为这是愚蠢的,并切换到PowerShell所以现在我的脚本确定安装了哪个版本的vsts并加载最高版本的dll.现在你可以在一个应用程序中使用反射和后期绑定来做到这一点,但在PowerSHell中它更容易,当我们添加二进制文件或删除我们需要的二进制文件时,每个版本工程师都可以在文本编辑器中快速修改脚本.对于小型内部应用程序我现在总是PowerSHell ...