我的理解是,Windows Server 2012 中的各种 GUI 组件(例如,磁盘管理)几乎所有“实际工作”都是通过调用 Powershell 来执行的。 (也就是说,没有什么可以在 GUI 中完成而不能用 Powershell 完成的。)
在使用 GUI 时查看和/或收集 Windows 执行的各种 Powershell 操作的能力将非常有价值。您可以打开此功能,执行您需要执行的配置工作,然后将其关闭,从而生成一个或多个 Powershell 脚本,这些脚本可以自动执行您刚刚手动执行的操作。 (当然,脚本可能可以通过各种方式进行参数化。)不必弄清楚使用哪些 cmdlet 来执行各种任务以及传递给它们的选项,所节省的时间将是巨大的 - 甚至只要知道使用了哪些 cmdlet,您就能在弄清楚如何实现自动化方面占据很大优势。
此功能就像在 Excel 中打开宏记录器,执行操作,然后将其关闭 - 检查生成的宏会告诉您正在操作哪些底层对象,以及如何获得您轻松使用的结果Excel 图形用户界面。
有这个能力吗?如何打开和关闭它? (我用谷歌搜索并疯狂地搜索自己,但没有看到任何说明如何做到这一点的内容 - 或者甚至明确表示这是可能的 - 尽管我可以发誓我在一些博客或播客上读过/听说过它,那时我还不关心 Powershell。)
如有任何信息,我们将不胜感激。
我没有您问题的确切答案,但您可能在某些博客或播客上读过/听说过的内容是:
first:Start-Transcript 和
Stop-Transcrip
CmdLets,允许您记录在 PowerShell 提示符下键入的所有命令行。
第二:当您使用 PowerShell 3 时,您正在使用 ISE,它现在是一个不那么基础的 PowerShell 编辑器。但一开始并非如此,我使用的是 Quest Software 的免费编辑器,名为 PowerGUI。当您下载此编辑器时,它附带了另一个称为管理控制台的软件。该管理控制台允许您生成用于基本操作的 PowerShell,并附带还可以生成 PowerShell 脚本的 WMI 浏览器。
第三:它也存在一个PowerShell Scriptomatic,但我只是从不使用它。
我认为您所描述的功能在 Windows 中尚不可用。我相信会的,因为微软已经规定所有新功能都必须可以通过 PowerShell 配置。由于操作系统很快就会达到所有功能都可以通过 PowerShell 执行的程度,因此它们包含将 UI 操作转换为实现相同功能的 PowerShell 命令列表的选项是有意义的。
如果 GUI 工具确实使用 PowerShell cmdlet,您只需在组策略中启用 PowerShell 脚本块日志记录,然后在事件查看器中查找执行的相应命令。
但是,我遇到的唯一真正运行 PowerShell cmdlet 的 GUI 是 MS Exchange,您实际上可以在其中让 GUI 显示它正在使用的 cmdlet。
(希望有更多例子。)