我正在考虑学习Powershell。在我开始之前,有人可以告诉我Powershell擅长什么以及它有什么限制?
非常感谢!
答案 0 :(得分:6)
Powershell本质上是一个用于管理Windows的管理和自动化实用程序。您可以方便地访问完整的.NET框架以及现代脚本语言(可以将其视为CMD的替代品)。您还可以统一访问文件系统,注册表,WMI,证书存储,.NET或COM对象等。
Jeffrey Snover once wrote a quite long answer强调了为什么要创建Powershell以及它要解决的问题。
限制肯定是它的速度,至少对于某些任务而言。我有时使用Powershell来解决数字问题,对于其中一些问题,它绝对不是正确的领域。再说一遍,可以说它从一开始就不是。 Powershell不是为原始执行速度而设计的,但对于大多数自动化脚本而言,它应该无关紧要,我当然只会触发一些边缘情况。
因此,如果您需要一个适用于Windows的现代命令行环境,可以轻松访问Windows上可能需要的任何内容,那么Powershell就适合您。基于对象的管道需要一段时间才能习惯,但在我看来,它比仅仅字节流的UNIX概念强大得多,所以Cygwin bash不会替代Powershell。
答案 1 :(得分:0)
它是Windows环境下的最佳脚本语言。尤其是从Server 2008以上版本(已自动安装的版本)开始。
还请检出WinRM-Windows远程处理-用于远程管理服务器。
这不是最快的-毕竟不是编程语言-但这取决于底层操作系统。
Powershell 6也支持Linux。它的管道处理对象,而不仅仅是文本。