何时开发使用Powershell vs C#?

goo*_*ate 11 c# powershell administration system-administration

我刚刚开始使用PowerShell,我的一个系统管理员告诉我,Powershell可以像C#一样为系统管理做些什么,如果不是更多的话.

请原谅这个问题的无知,但是什么时候我会使用Powershell而不是C#?

Rom*_*min 20

1)PowerShell适用于相对较小的定义良好的任务,尤其是当您在命令行编码时,短暂的一日任务和交互式任务.如果一个任务只需要几行PowerShell代码(而且你知道因为你已经足够了解PowerShell了!)那么启动一个完整的C#项目通常是过度的.

2)对于大型项目或性能至关重要的地方,C#要好得多.对于任何可能需要调试和故障排除的项目来说,它会更好.

3)PowerShell和C#可以完美地协同工作.很容易互相呼叫.PowerShell适用于连接.NET组件.您可以在C#中实现复杂和性能关键部分,然后使用PowerShell将这些部分组合在一起.

  • 我不同意第 2 点的第二部分。PowerShell 具有可观的本机调试工具,所有现代脚本编辑器都很好地实现了它。 (2认同)

xcu*_*cud 15

当我在Windows构建实验室工作了很久以前(1997年)时,规则我被教导如果代码满足这两个条件中的任何一个,则将其写入解释的脚本中,否则将其写入已编译的代码中:

  1. 有比代码更多的开销(使用/包含行,函数声明等)
  2. 代码在再次运行之前会有超过10%的可能性发生变化