是否可以捕获从 IIS 等 Windows GUI 生成的 PowerShell 命令?

Posted

技术标签:

【中文标题】是否可以捕获从 IIS 等 Windows GUI 生成的 PowerShell 命令?【英文标题】:Is it possible to capture the PowerShell commands that are generated from Windows GUIs like IIS? 【发布时间】:2014-09-05 00:46:27 【问题描述】:

我正在阅读 Jones 和 Hicks 的 Learn Windows PowerShell 3 in a Month of Lunches,第 1 章中的这段话引起了我的注意:

Microsoft 的 Windows PowerShell 目标是在 shell 中构建 100% 的生产管理功能。 Microsoft 继续构建 GUI 控制台,但这些控制台在幕后执行 PowerShell 命令。这种方法迫使公司确保您可以对产品做的所有可能的事情都可以通过外壳访问。如果您需要自动执行重复性任务或创建 GUI 无法很好启用的流程,您可以进入 shell 并自行完全控制。

许多 Microsoft 产品已经采用了这种方法,包括 Exchange Server 2007 和 2010、SharePoint Server 2010、许多 System Center 产品以及 Windows 本身的许多组件。展望未来,越来越多的产品和 Windows 组件将遵循这种模式。引入 PowerShell v3 的最新版本的 Windows Server 几乎完全由 PowerShell 管理 - 或由位于 PowerShell 顶部的 GUI 管理。这就是为什么您不能忽视 PowerShell - 在接下来的几年里,它将成为越来越多的管理的基础。

我想知道是否可以捕获从 Windows GUI 和 IIS 等工具生成的 PowerShell 命令? 这样可以很容易地创建自动化脚本,也有助于学习 PowerShell。

【问题讨论】:

你在说什么 GUI? IIS 8.0 配置编辑器具有生成 PowerShell 脚本的功能,但您问的是一切都可以通过 PowerShell 完成。 嗨@mikez。我正在阅读“在一个月的午餐中学习 powershell”,它指出从 Win8 和 Server2012 开始,所有 GUI 都将使用 powershell 命令来执行任务。我希望有办法捕捉这些。 我添加了书中的一段话,为您的问题提供一些背景信息。如有遗漏,请展开或澄清。 这对@mikez 来说太棒了,谢谢。 【参考方案1】:

在您的所有主机配置文件 ($Profile.CurrentUserAllHosts) 中添加一个 Start-Transcript 调用,可能会根据日期或计数器或其他内容为其生成文件名。

使用this Transcript module 之类的东西首先添加对通常不允许的主机(ISE v4.0 及更低版本、SharePoint 等)的支持,如果主机不是 PowerShell 本身,可能只包括它。

【讨论】:

谢谢@nathan,我会试试的

以上是关于是否可以捕获从 IIS 等 Windows GUI 生成的 PowerShell 命令?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以从 Java 程序中捕获 Windows 弹出消息框?

从 CALLBACK 访问 QT GUI

是否可以使用 ffmpeg 从 ASIO 设备捕获音频?

GUI是如何真正制作的?

windows server 2008 iis从哪里打开或安装?

如何创建 Windows GUI 控件 ID?