在扫描中使用 PowerShell

Windows PowerShell 是旨在用于系统管理和自动化的命令行外壳和脚本语言。自 PowerShell 2.0 之后,您便可以使用 Windows 远程管理在一台或多台远程电脑上运行命令。通过在扫描中使用 PowerShell 和 Windows 远程管理,您可以如在本地登录到每台机器一般进行扫描。PowerShell 支持对在 SCAP 1.2 中的一些政策检查十分必要,而更重要的是,可对其他某些检查返回数据。

为能够使用带有 PowerShell 的 Windows 远程管理,您必须将其在所有您将扫描的机器上开启。如果您有大量 Windows 资产需要扫描,则在您的 Windows 域内通过组策略将其开启会更有效率。

若需关于如何在 Windows 域内开启带有 PowerShell 的 Windows 远程管理,以下资源可能有帮助

另外,在 HTTP 中使用带有 PowerShell 的 Windows 远程管理时,您需要允许未加密的通信。

若要允许未加密通信

  1. 在 Windows 组策略编辑器内,进入

策略 > 管理模板 > Windows 组件 > Windows 远程管理 (WinRM) > WinRM 服务

  1. 选择允许未加密通信

或者

在命令提示窗口,运行

winrm set winrm/config/service @{AllowUnencrypted="true"}

对于使用带有 PowerShell 的 Windows 远程管理的扫描,端口 5985 必须对扫描模板可用。DISA、CIS 和 USGCB 政策的扫描模板已默认包括此端口;您将需要手动添加其他端口。

若要向扫描模板添加端口

  1. 进入管理页面,选择模板中的管理
  2. 选择您正使用的扫描模板。
  3. 服务发现标签中,添加 5985TCP 扫描部分的额外端口中。

添加端口 5985

您亦需要指定相应的服务和凭证。

若要指定服务和凭证,请采取以下步骤

如果您想在配置新站点的同时添加凭证,则点击主页页面上的创建站点按钮。

如果您想为现有站点添加凭证,则点击主页页面站点表格中的编辑图标。

  1. 选择认证
  2. 点击添加凭证
  3. 添加凭证表单中,输入一组新凭证的名称和描述如必要
  4. 点击添加凭证下的账户
  5. 选择 Microsoft Windows/Samba (SMB/CIFS) 服务。
  6. 输入服务的域、用户名和密码。
  7. 当您完成配置凭证时,若是一组新凭证,则点击创建,若是一组之前已创建的凭证,则点击保存

若需额外的可选步骤,请参见下方主题

如果启用了正确的端口和指定了正确的 Microsoft Windows/Samba (SMB/CIFS) 凭证,那么本应用程序将自动使用 PowerShell。

如果您启用了 PowerShell,但不想将它用于扫描,则您将需要自定义一个不包括端口 5985 的端口列表。

若要禁用访问端口

  1. 进入管理页面,选择模板中的管理
  2. 选择您正使用的扫描模板。
  3. 服务发现标签中的 TCP 扫描,针对待扫描端口选择自定义仅使用“额外端口”
  4. 额外端口中,指定一个不包括端口 5985 的端口列表。