Powershell vs C#

Powershell vs C#,c#,powershell,C#,Powershell,所以在我激起纯粹主义者的愤怒之前,我知道。然而,我相信,从那时起,技术水平已经发生了变化 因此,首先,从上一个Powershell vs C#问题中可以看出,从经验上讲,Powershell是一种解释语言,而C#是一种编译语言 然而,我觉得随着罗斯林的成熟,这一论点将站不住脚 那我为什么要学习Powershell呢。鉴于: C#可以(理论上)在解释环境中运行 C#具有更好的工具支持(例如,Resharper)和文档 C#具有很强的错误检查能力(编译器) 我已经知道C了# 因此您可以管理任何Wi

所以在我激起纯粹主义者的愤怒之前,我知道。然而,我相信,从那时起,技术水平已经发生了变化

因此,首先,从上一个Powershell vs C#问题中可以看出,从经验上讲,Powershell是一种解释语言,而C#是一种编译语言

然而,我觉得随着罗斯林的成熟,这一论点将站不住脚

那我为什么要学习Powershell呢。鉴于:

  • C#可以(理论上)在解释环境中运行
  • C#具有更好的工具支持(例如,Resharper)和文档
  • C#具有很强的错误检查能力(编译器)
  • 我已经知道C了#

因此您可以管理任何Windows server工具,如

  • 交换
  • Sql Server
  • SharePoint
  • 活动目录
  • TFS

所以你可以部署和管理你的Azure服务,你可以部署和管理你的AWS服务,确实有很多原因需要说明,PowerShell对管理员来说更重要。这是因为它提供了类似的工具(cmdlet)来管理不同的系统


但是,PowerShell对于开发人员在处理例如文件系统时也非常有用。上周,我不得不在许多.NET解决方案中找到相同的字符串。使用3个cmdlet,我在一秒钟内找到了所需的内容。用C#开发同样的软件需要花费很多时间

我认为人们需要在这个问题上有点开箱思考。不要再试图将PowerShell与C#相比较,或者作为C#的替代品,它更像是对C#的补充而非替代

我是一名DBA,但越来越多的人发现自己在做类似于开发人员的任务,以便更加自动化我的工作。我目前正在为我工作的公司开发一个评估工具,该工具现在已在PowerShell中编写

PowerShell由Microsoft创建,在管理员或管理应用程序(SharePoint、Exchange、AD等)的人中越来越流行。在这种情况下,现在就需要学习和使用PowerShell。Microsoft已经声明,针对Windows Server推出的任何产品都必须具有PowerShell功能,并且GUI界面必须在下面使用PowerShell(找不到这方面的来源,但已经阅读并听说过)

我最近一直在读这篇文章,发现作者在他的开发工作中使用它是非常有趣的。这是值得的一小笔钱,以获得最多的电子书,并通过它阅读

我认为开发人员会从PowerShell中受益的几点(如果我全职使用PowerShell,至少我会受益):

  • 它允许您更快地在程序中编写较小的任务(例如,迭代文件中的数据,搜索Windows文件系统中的文件等)
  • 我认为它可以作为一致性的部署工具。实际上,您可以在PowerShell控制台中编译代码,因为它基于.NET结构并具有访问权限
  • 如前所述,如果您想为您的帮助台(例如Active Directory)编写一个小程序,您可以使用PowerShell Commandlet对AD执行命令和任务,这比尝试绑定到所有.NET类要容易得多。Commandlet已经具有帮助台用户可以使用的绑定和标准命令

  • 我能理解这些服务没有.net绑定吗?Paul Rowland请回答前面的评论。您学习了Powershell的管理功能。我认为这里更重要的一点不是哪一个更好,而是为什么MS没有使用C作为取代旧DOS命令行的基础。我认为在c#中有一些很好的理由。