Я работаю над проектом, в котором я хотел бы выполнить документацию хоста для множества элементов. Часть этих элементов будет получена из Powershell, а остальные - из NMAP. Что касается части Powershell, я пытаюсь создать что-то самодельное и похожее на SYDI-сервер проект. Вместо WMI он будет использовать Powershell и позволит использовать гораздо более крупный и простой метод получения различных результатов с удаленных машин. Кроме того, проект SYDI-Server некоторое время не обновлялся. Часть NMAP будет использоваться для выполнения одного или двух сканирования на удаленном хосте и возврата результатов, чтобы Powershell мог использовать или использовать их и добавлять их в создаваемый окончательный отчет. Идея аналогична тому, что отчет представляет собой документ MS Word, который выводится из Powershell и содержит все элементы, необходимые для документации хоста.
Все это говорит о том, есть ли способ обмена данными или их пересылки из Powershell в NMAP и обратно? Есть ли способ использовать или анализировать результаты NMAP в Powershell для дальнейших манипуляций?
Результаты NMAP можно довольно легко прочитать в PowerShell. NMap имеет возможность выводить результаты в формате XML. Это контролируется -oX
вариант. PowerShell любит XML.
nmap [options] -oX results.xml [targets]
Прочитать это легко:
[xml]$NmapResults = Get-Content results.xml
Это создаст структуру данных в $ NmapResults, которую вы можете перемещать, чтобы получить то, что вы хотите.
О том, как получить доступ к отдельным элементам XML, я расскажу об этом в другом ответе ServerFault: