Windows PowerShell 是旨在用于系统管理和自动化的命令行外壳和脚本语言。自 PowerShell 2.0 之后,您便可以使用 Windows 远程管理在一台或多台远程电脑上运行命令。通过在扫描中使用 PowerShell 和 Windows 远程管理,您可以如在本地登录到每台机器一般进行扫描。PowerShell 支持对在 SCAP 1.2 中的一些政策检查十分必要,而更重要的是,可对其他某些检查返回数据。
为能够使用带有 PowerShell 的 Windows 远程管理,您必须将其在所有您将扫描的机器上开启。如果您有大量 Windows 资产需要扫描,则在您的 Windows 域内通过组策略将其开启会更有效率。
若需关于如何在 Windows 域内开启带有 PowerShell 的 Windows 远程管理,以下资源可能有帮助:
另外,在 HTTP 中使用带有 PowerShell 的 Windows 远程管理时,您需要允许未加密的通信。
若要允许未加密通信:
策略 > 管理模板 > Windows 组件 > Windows 远程管理 (WinRM) > WinRM 服务
或者
在命令提示窗口,运行:
winrm set winrm/config/service @{AllowUnencrypted="true"}
对于使用带有 PowerShell 的 Windows 远程管理的扫描,端口 5985 必须对扫描模板可用。DISA、CIS 和 USGCB 政策的扫描模板已默认包括此端口;您将需要手动添加其他端口。
若要向扫描模板添加端口:
添加端口 5985
您亦需要指定相应的服务和凭证。
若要指定服务和凭证,请采取以下步骤:
如果您想在配置新站点的同时添加凭证,则点击主页页面上的创建站点按钮。
如果您想为现有站点添加凭证,则点击主页页面站点表格中的编辑图标。
若需额外的可选步骤,请参见下方主题:
如果启用了正确的端口和指定了正确的 Microsoft Windows/Samba (SMB/CIFS) 凭证,那么本应用程序将自动使用 PowerShell。
如果您启用了 PowerShell,但不想将它用于扫描,则您将需要自定义一个不包括端口 5985 的端口列表。
若要禁用访问端口: