Public/DAS/Scans/New-SecureSphereScanProfile.ps1
function New-SecureSphereScanProfile { # .ExternalHelp ..\..\..\..\..\SecureSpherePS-help.xml [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $ProfileName, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $SiteName, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string[]] $DataTypes, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [bool] $AutoAcceptResults, [Parameter(Mandatory = $true)] [ValidateNotNullOrEmpty()] [string] $DbsAndSchemasUsage, [Parameter(Mandatory = $true)] $DbsAndSchemas ) Begin { Write-Verbose "[$($MyInvocation.MyCommand.Name)] Function started" if ($null -eq $SecureSphereSession) { Write-Error "Please login to SecureSphere first. Use Set-SecureSphereServer and New-SecureSphereSession cmdlets." break } $ApiUrl = "$SecureSphereHost/SecureSphere/api/v1/conf/classification/profiles/$ProfileName" $ApiBody = [ordered]@{} $ApiBody += @{ "site-name" = $SiteName } $ApiBody += @{ "data-types" = $DataTypes } $ApiBody += @{ "auto-accept-results" = $AutoAcceptResults } $ApiBody += @{ "dbs-and-schemas-usage" = $DbsAndSchemasUsage } $ApiBody += @{ "dbs-and-schemas" = $DbsAndSchemas } $ApiBody = $ApiBody | ConvertTo-Json } Process { Write-DebugMessage "[$($MyInvocation.MyCommand.Name)] ParameterSetName: $($PsCmdlet.ParameterSetName)" Write-DebugMessage "[$($MyInvocation.MyCommand.Name)] PSBoundParameters: $($PSBoundParameters | Out-String)" try { $Result = Invoke-RestMethod -Method Post -Uri $ApiUrl -Body $ApiBody -ContentType "application/json" -WebSession $SecureSphereSession } catch { Write-Error "$_" } return $Result } End { Write-Verbose "[$($MyInvocation.MyCommand.Name)] Complete" } } |