ITScript 和 Windows PowerShell™ 概述
Windows PowerShell™ 是任务自动化框架。 它以 Microsoft .NET Framework 为基础,使管理员能够在 Windows 计算机和应用程序上简单快速地执行管理任务。 Security Controls 的 ITScript 功能支持使用 PowerShell 4.0,使您能够在控制台和远程目标计算机上执行各种脚本。 它还可用于在控制台和所选计算机之间启动 Windows PowerShell 会话。
您可能还有兴趣了解 Security Controls 中提供的 PowerShell API 和 REST API 功能。

有关设置和系统要求信息,请参阅:
有关如何执行 ITScripts 任务的信息,请参阅:

PowerShell 脚本可用于在组织中的计算机上执行各种各样的管理任务,无论是最基本的任务还是非常高级复杂的操作。 可能需要搜索目标计算机以查找特定类型的数据、收集与读取日志文件、安装软件、创建报告、确定服务状态、读取注册表等。 PowerShell 脚本非常适用于在大量计算机中自动执行重复的任务。

在 Security Controls 中运行脚本的优势包括:
- 脚本针对已经在 Security Controls 中定义的计算机和计算机组执行
- 使用已经在 Security Controls 中输入的计算机和计算机组凭据
- 脚本在后台执行
- 脚本执行可立即运行或计划在未来运行
- 脚本针对目标计算机并行执行,通常在很短时间内持续运行完成(并且可以控制并行级别)
- 将脚本输出捕获到方便查看的文件
- 脚本执行的状态显示在 Security Controls 中
- 可以直接从 Security Controls 打开结果文件
- 脚本可以参数化,不同的参数集可以保存在模板中,或者在启动脚本或计划执行脚本时提供
- 脚本可以使用 PowerShell 远程处理功能,允许 Windows PowerShell 提供的最广泛的功能集合

ITScript 功能附带很多预定义的脚本。 这包括用于执行各种实用程序任务的基本脚本,以及用于执行更复杂任务的高级脚本。
可以使用脚本目录管理器查看可用的预定义脚本。

您可以导入您创建的自定义脚本,或者由受信任的其他用户创建的自定义脚本。 您导入的所有自定义脚本都将与预定义脚本一起显示在脚本目录管理器中。 同时支持自定义 PowerShell 模块。 可以创建与导入包含可在其他自定义脚本中使用的 cmdlet、供应商、功能、变量以及别名的模块。 有关详细信息,请参阅创建自定义脚本。

Security Controls 为正在执行的脚本提供几种目标类型。 目标类型表明执行脚本时需要的目标计算机。 目标类型由脚本作者使用 scriptType 元素设置,无法由 Security Controls 改变。 脚本只能通过一种模式运行。 在所有情况下,脚本引擎都在 Security Controls 控制台上运行。
- 控制台:脚本仅针对控制台运行,并且不针对一组目标计算机运行。 例如,可能使用控制台脚本查询或修改 Active Directory。
- 任意:脚本针对所选目标计算机或计算机组运行,无需 WinRM 服务(PowerShell 远程处理)。 控制台上的 PowerShell 客户端通过使用其他 Windows 远程处理服务(例如远程注册表服务、远程 Windows 文件共享、WMI 服务等)与目标计算机通信。 实际使用的服务将取决于脚本。 脚本会并行运行,而不是每次在一台计算机上运行。
- 执行此类型的脚本时不需要在目标计算机上安装任何其他软件。 需要的唯一端口是正在使用的 Windows 服务需要的端口。
- ESXi 虚拟机监控程序: 脚本针对 ESXi Server 或 vCenter 服务器运行。 此类型的脚本可以使用 VMware vSphere PowerCLI。 VMware vSphere PowerCLI 可用于自动化 vSphere 管理的所有方面,包括网络、存储空间、VM、访客 OS 等。 此类型的脚本仅针对包含 ESXi Server 的计算机组运行。 如果计算机组包含任何其他计算机,则执行该脚本时会忽略这些计算机。 有关创建包含 ESXi Server 的计算机组的信息,请参阅添加由服务器托管的虚拟机。
可以使用脚本目录管理器识别脚本使用的目标类型。

Security Controls 在使用 ITScript 功能时提供很多安全功能。
- 只有受信任的机构签署的脚本可导入脚本目录管理器,并且可供使用。
- Security Controls 使用与计算机组相关联的凭据运行脚本。
- 仅批准可用于 Security Controls 界面中的脚本。
- 脚本未加密。 可用于在脚本运行前检查与审核脚本。
Ivanti 创建的脚本将由 Ivanti 签署。 如果创建自定义脚本,则用户必须使用自己的证书签署它,而且需要承担使用该脚本的所有责任。

脚本可在联机虚拟机上执行,但是无法在脱机虚拟机上执行。