All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Get-QualysAMUser: function that gets user information from the administration module. This supporting function is necessary for Add-QualysUserTagAssignment after discovering VMDR User IDs and Administration User IDs are not the same.
- Invoke-QualysTagRestCall was missing from the module's functions to export.
- Add-QualysUserTagAssignment: Now takes a User Login instead of ID and gets the AM ID by using the Get-QualysAMUser function.
- Add-QualysAssetTagAssignment: This function takes an asset ID and a tag ID and adds the tag to the asset.
- Get-QualysAsset: This function takes an asset name or ID and returns the asset object.
- Get-QualysAssetInventory: Fetches all Qualys host asset objects.
- Get-QualysTag: This function takes a tag name or ID and returns the tag object.
- Remove-QualysTagAssignment: This function takes an asset ID and a tag ID and removes the tag from the asset.
- QualysAsset class: This class defines objects with properties that include all details returned by the QPS API about a host asset, plus optional metadata for function and method use.
- QualysTag class: This class defines objects with properties that include all details returned by the QPS API about a tag, plus optional metadata and parent tag.
- Invoke-QualysTagRestCall: The new tagging functions use this modified version of Invoke-QualysRestCall. The BaseURI for tagging endpoints is different from User Basic auth endpoints and there is nothing to clearly distinguish the two.
- Added the tagging Base URI to the settings.json
- Added Add-QualysUserTagAssignment: this function adds tag assignments to users.
- Added functions Get-QualysReports and Save-QualysReport
- Support using environment variables to automatically override settings.json script-scoped parameters.
- Function to get vulnerability information from Qualys KB. Get-QualysKBContent
- Generated new markdown help
- Added retry to Invoke-QualysRestCall to compensate for short periods where the Qualys api is unreachable
- Minimum Powershell version set to 5.1
- Comments removed from json file for Powershell 5.1 compatability
- Ternary operator from Start-QualysScan for Powershell 5.1 compatability
- UofI specific language in a comment
- Minimum Powershell version set to 7
- IP logic in Get-QualysAssetGroups sometimes resulted in a string being returned instead of a string array for the IPs property
- Added DefaultParameterSetName to Cmdletbindings for Add and Set-QualysScanSchedule
- New function Close-QualysSession
- Add-QualysScanSchedule & Set-QualysScanSchedule parameter sets and fix example
- New function Stop-QualysScan
- Added blank scriptanalyzer param for 'CheckID' on all scripts using the 'PSUseSingularNouns' attribute as this was causing errors
- Update all Markdown Help
- New private function Format-IPAddressGroup created to centralize logic for formatting IP addresses for API calls.
- Added scriptanalyzer exceptions for "PSUseSingularNouns" per issue #40
- New private function Format-IPAddressGroup created to centralize logic for formatting IP addresses for API calls.
- Added scriptanalyzer exceptions for "PSUseSingularNouns" per issue #40
- Description in Get-QualysScans regarding 'Processed' parameter
- Error handling for when no asset group is returned by Get-QualysAssetGroups
- Fix icon URL to point to raw image
- feature_request template and bug_report template
- Publishtogallery script and github action
- Code of Conduct, Contributing, Security docs and a Pull Request Template
- Icon for module
- Module name from Qualys to UofIQualys
- Added function to support returning the script variable APICallCount
- Added script scope variable to count API calls
- Fixed Set and Add QualysScanSchedule Active/Status parameter
- Fixed Get-QualysAssetGroups bug that only returned ranges OR single IPs not both
- Fixed example in Set-QualysAssetGroups
- Fixed type bug in Get-QualysScans
- Fixed bug with parameter name in Add-QualysScanSchedule
- Get-QualysScanSummary.ps1
- Disable-QualysUsers.ps1
- Enable-QualysUsers.ps1
- Settings from dev to prod
- Nonfunctioning DefaultScanners parameter
- Status parameter on Set-QualysScanSchedules changed from Switch to Int
- Get-QualysScanSchedules
- Remove-QualysScanSchedule
- Set-QualysScanSchedule
- Add-QualysScanSchedule
- Make ID parameters that are always numbers Ints
- Added appliance_ids to REST body for DefaultScanner params
- DefaultScanner parameter for Add/Set-QualysAssetGroups
- Bugfix for Add/Set-QualysUser when error in $Responses
- Parameter set for Active/Deactivated scans in Get-QualysScanSchedule
- Bugfix for Division parameter setting title in body of Set-QualysAssetGroups
- Limit attributes returned by Get-QualysAssetGroups
- Fix IP output for single IPs and add output for defaultscanner in Get-QualysAssetGroups
- Fix bug with verbose parameter on some functions
- Start-QualysScan, Get-QualysScans, Get-QualysScanSchedules, Set-QualysAssetGroups
- Fixed incorrect comment-based help
- Bugfix for Remove-QualysAssetGroups identity parameter
- Fixed bug with verbose mode erroring when there is no response output
- Add, Remove and Set functions now only display console output when specifying -Verbose
- Bugfix for adding multiple assetgroups when adding a user.
- Update User functions ExternalID to match API External_ID
- Made Credential first parameter of User functions
- Fixed bug with parameter mismatches in Set-QualysUser, added aliases
- Changed other User functions to match Set-QualysUser's aliases
- Added function to list Users
- Added production URLs to settings
- Added function to set Users
- ExternalID parameter added to Add-QualysUser
- Fixed bug with identity matching in Get-QualysAssetGroups
- Added function for creating new Users
- Added alternate base URL in settings
- Invoke-QualysRestCall can now make rest calls using basic authentication
- Added functions for manipulating Host Assets
- Added help docs generated from PlatyPS using the comment-based help.
- QOL improvement to functions that take subnets as a parameter. Parameters now expect a string array.
- All functions now using Invoke-QualysRestCall as a helper function.