The format is based on and uses the types of changes according to Keep a Changelog, and this project adheres to Semantic Versioning.
- Fixed
Get-ADHostAudit
to properly create lastseen property. - Fixed
Get-WebCertAudit
comment based help examples.
- Added
OperatingSystemVersion
andOperatingSystemBuildName
properties toADAuditTasksComputer
class. - Updated
Build-ADAuditTasksComputer
function to include logic for mapping OS versions to human-readable names using new hash tables$osVersionMapWorkstation
and$osVersionMapServer
. - Modified
Get-ADHostAudit
function to includeOperatingSystemVersion
in$propsArray
, ensuring compatibility with changes inADAuditTasksComputer
class.
- Refactored
ADAuditTasksComputer
class to improve clarity and maintainability, moving data transformation logic toBuild-ADAuditTasksComputer
function. - Adjusted
Build-ADAuditTasksComputer
function to align with the refactoredADAuditTasksComputer
class, preserving original functionality and output format. - Refactored Initialize-ModuleEnv function to use force parameter and set to medium. Setting to high in future update.
- Fixed 'Get-ADHostAudit' to properly create filename for log when device type is missing.
- Grabbing FQDN using Get-CimInstance instead of environment variable
- Logging functions.
- Implemented previously missing logging technique to avoid log lumping.
- Get-FormattedDate function to format date for file names for later use.
- Requires Desktop Edition for Get-ADUserPrivilegeAudit
- In the
source/Public/Get-ADActiveUserAudit.ps1
,source/Public/Get-ADHostAudit.ps1
,source/Public/Get-ADUserWildCardAudit.ps1
,source/Public/Get-QuickPing.ps1
,source/Public/Join-CSVFile.ps1
, andsource/Public/Merge-NmapToADHostAudit.ps1
files. - The code was updated to ensure that the correct count of objects in the
$Export
variable is logged in theWrite-AuditLog
function
- GT instead of LT in Get-ADActiveUserAudit
- Downloadable help
- Logging and permissions audit.
- Unsigned code.
- Fixed catalog validation.
- Signing support for enhanced security and integrity checks.
- Updated the initialize-module function for improved module loading and setup.
- Several unneeded functions were removed to streamline the module and improve maintenance.
Write-AuditLog
function warning.- Directory path function.
- Custom URI for help using storage blob instead of SWA.
- Added custom help uri.
- Help info Uri.
- Added links to comment-based help.
- Added
-AttachmentFolderPath
parameter to Build-ReportArchive - Added parameters and variables to functions that changed due to new parameter
- Added Help documentation xml and cab files.
- Public function
Join-CSVFile
to join csv files. - Public function
Convert-NmapXMLToCSV
to convert nmap xml data to csv. - Public function
Merge-NmapToADHostAudit
to merge nmap csv output to ADHostAudit data. - Added scan on ping fail to
Get-NetworkAudit
- Added local MAC OUI list in case of failed download in
Build-MacIdOUIList
- Private function
Initialize-DirectoryPath
verbose output.
- Added option for throttle limit to network audit.
- Added powershellget installation to module installer.
- Throttle Limit to
Get-NetworkAudit
.
- Fix confirm preference IP output that was going off screen.
- Fix
Initialize-ModuleEnv
so that it installs latest powershell get and adds TLS to the session. - Fix
Initialize-ModuleEnv
so that it only sets the$script:MaximumFunctionCount = 8192
at the script scope instead of globally.
- Added option to confirm scan if
-NoHops
selected inGet-NetworkAudit
. - Added progress bar to
Get-QuickPing
.
- Added option to scan local subnets without a hop.
- Added public function
Get-QuickPing
- Added additional logging to
Merge-ADAuditZip
function.
- Fixed subnet calculation in
Get-NetworkAudit
. - Fixed
Build-NetScanObject
so$NetworkAudit
is replaced with$NetSCanObject
inswitch ($IncludeNoPing)
- Fixed
Build-NetScanObject
so output columns are port numbers without the word "Port "
- Added public function Get-WebCert. #40
- Added public function Register-GraphEmailApp. #38
- Added public function Send-GraphAppEmail. #39
- Added public function New-PatchTuesdayReport. #42
- Added private function Group-UpdateByProduct. #42
- Added private function Read-FileContent. #42
- Added private function Show-OSUpdateSection. #42
- Fixed missing comment help block in
Get-ADHostAudit
- Added private function
Initialize-DirectoryPath
.
- Added private builder function for
ADAuditTasksComputer
class #30. - Created tester function called
New-RandomFiles
to assist with testing theMerge-ADAudit
function.#32 - Added private builder function for NetScan, and MacID OUI List objects. #28
- Fixed
Merge-ADAudit
function's creation of file parts for files over default 25MB size. #32
- Added private function
Build-ADAuditTasksUser
for ADAuditTasksUser Class. - Integrated new private function into
Get-ADActiveUserAudit
andGet-ADUserWildCardAudit
- Changed public functions
Get-NetworkAudit
andSend-AuditEmail
to incorporate private functionInitialize-ModuleEnv
- Changed public functions
Get-ADActiveUserAudit
,Get-ADHostAudit
,Get-ADUserLogonAudit
,Get-ADUserPrivilegeAudit
,Get-ADUserPrivilegeAudit
, andGet-ADUserWildCardAudit
to incorporate private functionInstall-ADModule
- Changed
Write-AUditLog
variable to$LogString
.
- Fixed error output in
Get-NetworkAudit
-
Successfully ran the following PowerShell script to collect and merge audit reports from an Active Directory domain:
$workstations = Get-ADHostAudit -HostType WindowsWorkstations -Report -Verbose $servers = Get-ADHostAudit -HostType WindowsServers -Report -Verbose $nonWindows = Get-ADHostAudit -HostType "Non-Windows" -Report -Verbose $activeUsers = Get-ADActiveUserAudit -Report -Verbose $privilegedUsers = Get-ADUserPrivilegeAudit -Report -Verbose $wildcardUsers = Get-ADUserWildCardAudit -WildCardIdentifier "svc" -Report -Verbose Merge-ADAuditZip -FilePaths $workstations, $servers, $nonWindows, $activeUsers, $privilegedUsers, $wildcardUsers -OpenDirectory
-
Added support for splitting large ZIP files into multiple parts in Merge-ADAuditZip
-
Added new parameter -OpenDirectory to Merge-ADAuditZip for opening the output directory after merging files
-
Added comment blocks to Merge-ADAuditZip
- Improved error handling and logging in Merge-ADAuditZip
- Renamed output file for Merge-ADAuditZip to include timestamp and domain name
- Updated examples and usage information in Merge-ADAuditZip documentation
- Fixed issue with Merge-ADAuditZip where blank output files would prevent zipping remaining files
- Added comments and help blocks to various functions
- Added
Submit-FTPUpload
as public function - Modified
Get-ADHostAudit
to fix multiple string output
- Updated documentation to include examples and usage information
- Fixed error handling in
Get-ADHostAudit
for blank output - Fixed several bugs related to incorrect variable naming and parameter types
- Added comment help block to
Get-ADUserLogonAudit
- Added function
Merge-ADAuditZip
as a public function.
- Fixed multiple string output in
Get-ADHostAudit
- Added option to error handling for blank output for
Get-ADHostAudit
. - Added line comments to
Get-ADHostAudit
- Removed hash output file for
Get-ADHostAudit
,Get-ADUserPrivilegeAudit
, andGet-ADUserWIldCardAudit
- Removed hash output file for
Get-ADHostAudit
,Get-ADUserPrivilegeAudit
, andGet-ADUserWIldCardAudit
- Fixed documentation
- Added Classes
1.ADAuditTasksUser
- Added Classes
2.ADAuditTasksComputer
- Added Public Function
Get-ADActiveUserAudit
- Added Public Function
Get-ADHostAudit
- Added Public Function
Get-ADUserLogonAudit
- Added Public Function
Get-ADUserPrivilegeAudit
- Added Public Function
Get-ADUserWildCardAudit
- Added Public Function
Get-HostTag
- Added Public Function
Get-NetworkAudit
- Added Public Function
Send-AuditEmail
- Added Private Function
Build-ReportArchive
- Added Private Function
Get-ADExtendedRight
- Added Private Function
Get-ADGroupMemberof
- Added Private Function
Submit-FTPUpload
- Added Private Function
Test-IsAdmin
- Added Private Function
Write-ADAuditLog