Windows PowerShell:什么是 Windows PowerShell 工作流?

使用 Windows PowerShell 工作流可能是一个复杂的过程,但就其提供的功能而言,最终还是值得为此付出的。

注意:在 2013 年,期间每月 Don Jones 将在 Windows PowerShell 工作流上的教程系列 12 部分提出分期付款。 我们鼓励您阅读通过一系列的顺序,从 2013 年 1 月列开始,然后进行按月。

Don Jones

Windows PowerShell 工作流是 Windows 管理框架 3.0 版中的新功能。 在广泛的意义上,工作流是专门的种 Windows PowerShell 脚本。 它概述了一组任务,其中一些需要发生在一个特定的序列,而其他人可以并行运行。

Windows PowerShell 工作流来预装 Windows 服务器 2012年和 Windows 8。 它也是可用于 Windows 7、 Windows Server 2008 和 Windows Server 2008 R2。 您将需要这些操作系统运行工作流之一。 但是,工作流可以目标 — — 这意味着,执行打击任务 — — 任何版本的 Windows,根据你想要完成的具体任务。

它是使用更多或较少的标准 Windows PowerShell 语法编写的。 然而,有几个工作流和传统 Windows PowerShell 脚本之间的不兼容问题。 Windows PowerShell 工作流使重使用的 Windows PowerShell 远程处理功能。 (抓住我免费"PowerShell 远程处理机密"指导如果您需要远程处理底漆或配置建议.)

工作流的工作方式

发动机罩下找 (我们会做的更深入以后整个系列),你会发现 Windows PowerShell 工作流实际上并不由 Windows PowerShell 执行。 相反,Windows PowerShell 将您的脚本转换为 XAML,并将其传到 Windows 工作流基金会 (WWF),这是 Microsoft.NET 框架的一部分。 世界自然基金会接受 XAML 和实际上执行执行。

世界自然基金会执行工作流中,并没有 Windows PowerShell,事实介绍了一些有趣的功能和较多的复杂性。 世界自然基金会到检查点而设计的例如工作流的进度。 这样,如果运行工作流的机器被中断以某种方式,如关闭的时候,工作流可以拿起它关闭机器启动时再次离开的地方。

您也可以手动暂停和恢复的工作流。 例如,您可能有一个工作流完成一组特定的任务,需要手动干预时点。 然后,您可能希望它暂停操作,并自动发送电子邮件的状态更新。 完成手动任务之后, 您可以恢复工作流,让它继续执行。

工作流如果你愿意还可以执行并行,事情。 例如,如果您有一套可以按任何顺序,没有相互依存关系,与运行的任务,然后你可以让他们所有同时运行更多或更少。 这缩短了完成该工作流,可提高效率所需的总时间的量。 世界自然基金会还会跟踪的每个工作流步骤。 这意味着您可以生成一个详细的审核日志上什么任务已完成,这是很大的帮助进行故障排除。

工作流不能做一个 Windows PowerShell 脚本能做的一切。 作为整个系列,您将学习,任何事情你不能翻译成世界自然基金会的理解的东西超出界限。 有的不会转移的 Windows PowerShell 肯定几个方面。 所以 Windows PowerShell 的子集和超集既不是一个工作流。 它是跨组,意味着工作流到 Windows PowerShell,添加一些功能,但也可以把一些带走。 这是更复杂的工作流的方面之一。

不是唯一的答案

工作流不是每个任务的最终答案。 工作流激情源自产品团队在微软和无数独立的发烧友,能给你应该作为工作流的一切的印象。 抗拒的冲动,因为工作流有一个明显的高等教育学习曲线。 他们也更难进行故障排除和调试,并不总是必要。

例如,如果您只是需要有一项针对一组并行计算机运行的任务,平原旧远程处理能够做到这一点你。 您还可以使用 Windows PowerShell 版本 2 样式后台作业 (其中仍然存在在版本 3 中)。

如果您只是需要运行的任务序列,可重新启动目标计算机,并等待恢复继续脚本之前,您可以使用新版本 3 重启计算机命令这样做 (哪些功能-等待交换机)。 所以虽然的确强大的并具有一些独特的能力的工作流,您可以看到,他们不一定最简单的方法来实现每个可能的任务。

工作流的解剖结构

