public/Export-NessusHistory.ps1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function Export-NessusHistory() {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory=$true, Position=0, valuefromPipeline=$true)]
        [string] $sid,
        [Parameter(Mandatory=$true, Position=1, valuefromPipeline=$true)]
        [string] $hid
    )

    $data = @{}
    $data.Add("history_id", $hid)
    $data.Add("format", "nessus")

    $resp = Send-NessusRequest "Post" "/scans/$sid/export" $data
    $fid = $resp.file

    do {
        Start-Sleep -Seconds 5
        $status = Export-NessusStatus -sid $sid -fid $fid 
    } while ($status -ne "ready")

    return $fid
}