A PowerShell module for interfacing with the Cisco SMA (Secure Management Appliance, ex-Ironport) API Currently support only standard authentication.
Support token refresh when expired (through response headers sent by Cisco or explicitely by a complete reconnect)
PS> Install-Module PSCiscoSMA
PS> Import-Module PSCiscoSMA
PS> Connect-SMAApi -ServerUri "https://<your instance url>:xxx/sma/api/v2.0/" -SMACredential $(Get-Credential)
PS> # Save credentials
PS> Get-Credential | Export-CliXml "$($ENV:USERPROFILE)\psciscosma.xml"
PS> # Use those save credentials (same computer, same windows session)
PS> Connect-SMAApi -ServerUri "https://<your instance url>:xxx/sma/api/v2.0/" -SMACredential $(Import-CliXml "$($ENV:USERPROFILE)\psciscosma.xml")
PS> $availablesQuarantines = Get-SMAQuarantines
Advanced Options:
- Specify the
-AsArray
flag to retrieve all quarantines as an array.
Search mails with sender address containing "john" up to 3 days ago
PS> $mails = Search-SMAQuarantines -EndDate $(get-Date) -StartDate $(get-date).AddDays(-3) -SenderFilter "john"
Search all mails up to 3 days ago in quarantines named SPAM and VIRUS
PS> $others = Search-SMAQuarantines -EndDate $(get-Date) -StartDate $(get-date).AddDays(-3) -Quarantines "SPAM,VIRUS"
From pipeline
PS> $mailDetails = $mails | % { $_ | Get-SMAMessageDetails }
Through a mail object
PS> Get-SMAMessageDetails -message $mails[0]
Through an MID
PS> Get-SMAMessageDetails -mid 12345
PS> $path = $($ENV:USERPROFILE)
PS> $downloadedItems = $mails[0] | Save-SMAMessageAttachments -path $path
PS> 12345 | Move-SMAMessage -ToQuarantine "WAITING"
PS> 12345 | Unlock-SMAMessage
PS> Search-SMATracking -EndDate $(get-Date) -StartDate $(get-date).AddDays(-3) -Limit 1000