数据仓库管理命令行应用程序-PowerShell或C#控制台应用程序

数据仓库管理命令行应用程序-PowerShell或C#控制台应用程序

问题描述:

我将通过说这是一个仅限Microsoft的商店来开头这个问题。

I'll preface this question by saying this is for a Microsoft only shop.

如果要编写控制台应用程序来管理数据仓库,将使用什么:

1)为PowerShell编写自定义环境(ala最新版本的Exchange / SQL Server)

2)将其作为C#控制台应用程序

If you were to write a console app to manage a data warehouse what would you use:
1) Writing a custom environment for PowerShell (ala the latest flavors of Exchange / SQL Server)
2) Write it as a C# Console App

如果#2上有任何框架可以减轻编写负担

If #2 are there any frameworks that offload writing a "menu system" or any other tasks for you.

如果此应用程序需要使用6至8年-您会使用PowerShell吗?
团队中目前没有人具有PowerShell经验,但是我们是快速学习者。

If this app needed to last 6 to 8 years - would you use PowerShell? No one on the team currently has PowerShell experience, but we are quick learners.

如果您编写管理,功能作为PowerShell cmdlet,那么您可以通过让人们直接运行cmdlet或将它们包装在GUI中来展示该功能。使用PowerShell可能会为您提供最大的长期灵活性,并且随着MS实现更多的PowerShell cmdlet,这意味着如果需要,可以将管理数据仓库与其他较大的业务流程合并。我可能不会选择编写C#控制台应用程序-但是我有一个明显更多的管理员观点。我们的管理员对让自定义控制台应用程序烦恼不已-PowerShell的想法是通过支持命令行和GUI管理的方式对所有内容进行标准化。

If you write your management functionality as PowerShell cmdlets, then you can surface that functionality either by letting people run cmdlets directly, or by wrapping them in a GUI. Going with PowerShell probably gives you the most long-term flexibility, and as MS implements more PowerShell cmdlets, it means that managing your data warehouse could be incorporated with other, larger business processes if necessary. I would probably NOT choose to write a C# console app - but I have a distinctly more "administrator" perspective. We admins are tired of having custom console apps tossed at us - the idea of PowerShell is to standardize everything in a way that supports both command-line and GUI administration.