工作流中的,一个函数或 cmdlet,像是 Windows PowerShell 命令的类型。 一旦您已经创建了一个,您基本上只是运行它就像任何其他命令一样。 您还可以安排时间,或将它推送到远程的计算机来运行存在。 在执行时,Windows PowerShell 将它转换成世界自然基金会,并询问世界自然基金会以实际运行工作流。

像其他类型的命令,您可以给工作流参数,允许您自定义它们在运行时的行为。 有各种常见参数可用来自动启用特定的行为。

您定义一套工作流中的活动。 您可以设置这些活动运行特定的顺序或相互平行。 您可以混合和匹配序列和并行化的块,一样需要。 诀窍是每一项活动必须是世界自然基金会的理解的东西。 这确实是复杂性的开始位置。

Windows PowerShell 团队提供世界自然基金会的最主要的 Windows PowerShell 核心 cmdlet 的"版本"。 这意味着您可以使用工作流内的这些 cmdlet 权利。 当翻译为世界自然基金会,这些 cmdlet 替换与世界自然基金会对应的所以他们会按预期方式运行。

在理想的世界,每个 Windows PowerShell cmdlet 会来与世界自然基金会相当。 这会使工作流很像我们已经写了多年的熟悉 Windows PowerShell 脚本。 然而,我们不要生活在一个完美的世界。 在现实中,大多数 cmdlet 不跟 WWF 等效项。 这是使用的 cmdlet 的 (除了核心 Windows PowerShell cmdlet) 来与 Exchange 服务器、 SharePoint 和 Windows 服务器 2012年尤其如此。

世界自然基金会不能以本机方式运行这些 cmdlet。 您必须换他们行内东西世界自然基金会的理解:InlineScript。 这项特别活动基本上是告诉世界自然基金会,只需运行 Windows PowerShell。 它喂到外壳程序的 InlineScript 活动的内容。

每个 InlineScript 是一个独立、 独立和断开连接的实体。 InlineScripts 不能与另一个共享信息,除了由持续数据地方 (如数据库) 他们可以的所有访问权限。

这些使写作工作流复杂得多。 然而,他们打算将您主要的执行时间的单位,因为大多数 Windows PowerShell cmdlet 还没有世界自然基金会版本。

这里是未来是什么

工作流是绝对令人兴奋的。 当用于右侧的任务,他们提供令人难以置信的功能。 他们是确实很复杂。 你得要投入一些时间学习如何使用它们。 2013 年目标是目前信息每月一大块:

  • **2013 年 2 月:**包括工作流环境,包括系统必备组件和远程处理配置。
  • **2013 年 3 月:**所以,我们有话要谈一谈和依靠前进基本工作流示例中,给你。
  • **2013 年 4 月:**比较和对比的脚本和工作流,什么会的综合列表,— — 不会 — — 在每个工作。
  • **2013 年 5 月:**挖到工作流活动,包括所有重要的 InlineScript 活动。
  • **2013 年 6 月:**看看通用参数和运行时变量的工作流,以及如何在您自己的工作流中使用它们。
  • **2013 年 7 月:**了解如何将您自己的参数添加到工作流。
  • **2013 年 8 月:**构造都测序和并行工作流内, 活动和来看如何混合和匹配它们。
  • **2013 年 9 月:**看看如何向工作流进度检查点,以及如何以编程方式和手动挂起和恢复工作流。
  • **2013 年 10 月:**采取一切您学到目前为止,并创建一个新的、 全面的工作流示例。
  • **2013 年 11 月:**通过显示一些特定的任务,如并行任务的工作流的替代放入谈话的一些观点。
  • **2013 年 12 月:**看看其他的方法可以使用和交互的工作流功能集。

我期待着到此告一段落的 Windows PowerShell 工作流。 我希望你能加入我每一步。

Don Jones

Don Jones 是 Windows PowerShell MVP 奖收件人和 TechNet Magazine 》 的特约编辑。 他合著了有关 Windows PowerShell 版本 3,其中包括在 Windows PowerShell 和 Windows PowerShell 远程处理中创建 HTML 报表上的免费的四本书。 找到它们都在 PowerShellBooks.com,你可以问琼斯在讨论论坛上的问题或 PowerShell.org

相关的内容