我正在从事一个项目,我想为各种项目执行主机文档。这些项目的一部分将来自 Powershell,其余部分将来自 NMAP。对于 Powershell 部分,我正在尝试构建类似于SYDI-Server的自主开发的东西项目。它将使用 Powershell 而不是 WMI,并允许使用更大、更简单的方法从远程机器获取各种结果。另外,SYDI-Server 项目已经有一段时间没有更新了。NMAP 片段将用于在远程主机上执行一两次扫描并返回结果,以便 Powershell 可以使用或使用这些结果并将它们添加到正在生成的最终报告中。这个想法类似于报告是一个 MS Word 文档,它是从 Powershell 输出的,其中包含主机文档所需的所有元素。
综上所述,有没有办法让数据从 Powershell 共享或来回发送到 NMAP?有没有办法在 Powershell 中使用或解析 NMAP 的结果以进行进一步操作?
NMAP 结果可以很容易地读入 powershell。NMap 可以选择以 XML 格式输出结果。这是由
-oX
选项控制的。PowerShell 喜欢 XML。阅读它很容易:
这将在 $NmapResults 中创建一个数据结构,您可以在其中四处移动以获得所需的内容。
对于如何访问单个 XML 元素,我在另一个 ServerFault 答案中进行了介绍:
https://serverfault.com/a/154094/3038