使用Windows PowerShell脚本提高生产力

如果可以将Linux的生产力提升到Windows,该怎么办? Windows和Linux之间的主要区别之一;相比之下,Windows中的命令提示符是准系统。如果Windows具有同样强大的终端,该怎么办?

使用PowerShell,这个梦想可能会变成现实。

免责声明:PowerShell不是“ Windows的Bash",也不是为了是。是的,两者都是可以大大提高您的生产力的命令行环境,但这就是相似之处的地方。您应该将PowerShell作为创建强大命令行环境的独立方法。

什么是PowerShell?

PowerShell可以看作是Windows的大规模升级。命令提示符 。它可以执行许多相同的任务(例如,导航系统,与文件交互,修改属性),但可以打开整个.NET框架以实现最大功能。要了解其好处,请继续阅读。

PowerShell有两个比传统命令提示符更好的核心好处:可扩展性可脚本化

虽然PowerShell附带了一组初始命令,但是您可以通过创建 cmdlet 来添加自己的命令。 Cmdlet是使用C#语言创建的类,当它们被调用时,它们将在PowerShell环境中执行。由于它们使用C#编写,因此cmdlet可以访问整个.NET框架。

.NET框架包含Microsoft提供的庞大代码库。编写自己的cmdlet时,您可以访问所有这些代码。拉过程信息?密码算法?数据库连接性?网络通讯? .NET框架提供了所有-以及更多-这意味着大部分工作已为您完成。您只需要通过调用正确的函数将其组合在一起即可。

Microsoft已明确表明PowerShell不会消失-实际上,即将发布的Windows 10中的程序包管理器将基于PowerShell-因此每个人都应该考虑早点学习它。

PowerShell为何如此出色

PowerShell具有许多高级功能,其中大多数功能仅与Windows程序员和服务器管理员有关。有几个简单易懂的基本功能,但对每个人都非常有用。

简单但功能强大。 PowerShell环境非常简单,任何人都可以在少数几个环境中使用它。阅读时间。有个学习曲线,但是它比较浅,您无需学习所有即可使用它。

详细的流程信息。使用替代任务管理器是一回事,但是PowerShell允许您就流程管理执行一些巧妙的技巧。从本机的Get-Process和Stop-Process cmdlet开始。

轻松的自动化和脚本编写。 Basic Windows无法提供自动执行任务的简便方法。在PowerShell之前,批处理文件只能执行原始脚本,而自动化需要第三方解决方案(例如Perl,AutoHotkey)。但是使用PowerShell,您可以安排任务在特定时间或间隔运行。

例如,使用ScheduledTasks模块,可以使特定程序或进程根据触发器执行(例如,特定时间,系统事件发生的时间等),您可以定义该任务的上下文(例如安全限制)。

命令管道和逻辑。在Bash中(Linux ),命令可以通过管道传递到一起,以便一个命令的输出可用作另一命令的输入。例如,基本的Get-Process cmdlet输出所有正在运行的进程的信息。如果您只希望从一部分流程中获取信息怎么办?您可以使用Where-Object cmdlet传递它,该cmdlet充当进程过滤器,以仅对Where-Object返回的进程执行Get-Process。

PowerShell还提供了一些用于条件逻辑的本机命令(例如If,Else,For,Switch),可用于控制cmdlet执行的流程。例如,您可以创建一个PowerShell脚本,该脚本仅在满足某些条件时(例如,当RAM接近满时执行清理操作)才执行某些cmdlet。

Remote and background jobs. Not only can cmdlets be executed as background processes (so you can run multiple tasks at once asynchronously), but many cmdlets can also be executed on remote machines on the network as long as they have been configured to do so. Cmdlets with remote capabilities will often provide a ComputerName parameter that you can indicate when executing said cmdlet.

有关更多信息,请查看以下TechNet页:

下载第三方脚本。实际上,您不必自己扩展PowerShell。几个在线存储库可让您下载并利用其他人创建的公共脚本和cmdlet。

在哪里学习PowerShell

准备好使用PowerShell了吗?以下是经常向想尽快学习的新手推荐的一些资源:

Don Jones的PowerShell教程。 该YouTube视频系列重点介绍PowerShell 2.0(Windows 7附带的版本),该版本现在已经过时了,但是为绝对没有脚本经验的人提供了很好的介绍。每个视频只有几分钟的时间,但是有99个,因此非常全面。

Microsoft虚拟学院。 MVA免费提供许多与Microsoft相关的课程,包括在PowerShell 3.0上的两个。这里有“入门"课程和“高级工具与脚本"课程。这两门课程都包含9堂课,每节课的时长大约为1小时。

TechNet脚本中心。微软网站的TechNet部分包含许多很棒的链接,这些链接指向PowerShell指南和教程。另外,如果您导航到“存储库"部分,则可以浏览和下载各种PowerShell脚本。

嘿,脚本专家!博客。。这是一个“关于PowerShell的"博客,其中包含许多可以追溯到整整十年的重要信息。新帖子每天发布,并按标签进行分类,以便于浏览。如果您不知道从哪里开始,请先浏览“入门"标签。

PowerShell是为您服务的吗?

标签: