I’ll preface this question by saying this is for a Microsoft only shop.
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
If #2 are there any frameworks that offload writing a ‘menu system’ or any other tasks for you.
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.
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.