2013-07-03 58 views
3

我的理解是工作,几乎所有的“真正的工作”在Windows Server 2012中的各种GUI组件进行(例如,在磁盘管理)是通过调用Powershell的执行。 (也就是说,在GUI中无法完成Powershell无法完成的任何操作。)生成PowerShell脚本在Windows GUI

在您使用GUI时,可以查看和/或收集Windows采取的各种Powershell操作是非常有价值的。您可以启用此功能,执行您需要执行的配置工作,然后将其关闭,从而生成一个或多个Powershell脚本,以便自动完成您刚刚完成的任务。 (当然,脚本(S)很可能可以以各种方式参数)通过不必弄清楚哪些cmdlet是用来执行各种任务,并传递给他们什么选项节省下来的时间,将是巨大的 - 甚至只知道使用了哪些cmdlet就可以帮助您了解如何实现事物自动化。

这种能力就像在Excel中开启宏记录器,做你的操作并关闭它 - 检查生成的宏告诉你正在操作什么底层对象,以及如何获得你的结果轻松使用Excel GUI。

这是否存在的能力?你如何打开和关闭它? (我GOOGLE和猛吃自己傻,但什么也没有看到,说怎么办呢 - 甚至明确地说,这是可能的 - 尽管我可以发誓,我已经读/听到关于它的一些博客或播客,回来的时候,我也没在意Powershell的。)

的任何信息,将不胜感激。

+1

我相信你听到的是相反的:[用Powershell自动化UI](http://msdn.microsoft.com/en-us/magazine/cc337896.aspx)。 –

+0

某些产品(例如System Center)允许您显示生成的PowerShell代码,但AFAIK没有系统范围的宏记录器。生成的代码如果要将其转换为有用的脚本,还需要进行相当多的调整。 –

+0

我认为绝大多数Windows组件/产品都是“主机”的PowerShell。他们在'system.management.automation'中使用.NET类的组件支持PowerShell。因此,必须将宏功能内置到(适度)低级Powershell API中。 (在这个级别没有Powershell命令行或ISE GUI,它只是API)由于组件是“驱动”API,它必须是打开宏记录器的组件。因此,即使有宏录制,它仍然会导致Ansgar所说的 - 支持将逐个组件地进行。 –

回答

0

我没有确切的回答你的问题,但你可能已经读过/一些博客或播客听到的事情是:

第一:本Start-TranscriptStop-Transcrip的cmdlet,让你记录您在PowerShell提示符下键入的所有命令行。

第二个:当您使用PowerShell 3时,您正在使用ISE,它现在是一个不那么基础的PowerShell编辑器。但开头并不是这样,我使用的是Quest Software提供的免费编辑器PowerGUI。当你下载这个编辑器时,它会附带一个名为管理控制台的软件。此管理控制台允许您为基本操作生成PowerShell,并附带一个也生成PowerShell脚本的WMI浏览器。

第三:它也存在PowerShell Scriptomatic,但我从来没有使用它。

0


我不相信你描述的功能在Windows中可用 - 但。我相信它会,因为微软已经要求所有新功能必须通过PowerShell进行配置。由于操作系统应该很快就可以通过PowerShell执行所有功能,因此它们可以包含将UI操作转换为实现相同功能的PowerShell命令列表的选项。