我会说这是一个微软只铺前言这个问题。

如果你写一个控制台应用程序来管理,你会用什么数据仓库:点击 1)写作PowerShell的自定义环境(ALA交换/ SQL Server的最新口味)结果 2)写入它作为一个C#控制台应用程序

如果#2是那里卸载写“菜单系统”或任何其他任务你任何框架。

如果这个程序将持续6至8岁需要 - 你会使用PowerShell? 在球队没有人目前有PowerShell的经验,但我们快速的学习者。

有帮助吗?

解决方案

如果你写你的管理功能PowerShell命令,那么你可以通过让人们直接运行的cmdlet,或通过在GUI包裹它们表面的功能。使用PowerShell去大概给你最长期的灵活性,并作为MS实现更多的PowerShell命令,这意味着管理数据仓库可以与其他较大的业务流程,如果有必要被纳入。我可能不会选择写一个C#控制台应用程序 - 但我有一个更明显的“管理员”的观点。我们的管理员是厌倦了自定义控制台应用程序在扔我们 - PowerShell中的想法是在支持命令行和GUI管理办法来规范一切

其他提示

我想你能成功双全,应该可以没有太多的麻烦,在两者之间进行切换。如果你开始建立一个控制台应用程序,但后来学习PowerShell中,你可以扔掉了很多控制台应用程序特定代码(命令行解析代码为例),并建立了几个PowerShell命令来包装现有的API。或者,如果你建立了一堆的cmdlet出了大门,但以后需要切换到一个控制台应用程序,你就不会浪费太多的时间写的cmdlet。

所以,我真的没有强烈建议这种或那种方式。我会说:嘿,你去尝试的PowerShell。如果你不喜欢它,这不是太困难的切换。

我发现PowerShell是对于较小的东西更容易维护的解决方案。控制台应用程序可能需要重新链接到新库重新编译和重新分配出来的时候,你所依赖的库上的变化(在我的情况下,从Visual Studio 2005中去 - Visual Studio 2008中的代码覆盖率和其他的东西),以及可执行脚本可以调用vsinstr,MSTEST等。其中与PowerShell脚本,你可以轻松地定制你有和没有经过编译,链接每个环境,为每一个选择的环境中部署的东西。事实上,如果你从注册表获取相同的脚本可以在两种环境下运行的路径信息。

您可以做你想要的一切要么,我只是喜欢还要保持一个简单的文本文件,然后一个控制台应用程序。只是个人喜好。

当你说管理一个数据仓库,你说的是什么样的任务?

大部分管理我将在T-SQL做的(吹扫,归档,转化) - 该接口到该可以是非常薄的(甚至是不存在)

OK,根据您的评论我也有这所有的工作与.NET程序集的存储特效(典型的API类库),尽可能多的在存储的特效成为可能,与大会的东西这是代码更容易完成或有需要COM或什么的。然后我要么包类库在小命令或刚刚从PowerShell的(记住的PowerShell可以实例化的对象。)。

调用.NET对象

现在你有一个.NET库,也可以从网页,GUI应用,不管,如果你想它,你有一个cmdlet并直接.NET接口称为 - 加上从SQL调用它们的选择如果它们在SQL层充分执行。

执行的,而不是一个cosole应用程序的PowerShell的好处是,你不必编写所有的参数解析或所有格式。 PowerShell的照顾所有这一切为您服务。你可以,当然,如果你需要重写默认值。你可以使用通配符免费的。你也可以有你的Cmdlet的(一个或多个),从中打开了各种可能性,并采用自动化流水线取值。使用PowerShell,无论是最终用户和开发者将有更好的体验。

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