Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BHE Logs Collector

Collector tool to gather: Windows event logs, BloodHound Enterprise (BHE) SharpHound and/or AzureHound service artifacts, and/or a Performance monitor trace into an output zip.
Designed for support and troubleshooting.


What it does

  • Exports Application and System event logs (.evtx; falls back to XML if needed).
  • Collects BHE artifacts from the SharpHound service account profile:
    • BloodHoundEnterprise/log_archive/
    • BloodHoundEnterprise/service.log
    • BloodHoundEnterprise/settings.json
  • When AzureHound is selected, in addition to the event logs, collects azurehound.log from C:\Program Files\AzureHound Enterprise\azurehound.log if present.
  • Shows per-item status and a final summary.
  • Creates a timestamped folder and zip in the chosen output directory (Desktop by default).
  • When using -All, collects all logs simultaneously: SharpHound, AzureHound, and Windows event logs.
  • When using -AllPlusPerf, it additionally creates a Performance Monitor Data Collector Set and starts the trace. It creates the output blg file in C:\PerfLogs
  • When using -GetCompStatus, analyzes a compstatus.csv file to provide troubleshooting insights about system availability and permission issues.

Requirements

  • Windows PowerShell 5.1+ (PowerShell 7+ also works).
  • Recommended: Run as Administrator (for event log export and access to service profiles).
  • Output folder (-OutputRoot) must exist and be writable. Defaults to the logged-on user's Desktop.

Quick Start

  1. Download the script to your target system (or git clone)
  2. Open PowerShell as Administrator
  3. Navigate to the script directory
  4. Unblock the file (required for downloaded scripts):
    Unblock-File-Path ".\GetBHESupportLogsTool.ps1"
  5. Run the script:
    .\GetBHESupportLogsTool.ps1
  6. Follow prompts to collect logs
  7. Review the generated zip file and folder

For automated collection:

.\GetBHESupportLogsTool.ps1 -All

Alternative: Execution Policy

If you continue to have issues, you may need to adjust the PowerShell execution policy:

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser

Note: This is a security setting change. Only use if the Unblock-File method doesn't work.


Usage

From an elevated PowerShell prompt in the scripts directory:

# Run the script directly (defaults to interactive mode)
.\GetBHESupportLogsTool.ps1

Interactive flow

  • Displays an ASCII banner.
  • Prompts: Press Enter to collect logs, or Q to quit.
  • Displays output log location.
  • Prompts for: Select collection target: (S)harpHound or (A)zureHound Choice [S/A]:
  • Displays per-item status as logs and files are collected.
  • Prints a summary and offers: Press O to open output folder, Z to open at zip, or any other key to exit.
  • When using -All, all logs are collected regardless of interactive target selection.

Note: The script is interactive by default for selective collection. Use -All or -AllPlusPerf to collect everything automatically without user input, or run without parameters for selective collection.

Examples

Basic Collection

# Interactive collection (default)
.\GetBHESupportLogsTool.ps1
# Automated collection of all logs
.\GetBHESupportLogsTool.ps1 -All
# Collection with custom output location
.\GetBHESupportLogsTool.ps1 -OutputRoot "C:\Temp"

Configuration Management

# Set SharpHound logging levels and restart service
.\GetBHESupportLogsTool.ps1 -SetLogLevel Debug -SetEnumerationLogLevel Trace -RestartDelegator
# Set AzureHound verbosity and restart
.\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2-RestartAzureHound

Selective Collection

# Skip Event Logs and settings.json
.\GetBHESupportLogsTool.ps1 -ExcludeEventLogs -ExcludeSettings
# Limit log archive collection
.\GetBHESupportLogsTool.ps1 -LogArchiveNumber 10# Performance monitoring only
.\GetBHESupportLogsTool.ps1 -GetBHEPerfmon

CompStatus Analysis

# Analyze compstatus.csv file for troubleshooting
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Help & Information

# Display help
.\GetBHESupportLogsTool.ps1 -Help

Configuration-only mode

  • When using only configuration/service parameters (-SetLogLevel, -SetEnumerationLogLevel, -RestartDelegator, -SetAzureVerbosity, -RestartAzureHound), the script skips the collection options entirely.
  • Only makes the requested changes and shows verification of what was updated.
  • Useful for troubleshooting when you need to change settings but don't want to collect logs yet.
  • Example: .\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2 -RestartAzureHound will only change verbosity and restart the service.

⚠️Note: Log level changes and service restarts are controlled only via parameters.


All Parameters

Collection Control

  • -OutputRoot [string] — Root folder where the output directory and zip are created. Defaults to Desktop.
  • -All [switch] — Collect all logs: SharpHound, AzureHound, and Windows event logs simultaneously. Automated execution - no user input required.
  • -AllPlusPerf [switch] — Do everything -All does and also ensure a BHE perfmon trace is set up. Automated execution - no user input required.
  • -LogArchiveNumber [int] — Copy only the N most recent files from the log_archive folder.

Exclusion Options

  • -ExcludeEventLogs [switch] — Skip exporting Windows Application/System event logs.
  • -ExcludeSettings [switch] — Skip copying settings.json from the BHE folder.

SharpHound Configuration Management

  • -SetLogLevel [Trace|Debug|Information] — Update LogLevel in settings.json before collection.
  • -SetEnumerationLogLevel [Trace|Debug|Information] — Update EnumerationLogLevel in settings.json.
  • -RestartDelegator [switch] — Automatically restart the Delegator service (useful after log level changes).

AzureHound Configuration Management

  • -SetAzureVerbosity [0|1|2] — Set AzureHound service log verbosity in C:\ProgramData\azurehound\config.json (0=Default, 1=Debug, 2=Trace).
  • -RestartAzureHound [switch] — Restart the AzureHound Windows service (useful after log level changes).

Performance Monitoring

  • -GetBHEPerfmon [switch] — Perfmon-only mode. If the Data Collector Set is running, you'll be prompted to stop it and then the trace files in C:\PerfLogs are zipped to Desktop as <COMPUTERNAME>_PerfTrace.zip. If it isn't present, the Data Collector Set is created and started with recommended counters.
  • -DeleteBHEPerfmon [switch] — Stop and delete the Data Collector Set.

Analysis Tools

  • -GetCompStatus [string] — Analyze a compstatus.csv file to provide troubleshooting insights. Shows status pivot tables, failure analysis, unreachable systems on port 445/TCP, subnet analysis, and permission issues.
  • -CompOutputPath [string] — Save CompStatus console output to a log file (use with -GetCompStatus). Provide a file path or a folder path.

Utility

  • -Help [switch] — Display command line parameters and examples, then exit.

CompStatus Analysis

The script can analyze compstatus.csv files to provide troubleshooting insights about BloodHound Enterprise collection status. This feature helps identify:

  • Status Overview: Pivot tables showing task completion status (excluding GetMembersInAlias tasks)
  • Failure Analysis: Detailed breakdown of failed tasks and their status codes
  • Network Connectivity: Systems unreachable on port 445/TCP (SMB)
  • Subnet Analysis: IPv4 /24 and /16 subnet groupings of unreachable systems
  • Permission Issues: Systems with access denied errors

Usage

# Analyze a compstatus.csv file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Sample Output

CompStatus Analysis Mode
=== Status Pivot Table (Excluding GetMembersInAlias) ===
Task Status Count
---- ------ -----
ComputerAvailability Success 150
ComputerAvailability PortNotOpen 25
GetDomainUsers Success 120
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Failures Only ===
Task Status Count
---- ------ -----
ComputerAvailability PortNotOpen 25
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Systems Unreachable on 445/TCP ===
ComputerName IPAddress Task Status
------------ --------- ---- ------
SERVER01 192.168.1.10 ComputerAvailability PortNotOpen
SERVER02 192.168.1.11 ComputerAvailability PortNotOpen
=== IPv4 /24 Subnets Unreachable on 445/TCP ===
Name Count
---- -----
192.168.1.0/24 15
192.168.2.0/24 10
=== Systems Missing Permissions ===
ComputerName Task Status
------------ ---- ------
SERVER03 GetDomainUsers ERROR_ACCESS_DENIED

Performance Monitor tracing

The script can manage a lightweight performance monitor trace using Windows logman:

  • Data Collector Set name: BloodHound_System_Overview_Lite
  • Location: C:\PerfLogs
  • Format: binary circular log (bincirc), 512 MB max, 30s sample interval
  • Counters included: "\Process(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Memory\*" "\Network Interface(*)\*" "\System\System Up Time"
  • Note: You can also run logman query to check if the Data Collector Set is already setup and trace is running, example output below:
    PS C:\Users\administrator.DEFENDERK\Desktop> logman query
    Data Collector Set Type Status
    -------------------------------------------------------------------------------
    BloodHound_System_Overview_Lite Counter Running 

Typical flows

  • Start or check the Data Collector Set, and if the trace is already running choose to stop and zip:

    .\GetBHESupportLogsTool.ps1 -GetBHEPerfmon
    # If running: press Y to stop and zip to Desktop as <COMPUTERNAME>_PerfTrace.zip# Press Q to leave it running; any other key cancels
  • Collect all logs and also ensure the Data Collector Set is set up (automated execution, does not stop/zip automatically):

    .\GetBHESupportLogsTool.ps1 -AllPlusPerf
    # Runs automatically without user input# Later, run -GetBHEPerfmon and choose Y to stop and zip
  • Delete the Data Collector Set:

    .\GetBHESupportLogsTool.ps1 -DeleteBHEPerfmon

Notes

  • Privacy: Event logs may contain PII; settings.json may contain endpoints or config. Use -ExcludeEventLogs and/or -ExcludeSettings if needed.

Output example

  • Folder: BHE_SupportLogs_YYYYMMDD_HHMMSS
  • Zip: BHE_SupportLogs_YYYYMMDD_HHMMSS.zip
  • Perf Zip: <COMPUTERNAME>_PerfTrace.zip
  • Tool Collector Transcript: collectorlogs.log inside the folder

Troubleshooting

  • If EVTX export fails, the script falls back to XML export via Get-WinEvent.
  • If BHE files are NotFound, ensure the SHDelegator or AzureHound service is installed and running, and that your account has permissions to access the service profile.

Demo Output Example

Startup (Standard Mode)

========================================
BHE Logs Collector v.2.10 ========================================
WARNING: This collection will include the below data!
-------> Windows Application and System event logs will be collected; use -ExcludeEventLogs to skip.
-------> settings.json will be collected; use -ExcludeSettings to skip.
Press Enter to collect logs, or Q to quit

Collection Progress

[INFO] Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
[INFO] Using service 'SHDelegator' (DisplayName: 'SharpHoundDelegator') running as 'DOMAIN\svc_sharphound'
[INFO] Resolved service profile path: C:\Users\svc_sharphound
Collecting Windows Event Logs...
[INFO] Exporting Application and System event logs...
- Application Event Log ... Collected - EVTX
- System Event Log ... Collected - EVTX
Collecting BloodHoundEnterprise files...
- BHE log_archive ... Collected
- BHE service.log ... Collected
- BHE settings.json ... Collected
[INFO] Creating zip archive...
- Zip Archive ... Created
Collection complete.
Folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip

Summary

Collected:
- Application Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\Application.evtx
- System Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\System.evtx
- BHE log_archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\log_archive
- BHE service.log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\service.log
- BHE settings.json -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\settings.json
- Zip Archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip archive: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Press O to open output folder, Z to open at zip, or any other key to exit.
Choice: 


License

This project is licensed under the MIT License. You are free to use, modify, and distribute it with attribution. See the LICENSE file for details.


---

About

Collect Windows event logs and BloodHound Enterprise (BHE) service artifacts into a single zip.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BHE Logs Collector

Collector tool to gather: Windows event logs, BloodHound Enterprise (BHE) SharpHound and/or AzureHound service artifacts, and/or a Performance monitor trace into an output zip.
Designed for support and troubleshooting.


What it does

  • Exports Application and System event logs (.evtx; falls back to XML if needed).
  • Collects BHE artifacts from the SharpHound service account profile:
    • BloodHoundEnterprise/log_archive/
    • BloodHoundEnterprise/service.log
    • BloodHoundEnterprise/settings.json
  • When AzureHound is selected, in addition to the event logs, collects azurehound.log from C:\Program Files\AzureHound Enterprise\azurehound.log if present.
  • Shows per-item status and a final summary.
  • Creates a timestamped folder and zip in the chosen output directory (Desktop by default).
  • When using -All, collects all logs simultaneously: SharpHound, AzureHound, and Windows event logs.
  • When using -AllPlusPerf, it additionally creates a Performance Monitor Data Collector Set and starts the trace. It creates the output blg file in C:\PerfLogs
  • When using -GetCompStatus, analyzes a compstatus.csv file to provide troubleshooting insights about system availability and permission issues.

Requirements

  • Windows PowerShell 5.1+ (PowerShell 7+ also works).
  • Recommended: Run as Administrator (for event log export and access to service profiles).
  • Output folder (-OutputRoot) must exist and be writable. Defaults to the logged-on user's Desktop.

Quick Start

  1. Download the script to your target system (or git clone)
  2. Open PowerShell as Administrator
  3. Navigate to the script directory
  4. Unblock the file (required for downloaded scripts):
    Unblock-File-Path ".\GetBHESupportLogsTool.ps1"
  5. Run the script:
    .\GetBHESupportLogsTool.ps1
  6. Follow prompts to collect logs
  7. Review the generated zip file and folder

For automated collection:

.\GetBHESupportLogsTool.ps1 -All

Alternative: Execution Policy

If you continue to have issues, you may need to adjust the PowerShell execution policy:

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser

Note: This is a security setting change. Only use if the Unblock-File method doesn't work.


Usage

From an elevated PowerShell prompt in the scripts directory:

# Run the script directly (defaults to interactive mode)
.\GetBHESupportLogsTool.ps1

Interactive flow

  • Displays an ASCII banner.
  • Prompts: Press Enter to collect logs, or Q to quit.
  • Displays output log location.
  • Prompts for: Select collection target: (S)harpHound or (A)zureHound Choice [S/A]:
  • Displays per-item status as logs and files are collected.
  • Prints a summary and offers: Press O to open output folder, Z to open at zip, or any other key to exit.
  • When using -All, all logs are collected regardless of interactive target selection.

Note: The script is interactive by default for selective collection. Use -All or -AllPlusPerf to collect everything automatically without user input, or run without parameters for selective collection.

Examples

Basic Collection

# Interactive collection (default)
.\GetBHESupportLogsTool.ps1
# Automated collection of all logs
.\GetBHESupportLogsTool.ps1 -All
# Collection with custom output location
.\GetBHESupportLogsTool.ps1 -OutputRoot "C:\Temp"

Configuration Management

# Set SharpHound logging levels and restart service
.\GetBHESupportLogsTool.ps1 -SetLogLevel Debug -SetEnumerationLogLevel Trace -RestartDelegator
# Set AzureHound verbosity and restart
.\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2-RestartAzureHound

Selective Collection

# Skip Event Logs and settings.json
.\GetBHESupportLogsTool.ps1 -ExcludeEventLogs -ExcludeSettings
# Limit log archive collection
.\GetBHESupportLogsTool.ps1 -LogArchiveNumber 10# Performance monitoring only
.\GetBHESupportLogsTool.ps1 -GetBHEPerfmon

CompStatus Analysis

# Analyze compstatus.csv file for troubleshooting
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Help & Information

# Display help
.\GetBHESupportLogsTool.ps1 -Help

Configuration-only mode

  • When using only configuration/service parameters (-SetLogLevel, -SetEnumerationLogLevel, -RestartDelegator, -SetAzureVerbosity, -RestartAzureHound), the script skips the collection options entirely.
  • Only makes the requested changes and shows verification of what was updated.
  • Useful for troubleshooting when you need to change settings but don't want to collect logs yet.
  • Example: .\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2 -RestartAzureHound will only change verbosity and restart the service.

⚠️Note: Log level changes and service restarts are controlled only via parameters.


All Parameters

Collection Control

  • -OutputRoot [string] — Root folder where the output directory and zip are created. Defaults to Desktop.
  • -All [switch] — Collect all logs: SharpHound, AzureHound, and Windows event logs simultaneously. Automated execution - no user input required.
  • -AllPlusPerf [switch] — Do everything -All does and also ensure a BHE perfmon trace is set up. Automated execution - no user input required.
  • -LogArchiveNumber [int] — Copy only the N most recent files from the log_archive folder.

Exclusion Options

  • -ExcludeEventLogs [switch] — Skip exporting Windows Application/System event logs.
  • -ExcludeSettings [switch] — Skip copying settings.json from the BHE folder.

SharpHound Configuration Management

  • -SetLogLevel [Trace|Debug|Information] — Update LogLevel in settings.json before collection.
  • -SetEnumerationLogLevel [Trace|Debug|Information] — Update EnumerationLogLevel in settings.json.
  • -RestartDelegator [switch] — Automatically restart the Delegator service (useful after log level changes).

AzureHound Configuration Management

  • -SetAzureVerbosity [0|1|2] — Set AzureHound service log verbosity in C:\ProgramData\azurehound\config.json (0=Default, 1=Debug, 2=Trace).
  • -RestartAzureHound [switch] — Restart the AzureHound Windows service (useful after log level changes).

Performance Monitoring

  • -GetBHEPerfmon [switch] — Perfmon-only mode. If the Data Collector Set is running, you'll be prompted to stop it and then the trace files in C:\PerfLogs are zipped to Desktop as <COMPUTERNAME>_PerfTrace.zip. If it isn't present, the Data Collector Set is created and started with recommended counters.
  • -DeleteBHEPerfmon [switch] — Stop and delete the Data Collector Set.

Analysis Tools

  • -GetCompStatus [string] — Analyze a compstatus.csv file to provide troubleshooting insights. Shows status pivot tables, failure analysis, unreachable systems on port 445/TCP, subnet analysis, and permission issues.
  • -CompOutputPath [string] — Save CompStatus console output to a log file (use with -GetCompStatus). Provide a file path or a folder path.

Utility

  • -Help [switch] — Display command line parameters and examples, then exit.

CompStatus Analysis

The script can analyze compstatus.csv files to provide troubleshooting insights about BloodHound Enterprise collection status. This feature helps identify:

  • Status Overview: Pivot tables showing task completion status (excluding GetMembersInAlias tasks)
  • Failure Analysis: Detailed breakdown of failed tasks and their status codes
  • Network Connectivity: Systems unreachable on port 445/TCP (SMB)
  • Subnet Analysis: IPv4 /24 and /16 subnet groupings of unreachable systems
  • Permission Issues: Systems with access denied errors

Usage

# Analyze a compstatus.csv file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Sample Output

CompStatus Analysis Mode
=== Status Pivot Table (Excluding GetMembersInAlias) ===
Task Status Count
---- ------ -----
ComputerAvailability Success 150
ComputerAvailability PortNotOpen 25
GetDomainUsers Success 120
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Failures Only ===
Task Status Count
---- ------ -----
ComputerAvailability PortNotOpen 25
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Systems Unreachable on 445/TCP ===
ComputerName IPAddress Task Status
------------ --------- ---- ------
SERVER01 192.168.1.10 ComputerAvailability PortNotOpen
SERVER02 192.168.1.11 ComputerAvailability PortNotOpen
=== IPv4 /24 Subnets Unreachable on 445/TCP ===
Name Count
---- -----
192.168.1.0/24 15
192.168.2.0/24 10
=== Systems Missing Permissions ===
ComputerName Task Status
------------ ---- ------
SERVER03 GetDomainUsers ERROR_ACCESS_DENIED

Performance Monitor tracing

The script can manage a lightweight performance monitor trace using Windows logman:

  • Data Collector Set name: BloodHound_System_Overview_Lite
  • Location: C:\PerfLogs
  • Format: binary circular log (bincirc), 512 MB max, 30s sample interval
  • Counters included: "\Process(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Memory\*" "\Network Interface(*)\*" "\System\System Up Time"
  • Note: You can also run logman query to check if the Data Collector Set is already setup and trace is running, example output below:
    PS C:\Users\administrator.DEFENDERK\Desktop> logman query
    Data Collector Set Type Status
    -------------------------------------------------------------------------------
    BloodHound_System_Overview_Lite Counter Running 

Typical flows

  • Start or check the Data Collector Set, and if the trace is already running choose to stop and zip:

    .\GetBHESupportLogsTool.ps1 -GetBHEPerfmon
    # If running: press Y to stop and zip to Desktop as <COMPUTERNAME>_PerfTrace.zip# Press Q to leave it running; any other key cancels
  • Collect all logs and also ensure the Data Collector Set is set up (automated execution, does not stop/zip automatically):

    .\GetBHESupportLogsTool.ps1 -AllPlusPerf
    # Runs automatically without user input# Later, run -GetBHEPerfmon and choose Y to stop and zip
  • Delete the Data Collector Set:

    .\GetBHESupportLogsTool.ps1 -DeleteBHEPerfmon

Notes

  • Privacy: Event logs may contain PII; settings.json may contain endpoints or config. Use -ExcludeEventLogs and/or -ExcludeSettings if needed.

Output example

  • Folder: BHE_SupportLogs_YYYYMMDD_HHMMSS
  • Zip: BHE_SupportLogs_YYYYMMDD_HHMMSS.zip
  • Perf Zip: <COMPUTERNAME>_PerfTrace.zip
  • Tool Collector Transcript: collectorlogs.log inside the folder

Troubleshooting

  • If EVTX export fails, the script falls back to XML export via Get-WinEvent.
  • If BHE files are NotFound, ensure the SHDelegator or AzureHound service is installed and running, and that your account has permissions to access the service profile.

Demo Output Example

Startup (Standard Mode)

========================================
BHE Logs Collector v.2.10 ========================================
WARNING: This collection will include the below data!
-------> Windows Application and System event logs will be collected; use -ExcludeEventLogs to skip.
-------> settings.json will be collected; use -ExcludeSettings to skip.
Press Enter to collect logs, or Q to quit

Collection Progress

[INFO] Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
[INFO] Using service 'SHDelegator' (DisplayName: 'SharpHoundDelegator') running as 'DOMAIN\svc_sharphound'
[INFO] Resolved service profile path: C:\Users\svc_sharphound
Collecting Windows Event Logs...
[INFO] Exporting Application and System event logs...
- Application Event Log ... Collected - EVTX
- System Event Log ... Collected - EVTX
Collecting BloodHoundEnterprise files...
- BHE log_archive ... Collected
- BHE service.log ... Collected
- BHE settings.json ... Collected
[INFO] Creating zip archive...
- Zip Archive ... Created
Collection complete.
Folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip

Summary

Collected:
- Application Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\Application.evtx
- System Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\System.evtx
- BHE log_archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\log_archive
- BHE service.log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\service.log
- BHE settings.json -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\settings.json
- Zip Archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip archive: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Press O to open output folder, Z to open at zip, or any other key to exit.
Choice: 


License

This project is licensed under the MIT License. You are free to use, modify, and distribute it with attribution. See the LICENSE file for details.


---

About

Collect Windows event logs and BloodHound Enterprise (BHE) service artifacts into a single zip.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BHE Logs Collector

Collector tool to gather: Windows event logs, BloodHound Enterprise (BHE) SharpHound and/or AzureHound service artifacts, and/or a Performance monitor trace into an output zip.
Designed for support and troubleshooting.


What it does

  • Exports Application and System event logs (.evtx; falls back to XML if needed).
  • Collects BHE artifacts from the SharpHound service account profile:
    • BloodHoundEnterprise/log_archive/
    • BloodHoundEnterprise/service.log
    • BloodHoundEnterprise/settings.json
  • When AzureHound is selected, in addition to the event logs, collects azurehound.log from C:\Program Files\AzureHound Enterprise\azurehound.log if present.
  • Shows per-item status and a final summary.
  • Creates a timestamped folder and zip in the chosen output directory (Desktop by default).
  • When using -All, collects all logs simultaneously: SharpHound, AzureHound, and Windows event logs.
  • When using -AllPlusPerf, it additionally creates a Performance Monitor Data Collector Set and starts the trace. It creates the output blg file in C:\PerfLogs
  • When using -GetCompStatus, analyzes a compstatus.csv file to provide troubleshooting insights about system availability and permission issues.

Requirements

  • Windows PowerShell 5.1+ (PowerShell 7+ also works).
  • Recommended: Run as Administrator (for event log export and access to service profiles).
  • Output folder (-OutputRoot) must exist and be writable. Defaults to the logged-on user's Desktop.

Quick Start

  1. Download the script to your target system (or git clone)
  2. Open PowerShell as Administrator
  3. Navigate to the script directory
  4. Unblock the file (required for downloaded scripts):
    Unblock-File-Path ".\GetBHESupportLogsTool.ps1"
  5. Run the script:
    .\GetBHESupportLogsTool.ps1
  6. Follow prompts to collect logs
  7. Review the generated zip file and folder

For automated collection:

.\GetBHESupportLogsTool.ps1 -All

Alternative: Execution Policy

If you continue to have issues, you may need to adjust the PowerShell execution policy:

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser

Note: This is a security setting change. Only use if the Unblock-File method doesn't work.


Usage

From an elevated PowerShell prompt in the scripts directory:

# Run the script directly (defaults to interactive mode)
.\GetBHESupportLogsTool.ps1

Interactive flow

  • Displays an ASCII banner.
  • Prompts: Press Enter to collect logs, or Q to quit.
  • Displays output log location.
  • Prompts for: Select collection target: (S)harpHound or (A)zureHound Choice [S/A]:
  • Displays per-item status as logs and files are collected.
  • Prints a summary and offers: Press O to open output folder, Z to open at zip, or any other key to exit.
  • When using -All, all logs are collected regardless of interactive target selection.

Note: The script is interactive by default for selective collection. Use -All or -AllPlusPerf to collect everything automatically without user input, or run without parameters for selective collection.

Examples

Basic Collection

# Interactive collection (default)
.\GetBHESupportLogsTool.ps1
# Automated collection of all logs
.\GetBHESupportLogsTool.ps1 -All
# Collection with custom output location
.\GetBHESupportLogsTool.ps1 -OutputRoot "C:\Temp"

Configuration Management

# Set SharpHound logging levels and restart service
.\GetBHESupportLogsTool.ps1 -SetLogLevel Debug -SetEnumerationLogLevel Trace -RestartDelegator
# Set AzureHound verbosity and restart
.\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2-RestartAzureHound

Selective Collection

# Skip Event Logs and settings.json
.\GetBHESupportLogsTool.ps1 -ExcludeEventLogs -ExcludeSettings
# Limit log archive collection
.\GetBHESupportLogsTool.ps1 -LogArchiveNumber 10# Performance monitoring only
.\GetBHESupportLogsTool.ps1 -GetBHEPerfmon

CompStatus Analysis

# Analyze compstatus.csv file for troubleshooting
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Help & Information

# Display help
.\GetBHESupportLogsTool.ps1 -Help

Configuration-only mode

  • When using only configuration/service parameters (-SetLogLevel, -SetEnumerationLogLevel, -RestartDelegator, -SetAzureVerbosity, -RestartAzureHound), the script skips the collection options entirely.
  • Only makes the requested changes and shows verification of what was updated.
  • Useful for troubleshooting when you need to change settings but don't want to collect logs yet.
  • Example: .\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2 -RestartAzureHound will only change verbosity and restart the service.

⚠️Note: Log level changes and service restarts are controlled only via parameters.


All Parameters

Collection Control

  • -OutputRoot [string] — Root folder where the output directory and zip are created. Defaults to Desktop.
  • -All [switch] — Collect all logs: SharpHound, AzureHound, and Windows event logs simultaneously. Automated execution - no user input required.
  • -AllPlusPerf [switch] — Do everything -All does and also ensure a BHE perfmon trace is set up. Automated execution - no user input required.
  • -LogArchiveNumber [int] — Copy only the N most recent files from the log_archive folder.

Exclusion Options

  • -ExcludeEventLogs [switch] — Skip exporting Windows Application/System event logs.
  • -ExcludeSettings [switch] — Skip copying settings.json from the BHE folder.

SharpHound Configuration Management

  • -SetLogLevel [Trace|Debug|Information] — Update LogLevel in settings.json before collection.
  • -SetEnumerationLogLevel [Trace|Debug|Information] — Update EnumerationLogLevel in settings.json.
  • -RestartDelegator [switch] — Automatically restart the Delegator service (useful after log level changes).

AzureHound Configuration Management

  • -SetAzureVerbosity [0|1|2] — Set AzureHound service log verbosity in C:\ProgramData\azurehound\config.json (0=Default, 1=Debug, 2=Trace).
  • -RestartAzureHound [switch] — Restart the AzureHound Windows service (useful after log level changes).

Performance Monitoring

  • -GetBHEPerfmon [switch] — Perfmon-only mode. If the Data Collector Set is running, you'll be prompted to stop it and then the trace files in C:\PerfLogs are zipped to Desktop as <COMPUTERNAME>_PerfTrace.zip. If it isn't present, the Data Collector Set is created and started with recommended counters.
  • -DeleteBHEPerfmon [switch] — Stop and delete the Data Collector Set.

Analysis Tools

  • -GetCompStatus [string] — Analyze a compstatus.csv file to provide troubleshooting insights. Shows status pivot tables, failure analysis, unreachable systems on port 445/TCP, subnet analysis, and permission issues.
  • -CompOutputPath [string] — Save CompStatus console output to a log file (use with -GetCompStatus). Provide a file path or a folder path.

Utility

  • -Help [switch] — Display command line parameters and examples, then exit.

CompStatus Analysis

The script can analyze compstatus.csv files to provide troubleshooting insights about BloodHound Enterprise collection status. This feature helps identify:

  • Status Overview: Pivot tables showing task completion status (excluding GetMembersInAlias tasks)
  • Failure Analysis: Detailed breakdown of failed tasks and their status codes
  • Network Connectivity: Systems unreachable on port 445/TCP (SMB)
  • Subnet Analysis: IPv4 /24 and /16 subnet groupings of unreachable systems
  • Permission Issues: Systems with access denied errors

Usage

# Analyze a compstatus.csv file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Sample Output

CompStatus Analysis Mode
=== Status Pivot Table (Excluding GetMembersInAlias) ===
Task Status Count
---- ------ -----
ComputerAvailability Success 150
ComputerAvailability PortNotOpen 25
GetDomainUsers Success 120
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Failures Only ===
Task Status Count
---- ------ -----
ComputerAvailability PortNotOpen 25
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Systems Unreachable on 445/TCP ===
ComputerName IPAddress Task Status
------------ --------- ---- ------
SERVER01 192.168.1.10 ComputerAvailability PortNotOpen
SERVER02 192.168.1.11 ComputerAvailability PortNotOpen
=== IPv4 /24 Subnets Unreachable on 445/TCP ===
Name Count
---- -----
192.168.1.0/24 15
192.168.2.0/24 10
=== Systems Missing Permissions ===
ComputerName Task Status
------------ ---- ------
SERVER03 GetDomainUsers ERROR_ACCESS_DENIED

Performance Monitor tracing

The script can manage a lightweight performance monitor trace using Windows logman:

  • Data Collector Set name: BloodHound_System_Overview_Lite
  • Location: C:\PerfLogs
  • Format: binary circular log (bincirc), 512 MB max, 30s sample interval
  • Counters included: "\Process(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Memory\*" "\Network Interface(*)\*" "\System\System Up Time"
  • Note: You can also run logman query to check if the Data Collector Set is already setup and trace is running, example output below:
    PS C:\Users\administrator.DEFENDERK\Desktop> logman query
    Data Collector Set Type Status
    -------------------------------------------------------------------------------
    BloodHound_System_Overview_Lite Counter Running 

Typical flows

  • Start or check the Data Collector Set, and if the trace is already running choose to stop and zip:

    .\GetBHESupportLogsTool.ps1 -GetBHEPerfmon
    # If running: press Y to stop and zip to Desktop as <COMPUTERNAME>_PerfTrace.zip# Press Q to leave it running; any other key cancels
  • Collect all logs and also ensure the Data Collector Set is set up (automated execution, does not stop/zip automatically):

    .\GetBHESupportLogsTool.ps1 -AllPlusPerf
    # Runs automatically without user input# Later, run -GetBHEPerfmon and choose Y to stop and zip
  • Delete the Data Collector Set:

    .\GetBHESupportLogsTool.ps1 -DeleteBHEPerfmon

Notes

  • Privacy: Event logs may contain PII; settings.json may contain endpoints or config. Use -ExcludeEventLogs and/or -ExcludeSettings if needed.

Output example

  • Folder: BHE_SupportLogs_YYYYMMDD_HHMMSS
  • Zip: BHE_SupportLogs_YYYYMMDD_HHMMSS.zip
  • Perf Zip: <COMPUTERNAME>_PerfTrace.zip
  • Tool Collector Transcript: collectorlogs.log inside the folder

Troubleshooting

  • If EVTX export fails, the script falls back to XML export via Get-WinEvent.
  • If BHE files are NotFound, ensure the SHDelegator or AzureHound service is installed and running, and that your account has permissions to access the service profile.

Demo Output Example

Startup (Standard Mode)

========================================
BHE Logs Collector v.2.10 ========================================
WARNING: This collection will include the below data!
-------> Windows Application and System event logs will be collected; use -ExcludeEventLogs to skip.
-------> settings.json will be collected; use -ExcludeSettings to skip.
Press Enter to collect logs, or Q to quit

Collection Progress

[INFO] Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
[INFO] Using service 'SHDelegator' (DisplayName: 'SharpHoundDelegator') running as 'DOMAIN\svc_sharphound'
[INFO] Resolved service profile path: C:\Users\svc_sharphound
Collecting Windows Event Logs...
[INFO] Exporting Application and System event logs...
- Application Event Log ... Collected - EVTX
- System Event Log ... Collected - EVTX
Collecting BloodHoundEnterprise files...
- BHE log_archive ... Collected
- BHE service.log ... Collected
- BHE settings.json ... Collected
[INFO] Creating zip archive...
- Zip Archive ... Created
Collection complete.
Folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip

Summary

Collected:
- Application Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\Application.evtx
- System Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\System.evtx
- BHE log_archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\log_archive
- BHE service.log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\service.log
- BHE settings.json -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\settings.json
- Zip Archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip archive: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Press O to open output folder, Z to open at zip, or any other key to exit.
Choice: 


License

This project is licensed under the MIT License. You are free to use, modify, and distribute it with attribution. See the LICENSE file for details.


---

About

Collect Windows event logs and BloodHound Enterprise (BHE) service artifacts into a single zip.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BHE Logs Collector

Collector tool to gather: Windows event logs, BloodHound Enterprise (BHE) SharpHound and/or AzureHound service artifacts, and/or a Performance monitor trace into an output zip.
Designed for support and troubleshooting.


What it does

  • Exports Application and System event logs (.evtx; falls back to XML if needed).
  • Collects BHE artifacts from the SharpHound service account profile:
    • BloodHoundEnterprise/log_archive/
    • BloodHoundEnterprise/service.log
    • BloodHoundEnterprise/settings.json
  • When AzureHound is selected, in addition to the event logs, collects azurehound.log from C:\Program Files\AzureHound Enterprise\azurehound.log if present.
  • Shows per-item status and a final summary.
  • Creates a timestamped folder and zip in the chosen output directory (Desktop by default).
  • When using -All, collects all logs simultaneously: SharpHound, AzureHound, and Windows event logs.
  • When using -AllPlusPerf, it additionally creates a Performance Monitor Data Collector Set and starts the trace. It creates the output blg file in C:\PerfLogs
  • When using -GetCompStatus, analyzes a compstatus.csv file to provide troubleshooting insights about system availability and permission issues.

Requirements

  • Windows PowerShell 5.1+ (PowerShell 7+ also works).
  • Recommended: Run as Administrator (for event log export and access to service profiles).
  • Output folder (-OutputRoot) must exist and be writable. Defaults to the logged-on user's Desktop.

Quick Start

  1. Download the script to your target system (or git clone)
  2. Open PowerShell as Administrator
  3. Navigate to the script directory
  4. Unblock the file (required for downloaded scripts):
    Unblock-File-Path ".\GetBHESupportLogsTool.ps1"
  5. Run the script:
    .\GetBHESupportLogsTool.ps1
  6. Follow prompts to collect logs
  7. Review the generated zip file and folder

For automated collection:

.\GetBHESupportLogsTool.ps1 -All

Alternative: Execution Policy

If you continue to have issues, you may need to adjust the PowerShell execution policy:

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser

Note: This is a security setting change. Only use if the Unblock-File method doesn't work.


Usage

From an elevated PowerShell prompt in the scripts directory:

# Run the script directly (defaults to interactive mode)
.\GetBHESupportLogsTool.ps1

Interactive flow

  • Displays an ASCII banner.
  • Prompts: Press Enter to collect logs, or Q to quit.
  • Displays output log location.
  • Prompts for: Select collection target: (S)harpHound or (A)zureHound Choice [S/A]:
  • Displays per-item status as logs and files are collected.
  • Prints a summary and offers: Press O to open output folder, Z to open at zip, or any other key to exit.
  • When using -All, all logs are collected regardless of interactive target selection.

Note: The script is interactive by default for selective collection. Use -All or -AllPlusPerf to collect everything automatically without user input, or run without parameters for selective collection.

Examples

Basic Collection

# Interactive collection (default)
.\GetBHESupportLogsTool.ps1
# Automated collection of all logs
.\GetBHESupportLogsTool.ps1 -All
# Collection with custom output location
.\GetBHESupportLogsTool.ps1 -OutputRoot "C:\Temp"

Configuration Management

# Set SharpHound logging levels and restart service
.\GetBHESupportLogsTool.ps1 -SetLogLevel Debug -SetEnumerationLogLevel Trace -RestartDelegator
# Set AzureHound verbosity and restart
.\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2-RestartAzureHound

Selective Collection

# Skip Event Logs and settings.json
.\GetBHESupportLogsTool.ps1 -ExcludeEventLogs -ExcludeSettings
# Limit log archive collection
.\GetBHESupportLogsTool.ps1 -LogArchiveNumber 10# Performance monitoring only
.\GetBHESupportLogsTool.ps1 -GetBHEPerfmon

CompStatus Analysis

# Analyze compstatus.csv file for troubleshooting
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Help & Information

# Display help
.\GetBHESupportLogsTool.ps1 -Help

Configuration-only mode

  • When using only configuration/service parameters (-SetLogLevel, -SetEnumerationLogLevel, -RestartDelegator, -SetAzureVerbosity, -RestartAzureHound), the script skips the collection options entirely.
  • Only makes the requested changes and shows verification of what was updated.
  • Useful for troubleshooting when you need to change settings but don't want to collect logs yet.
  • Example: .\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2 -RestartAzureHound will only change verbosity and restart the service.

⚠️Note: Log level changes and service restarts are controlled only via parameters.


All Parameters

Collection Control

  • -OutputRoot [string] — Root folder where the output directory and zip are created. Defaults to Desktop.
  • -All [switch] — Collect all logs: SharpHound, AzureHound, and Windows event logs simultaneously. Automated execution - no user input required.
  • -AllPlusPerf [switch] — Do everything -All does and also ensure a BHE perfmon trace is set up. Automated execution - no user input required.
  • -LogArchiveNumber [int] — Copy only the N most recent files from the log_archive folder.

Exclusion Options

  • -ExcludeEventLogs [switch] — Skip exporting Windows Application/System event logs.
  • -ExcludeSettings [switch] — Skip copying settings.json from the BHE folder.

SharpHound Configuration Management

  • -SetLogLevel [Trace|Debug|Information] — Update LogLevel in settings.json before collection.
  • -SetEnumerationLogLevel [Trace|Debug|Information] — Update EnumerationLogLevel in settings.json.
  • -RestartDelegator [switch] — Automatically restart the Delegator service (useful after log level changes).

AzureHound Configuration Management

  • -SetAzureVerbosity [0|1|2] — Set AzureHound service log verbosity in C:\ProgramData\azurehound\config.json (0=Default, 1=Debug, 2=Trace).
  • -RestartAzureHound [switch] — Restart the AzureHound Windows service (useful after log level changes).

Performance Monitoring

  • -GetBHEPerfmon [switch] — Perfmon-only mode. If the Data Collector Set is running, you'll be prompted to stop it and then the trace files in C:\PerfLogs are zipped to Desktop as <COMPUTERNAME>_PerfTrace.zip. If it isn't present, the Data Collector Set is created and started with recommended counters.
  • -DeleteBHEPerfmon [switch] — Stop and delete the Data Collector Set.

Analysis Tools

  • -GetCompStatus [string] — Analyze a compstatus.csv file to provide troubleshooting insights. Shows status pivot tables, failure analysis, unreachable systems on port 445/TCP, subnet analysis, and permission issues.
  • -CompOutputPath [string] — Save CompStatus console output to a log file (use with -GetCompStatus). Provide a file path or a folder path.

Utility

  • -Help [switch] — Display command line parameters and examples, then exit.

CompStatus Analysis

The script can analyze compstatus.csv files to provide troubleshooting insights about BloodHound Enterprise collection status. This feature helps identify:

  • Status Overview: Pivot tables showing task completion status (excluding GetMembersInAlias tasks)
  • Failure Analysis: Detailed breakdown of failed tasks and their status codes
  • Network Connectivity: Systems unreachable on port 445/TCP (SMB)
  • Subnet Analysis: IPv4 /24 and /16 subnet groupings of unreachable systems
  • Permission Issues: Systems with access denied errors

Usage

# Analyze a compstatus.csv file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Sample Output

CompStatus Analysis Mode
=== Status Pivot Table (Excluding GetMembersInAlias) ===
Task Status Count
---- ------ -----
ComputerAvailability Success 150
ComputerAvailability PortNotOpen 25
GetDomainUsers Success 120
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Failures Only ===
Task Status Count
---- ------ -----
ComputerAvailability PortNotOpen 25
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Systems Unreachable on 445/TCP ===
ComputerName IPAddress Task Status
------------ --------- ---- ------
SERVER01 192.168.1.10 ComputerAvailability PortNotOpen
SERVER02 192.168.1.11 ComputerAvailability PortNotOpen
=== IPv4 /24 Subnets Unreachable on 445/TCP ===
Name Count
---- -----
192.168.1.0/24 15
192.168.2.0/24 10
=== Systems Missing Permissions ===
ComputerName Task Status
------------ ---- ------
SERVER03 GetDomainUsers ERROR_ACCESS_DENIED

Performance Monitor tracing

The script can manage a lightweight performance monitor trace using Windows logman:

  • Data Collector Set name: BloodHound_System_Overview_Lite
  • Location: C:\PerfLogs
  • Format: binary circular log (bincirc), 512 MB max, 30s sample interval
  • Counters included: "\Process(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Memory\*" "\Network Interface(*)\*" "\System\System Up Time"
  • Note: You can also run logman query to check if the Data Collector Set is already setup and trace is running, example output below:
    PS C:\Users\administrator.DEFENDERK\Desktop> logman query
    Data Collector Set Type Status
    -------------------------------------------------------------------------------
    BloodHound_System_Overview_Lite Counter Running 

Typical flows

  • Start or check the Data Collector Set, and if the trace is already running choose to stop and zip:

    .\GetBHESupportLogsTool.ps1 -GetBHEPerfmon
    # If running: press Y to stop and zip to Desktop as <COMPUTERNAME>_PerfTrace.zip# Press Q to leave it running; any other key cancels
  • Collect all logs and also ensure the Data Collector Set is set up (automated execution, does not stop/zip automatically):

    .\GetBHESupportLogsTool.ps1 -AllPlusPerf
    # Runs automatically without user input# Later, run -GetBHEPerfmon and choose Y to stop and zip
  • Delete the Data Collector Set:

    .\GetBHESupportLogsTool.ps1 -DeleteBHEPerfmon

Notes

  • Privacy: Event logs may contain PII; settings.json may contain endpoints or config. Use -ExcludeEventLogs and/or -ExcludeSettings if needed.

Output example

  • Folder: BHE_SupportLogs_YYYYMMDD_HHMMSS
  • Zip: BHE_SupportLogs_YYYYMMDD_HHMMSS.zip
  • Perf Zip: <COMPUTERNAME>_PerfTrace.zip
  • Tool Collector Transcript: collectorlogs.log inside the folder

Troubleshooting

  • If EVTX export fails, the script falls back to XML export via Get-WinEvent.
  • If BHE files are NotFound, ensure the SHDelegator or AzureHound service is installed and running, and that your account has permissions to access the service profile.

Demo Output Example

Startup (Standard Mode)

========================================
BHE Logs Collector v.2.10 ========================================
WARNING: This collection will include the below data!
-------> Windows Application and System event logs will be collected; use -ExcludeEventLogs to skip.
-------> settings.json will be collected; use -ExcludeSettings to skip.
Press Enter to collect logs, or Q to quit

Collection Progress

[INFO] Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
[INFO] Using service 'SHDelegator' (DisplayName: 'SharpHoundDelegator') running as 'DOMAIN\svc_sharphound'
[INFO] Resolved service profile path: C:\Users\svc_sharphound
Collecting Windows Event Logs...
[INFO] Exporting Application and System event logs...
- Application Event Log ... Collected - EVTX
- System Event Log ... Collected - EVTX
Collecting BloodHoundEnterprise files...
- BHE log_archive ... Collected
- BHE service.log ... Collected
- BHE settings.json ... Collected
[INFO] Creating zip archive...
- Zip Archive ... Created
Collection complete.
Folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip

Summary

Collected:
- Application Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\Application.evtx
- System Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\System.evtx
- BHE log_archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\log_archive
- BHE service.log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\service.log
- BHE settings.json -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\settings.json
- Zip Archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip archive: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Press O to open output folder, Z to open at zip, or any other key to exit.
Choice: 


License

This project is licensed under the MIT License. You are free to use, modify, and distribute it with attribution. See the LICENSE file for details.


---

About

Collect Windows event logs and BloodHound Enterprise (BHE) service artifacts into a single zip.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BHE Logs Collector

Collector tool to gather: Windows event logs, BloodHound Enterprise (BHE) SharpHound and/or AzureHound service artifacts, and/or a Performance monitor trace into an output zip.
Designed for support and troubleshooting.


What it does

  • Exports Application and System event logs (.evtx; falls back to XML if needed).
  • Collects BHE artifacts from the SharpHound service account profile:
    • BloodHoundEnterprise/log_archive/
    • BloodHoundEnterprise/service.log
    • BloodHoundEnterprise/settings.json
  • When AzureHound is selected, in addition to the event logs, collects azurehound.log from C:\Program Files\AzureHound Enterprise\azurehound.log if present.
  • Shows per-item status and a final summary.
  • Creates a timestamped folder and zip in the chosen output directory (Desktop by default).
  • When using -All, collects all logs simultaneously: SharpHound, AzureHound, and Windows event logs.
  • When using -AllPlusPerf, it additionally creates a Performance Monitor Data Collector Set and starts the trace. It creates the output blg file in C:\PerfLogs
  • When using -GetCompStatus, analyzes a compstatus.csv file to provide troubleshooting insights about system availability and permission issues.

Requirements

  • Windows PowerShell 5.1+ (PowerShell 7+ also works).
  • Recommended: Run as Administrator (for event log export and access to service profiles).
  • Output folder (-OutputRoot) must exist and be writable. Defaults to the logged-on user's Desktop.

Quick Start

  1. Download the script to your target system (or git clone)
  2. Open PowerShell as Administrator
  3. Navigate to the script directory
  4. Unblock the file (required for downloaded scripts):
    Unblock-File-Path ".\GetBHESupportLogsTool.ps1"
  5. Run the script:
    .\GetBHESupportLogsTool.ps1
  6. Follow prompts to collect logs
  7. Review the generated zip file and folder

For automated collection:

.\GetBHESupportLogsTool.ps1 -All

Alternative: Execution Policy

If you continue to have issues, you may need to adjust the PowerShell execution policy:

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser

Note: This is a security setting change. Only use if the Unblock-File method doesn't work.


Usage

From an elevated PowerShell prompt in the scripts directory:

# Run the script directly (defaults to interactive mode)
.\GetBHESupportLogsTool.ps1

Interactive flow

  • Displays an ASCII banner.
  • Prompts: Press Enter to collect logs, or Q to quit.
  • Displays output log location.
  • Prompts for: Select collection target: (S)harpHound or (A)zureHound Choice [S/A]:
  • Displays per-item status as logs and files are collected.
  • Prints a summary and offers: Press O to open output folder, Z to open at zip, or any other key to exit.
  • When using -All, all logs are collected regardless of interactive target selection.

Note: The script is interactive by default for selective collection. Use -All or -AllPlusPerf to collect everything automatically without user input, or run without parameters for selective collection.

Examples

Basic Collection

# Interactive collection (default)
.\GetBHESupportLogsTool.ps1
# Automated collection of all logs
.\GetBHESupportLogsTool.ps1 -All
# Collection with custom output location
.\GetBHESupportLogsTool.ps1 -OutputRoot "C:\Temp"

Configuration Management

# Set SharpHound logging levels and restart service
.\GetBHESupportLogsTool.ps1 -SetLogLevel Debug -SetEnumerationLogLevel Trace -RestartDelegator
# Set AzureHound verbosity and restart
.\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2-RestartAzureHound

Selective Collection

# Skip Event Logs and settings.json
.\GetBHESupportLogsTool.ps1 -ExcludeEventLogs -ExcludeSettings
# Limit log archive collection
.\GetBHESupportLogsTool.ps1 -LogArchiveNumber 10# Performance monitoring only
.\GetBHESupportLogsTool.ps1 -GetBHEPerfmon

CompStatus Analysis

# Analyze compstatus.csv file for troubleshooting
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Help & Information

# Display help
.\GetBHESupportLogsTool.ps1 -Help

Configuration-only mode

  • When using only configuration/service parameters (-SetLogLevel, -SetEnumerationLogLevel, -RestartDelegator, -SetAzureVerbosity, -RestartAzureHound), the script skips the collection options entirely.
  • Only makes the requested changes and shows verification of what was updated.
  • Useful for troubleshooting when you need to change settings but don't want to collect logs yet.
  • Example: .\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2 -RestartAzureHound will only change verbosity and restart the service.

⚠️Note: Log level changes and service restarts are controlled only via parameters.


All Parameters

Collection Control

  • -OutputRoot [string] — Root folder where the output directory and zip are created. Defaults to Desktop.
  • -All [switch] — Collect all logs: SharpHound, AzureHound, and Windows event logs simultaneously. Automated execution - no user input required.
  • -AllPlusPerf [switch] — Do everything -All does and also ensure a BHE perfmon trace is set up. Automated execution - no user input required.
  • -LogArchiveNumber [int] — Copy only the N most recent files from the log_archive folder.

Exclusion Options

  • -ExcludeEventLogs [switch] — Skip exporting Windows Application/System event logs.
  • -ExcludeSettings [switch] — Skip copying settings.json from the BHE folder.

SharpHound Configuration Management

  • -SetLogLevel [Trace|Debug|Information] — Update LogLevel in settings.json before collection.
  • -SetEnumerationLogLevel [Trace|Debug|Information] — Update EnumerationLogLevel in settings.json.
  • -RestartDelegator [switch] — Automatically restart the Delegator service (useful after log level changes).

AzureHound Configuration Management

  • -SetAzureVerbosity [0|1|2] — Set AzureHound service log verbosity in C:\ProgramData\azurehound\config.json (0=Default, 1=Debug, 2=Trace).
  • -RestartAzureHound [switch] — Restart the AzureHound Windows service (useful after log level changes).

Performance Monitoring

  • -GetBHEPerfmon [switch] — Perfmon-only mode. If the Data Collector Set is running, you'll be prompted to stop it and then the trace files in C:\PerfLogs are zipped to Desktop as <COMPUTERNAME>_PerfTrace.zip. If it isn't present, the Data Collector Set is created and started with recommended counters.
  • -DeleteBHEPerfmon [switch] — Stop and delete the Data Collector Set.

Analysis Tools

  • -GetCompStatus [string] — Analyze a compstatus.csv file to provide troubleshooting insights. Shows status pivot tables, failure analysis, unreachable systems on port 445/TCP, subnet analysis, and permission issues.
  • -CompOutputPath [string] — Save CompStatus console output to a log file (use with -GetCompStatus). Provide a file path or a folder path.

Utility

  • -Help [switch] — Display command line parameters and examples, then exit.

CompStatus Analysis

The script can analyze compstatus.csv files to provide troubleshooting insights about BloodHound Enterprise collection status. This feature helps identify:

  • Status Overview: Pivot tables showing task completion status (excluding GetMembersInAlias tasks)
  • Failure Analysis: Detailed breakdown of failed tasks and their status codes
  • Network Connectivity: Systems unreachable on port 445/TCP (SMB)
  • Subnet Analysis: IPv4 /24 and /16 subnet groupings of unreachable systems
  • Permission Issues: Systems with access denied errors

Usage

# Analyze a compstatus.csv file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Sample Output

CompStatus Analysis Mode
=== Status Pivot Table (Excluding GetMembersInAlias) ===
Task Status Count
---- ------ -----
ComputerAvailability Success 150
ComputerAvailability PortNotOpen 25
GetDomainUsers Success 120
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Failures Only ===
Task Status Count
---- ------ -----
ComputerAvailability PortNotOpen 25
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Systems Unreachable on 445/TCP ===
ComputerName IPAddress Task Status
------------ --------- ---- ------
SERVER01 192.168.1.10 ComputerAvailability PortNotOpen
SERVER02 192.168.1.11 ComputerAvailability PortNotOpen
=== IPv4 /24 Subnets Unreachable on 445/TCP ===
Name Count
---- -----
192.168.1.0/24 15
192.168.2.0/24 10
=== Systems Missing Permissions ===
ComputerName Task Status
------------ ---- ------
SERVER03 GetDomainUsers ERROR_ACCESS_DENIED

Performance Monitor tracing

The script can manage a lightweight performance monitor trace using Windows logman:

  • Data Collector Set name: BloodHound_System_Overview_Lite
  • Location: C:\PerfLogs
  • Format: binary circular log (bincirc), 512 MB max, 30s sample interval
  • Counters included: "\Process(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Memory\*" "\Network Interface(*)\*" "\System\System Up Time"
  • Note: You can also run logman query to check if the Data Collector Set is already setup and trace is running, example output below:
    PS C:\Users\administrator.DEFENDERK\Desktop> logman query
    Data Collector Set Type Status
    -------------------------------------------------------------------------------
    BloodHound_System_Overview_Lite Counter Running 

Typical flows

  • Start or check the Data Collector Set, and if the trace is already running choose to stop and zip:

    .\GetBHESupportLogsTool.ps1 -GetBHEPerfmon
    # If running: press Y to stop and zip to Desktop as <COMPUTERNAME>_PerfTrace.zip# Press Q to leave it running; any other key cancels
  • Collect all logs and also ensure the Data Collector Set is set up (automated execution, does not stop/zip automatically):

    .\GetBHESupportLogsTool.ps1 -AllPlusPerf
    # Runs automatically without user input# Later, run -GetBHEPerfmon and choose Y to stop and zip
  • Delete the Data Collector Set:

    .\GetBHESupportLogsTool.ps1 -DeleteBHEPerfmon

Notes

  • Privacy: Event logs may contain PII; settings.json may contain endpoints or config. Use -ExcludeEventLogs and/or -ExcludeSettings if needed.

Output example

  • Folder: BHE_SupportLogs_YYYYMMDD_HHMMSS
  • Zip: BHE_SupportLogs_YYYYMMDD_HHMMSS.zip
  • Perf Zip: <COMPUTERNAME>_PerfTrace.zip
  • Tool Collector Transcript: collectorlogs.log inside the folder

Troubleshooting

  • If EVTX export fails, the script falls back to XML export via Get-WinEvent.
  • If BHE files are NotFound, ensure the SHDelegator or AzureHound service is installed and running, and that your account has permissions to access the service profile.

Demo Output Example

Startup (Standard Mode)

========================================
BHE Logs Collector v.2.10 ========================================
WARNING: This collection will include the below data!
-------> Windows Application and System event logs will be collected; use -ExcludeEventLogs to skip.
-------> settings.json will be collected; use -ExcludeSettings to skip.
Press Enter to collect logs, or Q to quit

Collection Progress

[INFO] Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
[INFO] Using service 'SHDelegator' (DisplayName: 'SharpHoundDelegator') running as 'DOMAIN\svc_sharphound'
[INFO] Resolved service profile path: C:\Users\svc_sharphound
Collecting Windows Event Logs...
[INFO] Exporting Application and System event logs...
- Application Event Log ... Collected - EVTX
- System Event Log ... Collected - EVTX
Collecting BloodHoundEnterprise files...
- BHE log_archive ... Collected
- BHE service.log ... Collected
- BHE settings.json ... Collected
[INFO] Creating zip archive...
- Zip Archive ... Created
Collection complete.
Folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip

Summary

Collected:
- Application Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\Application.evtx
- System Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\System.evtx
- BHE log_archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\log_archive
- BHE service.log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\service.log
- BHE settings.json -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\settings.json
- Zip Archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip archive: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Press O to open output folder, Z to open at zip, or any other key to exit.
Choice: 


License

This project is licensed under the MIT License. You are free to use, modify, and distribute it with attribution. See the LICENSE file for details.


---

About

Collect Windows event logs and BloodHound Enterprise (BHE) service artifacts into a single zip.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BHE Logs Collector

Collector tool to gather: Windows event logs, BloodHound Enterprise (BHE) SharpHound and/or AzureHound service artifacts, and/or a Performance monitor trace into an output zip.
Designed for support and troubleshooting.


What it does

  • Exports Application and System event logs (.evtx; falls back to XML if needed).
  • Collects BHE artifacts from the SharpHound service account profile:
    • BloodHoundEnterprise/log_archive/
    • BloodHoundEnterprise/service.log
    • BloodHoundEnterprise/settings.json
  • When AzureHound is selected, in addition to the event logs, collects azurehound.log from C:\Program Files\AzureHound Enterprise\azurehound.log if present.
  • Shows per-item status and a final summary.
  • Creates a timestamped folder and zip in the chosen output directory (Desktop by default).
  • When using -All, collects all logs simultaneously: SharpHound, AzureHound, and Windows event logs.
  • When using -AllPlusPerf, it additionally creates a Performance Monitor Data Collector Set and starts the trace. It creates the output blg file in C:\PerfLogs
  • When using -GetCompStatus, analyzes a compstatus.csv file to provide troubleshooting insights about system availability and permission issues.

Requirements

  • Windows PowerShell 5.1+ (PowerShell 7+ also works).
  • Recommended: Run as Administrator (for event log export and access to service profiles).
  • Output folder (-OutputRoot) must exist and be writable. Defaults to the logged-on user's Desktop.

Quick Start

  1. Download the script to your target system (or git clone)
  2. Open PowerShell as Administrator
  3. Navigate to the script directory
  4. Unblock the file (required for downloaded scripts):
    Unblock-File-Path ".\GetBHESupportLogsTool.ps1"
  5. Run the script:
    .\GetBHESupportLogsTool.ps1
  6. Follow prompts to collect logs
  7. Review the generated zip file and folder

For automated collection:

.\GetBHESupportLogsTool.ps1 -All

Alternative: Execution Policy

If you continue to have issues, you may need to adjust the PowerShell execution policy:

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser

Note: This is a security setting change. Only use if the Unblock-File method doesn't work.


Usage

From an elevated PowerShell prompt in the scripts directory:

# Run the script directly (defaults to interactive mode)
.\GetBHESupportLogsTool.ps1

Interactive flow

  • Displays an ASCII banner.
  • Prompts: Press Enter to collect logs, or Q to quit.
  • Displays output log location.
  • Prompts for: Select collection target: (S)harpHound or (A)zureHound Choice [S/A]:
  • Displays per-item status as logs and files are collected.
  • Prints a summary and offers: Press O to open output folder, Z to open at zip, or any other key to exit.
  • When using -All, all logs are collected regardless of interactive target selection.

Note: The script is interactive by default for selective collection. Use -All or -AllPlusPerf to collect everything automatically without user input, or run without parameters for selective collection.

Examples

Basic Collection

# Interactive collection (default)
.\GetBHESupportLogsTool.ps1
# Automated collection of all logs
.\GetBHESupportLogsTool.ps1 -All
# Collection with custom output location
.\GetBHESupportLogsTool.ps1 -OutputRoot "C:\Temp"

Configuration Management

# Set SharpHound logging levels and restart service
.\GetBHESupportLogsTool.ps1 -SetLogLevel Debug -SetEnumerationLogLevel Trace -RestartDelegator
# Set AzureHound verbosity and restart
.\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2-RestartAzureHound

Selective Collection

# Skip Event Logs and settings.json
.\GetBHESupportLogsTool.ps1 -ExcludeEventLogs -ExcludeSettings
# Limit log archive collection
.\GetBHESupportLogsTool.ps1 -LogArchiveNumber 10# Performance monitoring only
.\GetBHESupportLogsTool.ps1 -GetBHEPerfmon

CompStatus Analysis

# Analyze compstatus.csv file for troubleshooting
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Help & Information

# Display help
.\GetBHESupportLogsTool.ps1 -Help

Configuration-only mode

  • When using only configuration/service parameters (-SetLogLevel, -SetEnumerationLogLevel, -RestartDelegator, -SetAzureVerbosity, -RestartAzureHound), the script skips the collection options entirely.
  • Only makes the requested changes and shows verification of what was updated.
  • Useful for troubleshooting when you need to change settings but don't want to collect logs yet.
  • Example: .\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2 -RestartAzureHound will only change verbosity and restart the service.

⚠️Note: Log level changes and service restarts are controlled only via parameters.


All Parameters

Collection Control

  • -OutputRoot [string] — Root folder where the output directory and zip are created. Defaults to Desktop.
  • -All [switch] — Collect all logs: SharpHound, AzureHound, and Windows event logs simultaneously. Automated execution - no user input required.
  • -AllPlusPerf [switch] — Do everything -All does and also ensure a BHE perfmon trace is set up. Automated execution - no user input required.
  • -LogArchiveNumber [int] — Copy only the N most recent files from the log_archive folder.

Exclusion Options

  • -ExcludeEventLogs [switch] — Skip exporting Windows Application/System event logs.
  • -ExcludeSettings [switch] — Skip copying settings.json from the BHE folder.

SharpHound Configuration Management

  • -SetLogLevel [Trace|Debug|Information] — Update LogLevel in settings.json before collection.
  • -SetEnumerationLogLevel [Trace|Debug|Information] — Update EnumerationLogLevel in settings.json.
  • -RestartDelegator [switch] — Automatically restart the Delegator service (useful after log level changes).

AzureHound Configuration Management

  • -SetAzureVerbosity [0|1|2] — Set AzureHound service log verbosity in C:\ProgramData\azurehound\config.json (0=Default, 1=Debug, 2=Trace).
  • -RestartAzureHound [switch] — Restart the AzureHound Windows service (useful after log level changes).

Performance Monitoring

  • -GetBHEPerfmon [switch] — Perfmon-only mode. If the Data Collector Set is running, you'll be prompted to stop it and then the trace files in C:\PerfLogs are zipped to Desktop as <COMPUTERNAME>_PerfTrace.zip. If it isn't present, the Data Collector Set is created and started with recommended counters.
  • -DeleteBHEPerfmon [switch] — Stop and delete the Data Collector Set.

Analysis Tools

  • -GetCompStatus [string] — Analyze a compstatus.csv file to provide troubleshooting insights. Shows status pivot tables, failure analysis, unreachable systems on port 445/TCP, subnet analysis, and permission issues.
  • -CompOutputPath [string] — Save CompStatus console output to a log file (use with -GetCompStatus). Provide a file path or a folder path.

Utility

  • -Help [switch] — Display command line parameters and examples, then exit.

CompStatus Analysis

The script can analyze compstatus.csv files to provide troubleshooting insights about BloodHound Enterprise collection status. This feature helps identify:

  • Status Overview: Pivot tables showing task completion status (excluding GetMembersInAlias tasks)
  • Failure Analysis: Detailed breakdown of failed tasks and their status codes
  • Network Connectivity: Systems unreachable on port 445/TCP (SMB)
  • Subnet Analysis: IPv4 /24 and /16 subnet groupings of unreachable systems
  • Permission Issues: Systems with access denied errors

Usage

# Analyze a compstatus.csv file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Sample Output

CompStatus Analysis Mode
=== Status Pivot Table (Excluding GetMembersInAlias) ===
Task Status Count
---- ------ -----
ComputerAvailability Success 150
ComputerAvailability PortNotOpen 25
GetDomainUsers Success 120
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Failures Only ===
Task Status Count
---- ------ -----
ComputerAvailability PortNotOpen 25
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Systems Unreachable on 445/TCP ===
ComputerName IPAddress Task Status
------------ --------- ---- ------
SERVER01 192.168.1.10 ComputerAvailability PortNotOpen
SERVER02 192.168.1.11 ComputerAvailability PortNotOpen
=== IPv4 /24 Subnets Unreachable on 445/TCP ===
Name Count
---- -----
192.168.1.0/24 15
192.168.2.0/24 10
=== Systems Missing Permissions ===
ComputerName Task Status
------------ ---- ------
SERVER03 GetDomainUsers ERROR_ACCESS_DENIED

Performance Monitor tracing

The script can manage a lightweight performance monitor trace using Windows logman:

  • Data Collector Set name: BloodHound_System_Overview_Lite
  • Location: C:\PerfLogs
  • Format: binary circular log (bincirc), 512 MB max, 30s sample interval
  • Counters included: "\Process(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Memory\*" "\Network Interface(*)\*" "\System\System Up Time"
  • Note: You can also run logman query to check if the Data Collector Set is already setup and trace is running, example output below:
    PS C:\Users\administrator.DEFENDERK\Desktop> logman query
    Data Collector Set Type Status
    -------------------------------------------------------------------------------
    BloodHound_System_Overview_Lite Counter Running 

Typical flows

  • Start or check the Data Collector Set, and if the trace is already running choose to stop and zip:

    .\GetBHESupportLogsTool.ps1 -GetBHEPerfmon
    # If running: press Y to stop and zip to Desktop as <COMPUTERNAME>_PerfTrace.zip# Press Q to leave it running; any other key cancels
  • Collect all logs and also ensure the Data Collector Set is set up (automated execution, does not stop/zip automatically):

    .\GetBHESupportLogsTool.ps1 -AllPlusPerf
    # Runs automatically without user input# Later, run -GetBHEPerfmon and choose Y to stop and zip
  • Delete the Data Collector Set:

    .\GetBHESupportLogsTool.ps1 -DeleteBHEPerfmon

Notes

  • Privacy: Event logs may contain PII; settings.json may contain endpoints or config. Use -ExcludeEventLogs and/or -ExcludeSettings if needed.

Output example

  • Folder: BHE_SupportLogs_YYYYMMDD_HHMMSS
  • Zip: BHE_SupportLogs_YYYYMMDD_HHMMSS.zip
  • Perf Zip: <COMPUTERNAME>_PerfTrace.zip
  • Tool Collector Transcript: collectorlogs.log inside the folder

Troubleshooting

  • If EVTX export fails, the script falls back to XML export via Get-WinEvent.
  • If BHE files are NotFound, ensure the SHDelegator or AzureHound service is installed and running, and that your account has permissions to access the service profile.

Demo Output Example

Startup (Standard Mode)

========================================
BHE Logs Collector v.2.10 ========================================
WARNING: This collection will include the below data!
-------> Windows Application and System event logs will be collected; use -ExcludeEventLogs to skip.
-------> settings.json will be collected; use -ExcludeSettings to skip.
Press Enter to collect logs, or Q to quit

Collection Progress

[INFO] Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
[INFO] Using service 'SHDelegator' (DisplayName: 'SharpHoundDelegator') running as 'DOMAIN\svc_sharphound'
[INFO] Resolved service profile path: C:\Users\svc_sharphound
Collecting Windows Event Logs...
[INFO] Exporting Application and System event logs...
- Application Event Log ... Collected - EVTX
- System Event Log ... Collected - EVTX
Collecting BloodHoundEnterprise files...
- BHE log_archive ... Collected
- BHE service.log ... Collected
- BHE settings.json ... Collected
[INFO] Creating zip archive...
- Zip Archive ... Created
Collection complete.
Folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip

Summary

Collected:
- Application Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\Application.evtx
- System Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\System.evtx
- BHE log_archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\log_archive
- BHE service.log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\service.log
- BHE settings.json -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\settings.json
- Zip Archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip archive: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Press O to open output folder, Z to open at zip, or any other key to exit.
Choice: 


License

This project is licensed under the MIT License. You are free to use, modify, and distribute it with attribution. See the LICENSE file for details.


---

About

Collect Windows event logs and BloodHound Enterprise (BHE) service artifacts into a single zip.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BHE Logs Collector

Collector tool to gather: Windows event logs, BloodHound Enterprise (BHE) SharpHound and/or AzureHound service artifacts, and/or a Performance monitor trace into an output zip.
Designed for support and troubleshooting.


What it does

  • Exports Application and System event logs (.evtx; falls back to XML if needed).
  • Collects BHE artifacts from the SharpHound service account profile:
    • BloodHoundEnterprise/log_archive/
    • BloodHoundEnterprise/service.log
    • BloodHoundEnterprise/settings.json
  • When AzureHound is selected, in addition to the event logs, collects azurehound.log from C:\Program Files\AzureHound Enterprise\azurehound.log if present.
  • Shows per-item status and a final summary.
  • Creates a timestamped folder and zip in the chosen output directory (Desktop by default).
  • When using -All, collects all logs simultaneously: SharpHound, AzureHound, and Windows event logs.
  • When using -AllPlusPerf, it additionally creates a Performance Monitor Data Collector Set and starts the trace. It creates the output blg file in C:\PerfLogs
  • When using -GetCompStatus, analyzes a compstatus.csv file to provide troubleshooting insights about system availability and permission issues.

Requirements

  • Windows PowerShell 5.1+ (PowerShell 7+ also works).
  • Recommended: Run as Administrator (for event log export and access to service profiles).
  • Output folder (-OutputRoot) must exist and be writable. Defaults to the logged-on user's Desktop.

Quick Start

  1. Download the script to your target system (or git clone)
  2. Open PowerShell as Administrator
  3. Navigate to the script directory
  4. Unblock the file (required for downloaded scripts):
    Unblock-File-Path ".\GetBHESupportLogsTool.ps1"
  5. Run the script:
    .\GetBHESupportLogsTool.ps1
  6. Follow prompts to collect logs
  7. Review the generated zip file and folder

For automated collection:

.\GetBHESupportLogsTool.ps1 -All

Alternative: Execution Policy

If you continue to have issues, you may need to adjust the PowerShell execution policy:

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser

Note: This is a security setting change. Only use if the Unblock-File method doesn't work.


Usage

From an elevated PowerShell prompt in the scripts directory:

# Run the script directly (defaults to interactive mode)
.\GetBHESupportLogsTool.ps1

Interactive flow

  • Displays an ASCII banner.
  • Prompts: Press Enter to collect logs, or Q to quit.
  • Displays output log location.
  • Prompts for: Select collection target: (S)harpHound or (A)zureHound Choice [S/A]:
  • Displays per-item status as logs and files are collected.
  • Prints a summary and offers: Press O to open output folder, Z to open at zip, or any other key to exit.
  • When using -All, all logs are collected regardless of interactive target selection.

Note: The script is interactive by default for selective collection. Use -All or -AllPlusPerf to collect everything automatically without user input, or run without parameters for selective collection.

Examples

Basic Collection

# Interactive collection (default)
.\GetBHESupportLogsTool.ps1
# Automated collection of all logs
.\GetBHESupportLogsTool.ps1 -All
# Collection with custom output location
.\GetBHESupportLogsTool.ps1 -OutputRoot "C:\Temp"

Configuration Management

# Set SharpHound logging levels and restart service
.\GetBHESupportLogsTool.ps1 -SetLogLevel Debug -SetEnumerationLogLevel Trace -RestartDelegator
# Set AzureHound verbosity and restart
.\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2-RestartAzureHound

Selective Collection

# Skip Event Logs and settings.json
.\GetBHESupportLogsTool.ps1 -ExcludeEventLogs -ExcludeSettings
# Limit log archive collection
.\GetBHESupportLogsTool.ps1 -LogArchiveNumber 10# Performance monitoring only
.\GetBHESupportLogsTool.ps1 -GetBHEPerfmon

CompStatus Analysis

# Analyze compstatus.csv file for troubleshooting
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Help & Information

# Display help
.\GetBHESupportLogsTool.ps1 -Help

Configuration-only mode

  • When using only configuration/service parameters (-SetLogLevel, -SetEnumerationLogLevel, -RestartDelegator, -SetAzureVerbosity, -RestartAzureHound), the script skips the collection options entirely.
  • Only makes the requested changes and shows verification of what was updated.
  • Useful for troubleshooting when you need to change settings but don't want to collect logs yet.
  • Example: .\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2 -RestartAzureHound will only change verbosity and restart the service.

⚠️Note: Log level changes and service restarts are controlled only via parameters.


All Parameters

Collection Control

  • -OutputRoot [string] — Root folder where the output directory and zip are created. Defaults to Desktop.
  • -All [switch] — Collect all logs: SharpHound, AzureHound, and Windows event logs simultaneously. Automated execution - no user input required.
  • -AllPlusPerf [switch] — Do everything -All does and also ensure a BHE perfmon trace is set up. Automated execution - no user input required.
  • -LogArchiveNumber [int] — Copy only the N most recent files from the log_archive folder.

Exclusion Options

  • -ExcludeEventLogs [switch] — Skip exporting Windows Application/System event logs.
  • -ExcludeSettings [switch] — Skip copying settings.json from the BHE folder.

SharpHound Configuration Management

  • -SetLogLevel [Trace|Debug|Information] — Update LogLevel in settings.json before collection.
  • -SetEnumerationLogLevel [Trace|Debug|Information] — Update EnumerationLogLevel in settings.json.
  • -RestartDelegator [switch] — Automatically restart the Delegator service (useful after log level changes).

AzureHound Configuration Management

  • -SetAzureVerbosity [0|1|2] — Set AzureHound service log verbosity in C:\ProgramData\azurehound\config.json (0=Default, 1=Debug, 2=Trace).
  • -RestartAzureHound [switch] — Restart the AzureHound Windows service (useful after log level changes).

Performance Monitoring

  • -GetBHEPerfmon [switch] — Perfmon-only mode. If the Data Collector Set is running, you'll be prompted to stop it and then the trace files in C:\PerfLogs are zipped to Desktop as <COMPUTERNAME>_PerfTrace.zip. If it isn't present, the Data Collector Set is created and started with recommended counters.
  • -DeleteBHEPerfmon [switch] — Stop and delete the Data Collector Set.

Analysis Tools

  • -GetCompStatus [string] — Analyze a compstatus.csv file to provide troubleshooting insights. Shows status pivot tables, failure analysis, unreachable systems on port 445/TCP, subnet analysis, and permission issues.
  • -CompOutputPath [string] — Save CompStatus console output to a log file (use with -GetCompStatus). Provide a file path or a folder path.

Utility

  • -Help [switch] — Display command line parameters and examples, then exit.

CompStatus Analysis

The script can analyze compstatus.csv files to provide troubleshooting insights about BloodHound Enterprise collection status. This feature helps identify:

  • Status Overview: Pivot tables showing task completion status (excluding GetMembersInAlias tasks)
  • Failure Analysis: Detailed breakdown of failed tasks and their status codes
  • Network Connectivity: Systems unreachable on port 445/TCP (SMB)
  • Subnet Analysis: IPv4 /24 and /16 subnet groupings of unreachable systems
  • Permission Issues: Systems with access denied errors

Usage

# Analyze a compstatus.csv file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Sample Output

CompStatus Analysis Mode
=== Status Pivot Table (Excluding GetMembersInAlias) ===
Task Status Count
---- ------ -----
ComputerAvailability Success 150
ComputerAvailability PortNotOpen 25
GetDomainUsers Success 120
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Failures Only ===
Task Status Count
---- ------ -----
ComputerAvailability PortNotOpen 25
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Systems Unreachable on 445/TCP ===
ComputerName IPAddress Task Status
------------ --------- ---- ------
SERVER01 192.168.1.10 ComputerAvailability PortNotOpen
SERVER02 192.168.1.11 ComputerAvailability PortNotOpen
=== IPv4 /24 Subnets Unreachable on 445/TCP ===
Name Count
---- -----
192.168.1.0/24 15
192.168.2.0/24 10
=== Systems Missing Permissions ===
ComputerName Task Status
------------ ---- ------
SERVER03 GetDomainUsers ERROR_ACCESS_DENIED

Performance Monitor tracing

The script can manage a lightweight performance monitor trace using Windows logman:

  • Data Collector Set name: BloodHound_System_Overview_Lite
  • Location: C:\PerfLogs
  • Format: binary circular log (bincirc), 512 MB max, 30s sample interval
  • Counters included: "\Process(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Memory\*" "\Network Interface(*)\*" "\System\System Up Time"
  • Note: You can also run logman query to check if the Data Collector Set is already setup and trace is running, example output below:
    PS C:\Users\administrator.DEFENDERK\Desktop> logman query
    Data Collector Set Type Status
    -------------------------------------------------------------------------------
    BloodHound_System_Overview_Lite Counter Running 

Typical flows

  • Start or check the Data Collector Set, and if the trace is already running choose to stop and zip:

    .\GetBHESupportLogsTool.ps1 -GetBHEPerfmon
    # If running: press Y to stop and zip to Desktop as <COMPUTERNAME>_PerfTrace.zip# Press Q to leave it running; any other key cancels
  • Collect all logs and also ensure the Data Collector Set is set up (automated execution, does not stop/zip automatically):

    .\GetBHESupportLogsTool.ps1 -AllPlusPerf
    # Runs automatically without user input# Later, run -GetBHEPerfmon and choose Y to stop and zip
  • Delete the Data Collector Set:

    .\GetBHESupportLogsTool.ps1 -DeleteBHEPerfmon

Notes

  • Privacy: Event logs may contain PII; settings.json may contain endpoints or config. Use -ExcludeEventLogs and/or -ExcludeSettings if needed.

Output example

  • Folder: BHE_SupportLogs_YYYYMMDD_HHMMSS
  • Zip: BHE_SupportLogs_YYYYMMDD_HHMMSS.zip
  • Perf Zip: <COMPUTERNAME>_PerfTrace.zip
  • Tool Collector Transcript: collectorlogs.log inside the folder

Troubleshooting

  • If EVTX export fails, the script falls back to XML export via Get-WinEvent.
  • If BHE files are NotFound, ensure the SHDelegator or AzureHound service is installed and running, and that your account has permissions to access the service profile.

Demo Output Example

Startup (Standard Mode)

========================================
BHE Logs Collector v.2.10 ========================================
WARNING: This collection will include the below data!
-------> Windows Application and System event logs will be collected; use -ExcludeEventLogs to skip.
-------> settings.json will be collected; use -ExcludeSettings to skip.
Press Enter to collect logs, or Q to quit

Collection Progress

[INFO] Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
[INFO] Using service 'SHDelegator' (DisplayName: 'SharpHoundDelegator') running as 'DOMAIN\svc_sharphound'
[INFO] Resolved service profile path: C:\Users\svc_sharphound
Collecting Windows Event Logs...
[INFO] Exporting Application and System event logs...
- Application Event Log ... Collected - EVTX
- System Event Log ... Collected - EVTX
Collecting BloodHoundEnterprise files...
- BHE log_archive ... Collected
- BHE service.log ... Collected
- BHE settings.json ... Collected
[INFO] Creating zip archive...
- Zip Archive ... Created
Collection complete.
Folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip

Summary

Collected:
- Application Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\Application.evtx
- System Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\System.evtx
- BHE log_archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\log_archive
- BHE service.log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\service.log
- BHE settings.json -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\settings.json
- Zip Archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip archive: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Press O to open output folder, Z to open at zip, or any other key to exit.
Choice: 


License

This project is licensed under the MIT License. You are free to use, modify, and distribute it with attribution. See the LICENSE file for details.


---

About

Collect Windows event logs and BloodHound Enterprise (BHE) service artifacts into a single zip.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

BHE Logs Collector

Collector tool to gather: Windows event logs, BloodHound Enterprise (BHE) SharpHound and/or AzureHound service artifacts, and/or a Performance monitor trace into an output zip.
Designed for support and troubleshooting.


What it does

  • Exports Application and System event logs (.evtx; falls back to XML if needed).
  • Collects BHE artifacts from the SharpHound service account profile:
    • BloodHoundEnterprise/log_archive/
    • BloodHoundEnterprise/service.log
    • BloodHoundEnterprise/settings.json
  • When AzureHound is selected, in addition to the event logs, collects azurehound.log from C:\Program Files\AzureHound Enterprise\azurehound.log if present.
  • Shows per-item status and a final summary.
  • Creates a timestamped folder and zip in the chosen output directory (Desktop by default).
  • When using -All, collects all logs simultaneously: SharpHound, AzureHound, and Windows event logs.
  • When using -AllPlusPerf, it additionally creates a Performance Monitor Data Collector Set and starts the trace. It creates the output blg file in C:\PerfLogs
  • When using -GetCompStatus, analyzes a compstatus.csv file to provide troubleshooting insights about system availability and permission issues.

Requirements

  • Windows PowerShell 5.1+ (PowerShell 7+ also works).
  • Recommended: Run as Administrator (for event log export and access to service profiles).
  • Output folder (-OutputRoot) must exist and be writable. Defaults to the logged-on user's Desktop.

Quick Start

  1. Download the script to your target system (or git clone)
  2. Open PowerShell as Administrator
  3. Navigate to the script directory
  4. Unblock the file (required for downloaded scripts):
    Unblock-File-Path ".\GetBHESupportLogsTool.ps1"
  5. Run the script:
    .\GetBHESupportLogsTool.ps1
  6. Follow prompts to collect logs
  7. Review the generated zip file and folder

For automated collection:

.\GetBHESupportLogsTool.ps1 -All

Alternative: Execution Policy

If you continue to have issues, you may need to adjust the PowerShell execution policy:

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser

Note: This is a security setting change. Only use if the Unblock-File method doesn't work.


Usage

From an elevated PowerShell prompt in the scripts directory:

# Run the script directly (defaults to interactive mode)
.\GetBHESupportLogsTool.ps1

Interactive flow

  • Displays an ASCII banner.
  • Prompts: Press Enter to collect logs, or Q to quit.
  • Displays output log location.
  • Prompts for: Select collection target: (S)harpHound or (A)zureHound Choice [S/A]:
  • Displays per-item status as logs and files are collected.
  • Prints a summary and offers: Press O to open output folder, Z to open at zip, or any other key to exit.
  • When using -All, all logs are collected regardless of interactive target selection.

Note: The script is interactive by default for selective collection. Use -All or -AllPlusPerf to collect everything automatically without user input, or run without parameters for selective collection.

Examples

Basic Collection

# Interactive collection (default)
.\GetBHESupportLogsTool.ps1
# Automated collection of all logs
.\GetBHESupportLogsTool.ps1 -All
# Collection with custom output location
.\GetBHESupportLogsTool.ps1 -OutputRoot "C:\Temp"

Configuration Management

# Set SharpHound logging levels and restart service
.\GetBHESupportLogsTool.ps1 -SetLogLevel Debug -SetEnumerationLogLevel Trace -RestartDelegator
# Set AzureHound verbosity and restart
.\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2-RestartAzureHound

Selective Collection

# Skip Event Logs and settings.json
.\GetBHESupportLogsTool.ps1 -ExcludeEventLogs -ExcludeSettings
# Limit log archive collection
.\GetBHESupportLogsTool.ps1 -LogArchiveNumber 10# Performance monitoring only
.\GetBHESupportLogsTool.ps1 -GetBHEPerfmon

CompStatus Analysis

# Analyze compstatus.csv file for troubleshooting
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Help & Information

# Display help
.\GetBHESupportLogsTool.ps1 -Help

Configuration-only mode

  • When using only configuration/service parameters (-SetLogLevel, -SetEnumerationLogLevel, -RestartDelegator, -SetAzureVerbosity, -RestartAzureHound), the script skips the collection options entirely.
  • Only makes the requested changes and shows verification of what was updated.
  • Useful for troubleshooting when you need to change settings but don't want to collect logs yet.
  • Example: .\GetBHESupportLogsTool.ps1 -SetAzureVerbosity 2 -RestartAzureHound will only change verbosity and restart the service.

⚠️Note: Log level changes and service restarts are controlled only via parameters.


All Parameters

Collection Control

  • -OutputRoot [string] — Root folder where the output directory and zip are created. Defaults to Desktop.
  • -All [switch] — Collect all logs: SharpHound, AzureHound, and Windows event logs simultaneously. Automated execution - no user input required.
  • -AllPlusPerf [switch] — Do everything -All does and also ensure a BHE perfmon trace is set up. Automated execution - no user input required.
  • -LogArchiveNumber [int] — Copy only the N most recent files from the log_archive folder.

Exclusion Options

  • -ExcludeEventLogs [switch] — Skip exporting Windows Application/System event logs.
  • -ExcludeSettings [switch] — Skip copying settings.json from the BHE folder.

SharpHound Configuration Management

  • -SetLogLevel [Trace|Debug|Information] — Update LogLevel in settings.json before collection.
  • -SetEnumerationLogLevel [Trace|Debug|Information] — Update EnumerationLogLevel in settings.json.
  • -RestartDelegator [switch] — Automatically restart the Delegator service (useful after log level changes).

AzureHound Configuration Management

  • -SetAzureVerbosity [0|1|2] — Set AzureHound service log verbosity in C:\ProgramData\azurehound\config.json (0=Default, 1=Debug, 2=Trace).
  • -RestartAzureHound [switch] — Restart the AzureHound Windows service (useful after log level changes).

Performance Monitoring

  • -GetBHEPerfmon [switch] — Perfmon-only mode. If the Data Collector Set is running, you'll be prompted to stop it and then the trace files in C:\PerfLogs are zipped to Desktop as <COMPUTERNAME>_PerfTrace.zip. If it isn't present, the Data Collector Set is created and started with recommended counters.
  • -DeleteBHEPerfmon [switch] — Stop and delete the Data Collector Set.

Analysis Tools

  • -GetCompStatus [string] — Analyze a compstatus.csv file to provide troubleshooting insights. Shows status pivot tables, failure analysis, unreachable systems on port 445/TCP, subnet analysis, and permission issues.
  • -CompOutputPath [string] — Save CompStatus console output to a log file (use with -GetCompStatus). Provide a file path or a folder path.

Utility

  • -Help [switch] — Display command line parameters and examples, then exit.

CompStatus Analysis

The script can analyze compstatus.csv files to provide troubleshooting insights about BloodHound Enterprise collection status. This feature helps identify:

  • Status Overview: Pivot tables showing task completion status (excluding GetMembersInAlias tasks)
  • Failure Analysis: Detailed breakdown of failed tasks and their status codes
  • Network Connectivity: Systems unreachable on port 445/TCP (SMB)
  • Subnet Analysis: IPv4 /24 and /16 subnet groupings of unreachable systems
  • Permission Issues: Systems with access denied errors

Usage

# Analyze a compstatus.csv file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'# Save CompStatus output to a log file
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp\compstatus.log'# Save CompStatus output to a folder (creates a timestamped log)
.\GetBHESupportLogsTool.ps1 -GetCompStatus 'C:\path\to\compstatus.csv'-CompOutputPath 'C:\Temp'

Sample Output

CompStatus Analysis Mode
=== Status Pivot Table (Excluding GetMembersInAlias) ===
Task Status Count
---- ------ -----
ComputerAvailability Success 150
ComputerAvailability PortNotOpen 25
GetDomainUsers Success 120
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Failures Only ===
Task Status Count
---- ------ -----
ComputerAvailability PortNotOpen 25
GetDomainUsers ERROR_ACCESS_DENIED 5
=== Systems Unreachable on 445/TCP ===
ComputerName IPAddress Task Status
------------ --------- ---- ------
SERVER01 192.168.1.10 ComputerAvailability PortNotOpen
SERVER02 192.168.1.11 ComputerAvailability PortNotOpen
=== IPv4 /24 Subnets Unreachable on 445/TCP ===
Name Count
---- -----
192.168.1.0/24 15
192.168.2.0/24 10
=== Systems Missing Permissions ===
ComputerName Task Status
------------ ---- ------
SERVER03 GetDomainUsers ERROR_ACCESS_DENIED

Performance Monitor tracing

The script can manage a lightweight performance monitor trace using Windows logman:

  • Data Collector Set name: BloodHound_System_Overview_Lite
  • Location: C:\PerfLogs
  • Format: binary circular log (bincirc), 512 MB max, 30s sample interval
  • Counters included: "\Process(*)\*" "\PhysicalDisk(*)\*" "\Processor(*)\*" "\Memory\*" "\Network Interface(*)\*" "\System\System Up Time"
  • Note: You can also run logman query to check if the Data Collector Set is already setup and trace is running, example output below:
    PS C:\Users\administrator.DEFENDERK\Desktop> logman query
    Data Collector Set Type Status
    -------------------------------------------------------------------------------
    BloodHound_System_Overview_Lite Counter Running 

Typical flows

  • Start or check the Data Collector Set, and if the trace is already running choose to stop and zip:

    .\GetBHESupportLogsTool.ps1 -GetBHEPerfmon
    # If running: press Y to stop and zip to Desktop as <COMPUTERNAME>_PerfTrace.zip# Press Q to leave it running; any other key cancels
  • Collect all logs and also ensure the Data Collector Set is set up (automated execution, does not stop/zip automatically):

    .\GetBHESupportLogsTool.ps1 -AllPlusPerf
    # Runs automatically without user input# Later, run -GetBHEPerfmon and choose Y to stop and zip
  • Delete the Data Collector Set:

    .\GetBHESupportLogsTool.ps1 -DeleteBHEPerfmon

Notes

  • Privacy: Event logs may contain PII; settings.json may contain endpoints or config. Use -ExcludeEventLogs and/or -ExcludeSettings if needed.

Output example

  • Folder: BHE_SupportLogs_YYYYMMDD_HHMMSS
  • Zip: BHE_SupportLogs_YYYYMMDD_HHMMSS.zip
  • Perf Zip: <COMPUTERNAME>_PerfTrace.zip
  • Tool Collector Transcript: collectorlogs.log inside the folder

Troubleshooting

  • If EVTX export fails, the script falls back to XML export via Get-WinEvent.
  • If BHE files are NotFound, ensure the SHDelegator or AzureHound service is installed and running, and that your account has permissions to access the service profile.

Demo Output Example

Startup (Standard Mode)

========================================
BHE Logs Collector v.2.10 ========================================
WARNING: This collection will include the below data!
-------> Windows Application and System event logs will be collected; use -ExcludeEventLogs to skip.
-------> settings.json will be collected; use -ExcludeSettings to skip.
Press Enter to collect logs, or Q to quit

Collection Progress

[INFO] Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
[INFO] Using service 'SHDelegator' (DisplayName: 'SharpHoundDelegator') running as 'DOMAIN\svc_sharphound'
[INFO] Resolved service profile path: C:\Users\svc_sharphound
Collecting Windows Event Logs...
[INFO] Exporting Application and System event logs...
- Application Event Log ... Collected - EVTX
- System Event Log ... Collected - EVTX
Collecting BloodHoundEnterprise files...
- BHE log_archive ... Collected
- BHE service.log ... Collected
- BHE settings.json ... Collected
[INFO] Creating zip archive...
- Zip Archive ... Created
Collection complete.
Folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip

Summary

Collected:
- Application Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\Application.evtx
- System Event Log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\System.evtx
- BHE log_archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\log_archive
- BHE service.log -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\service.log
- BHE settings.json -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237\BloodHoundEnterprise\settings.json
- Zip Archive -> C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Output folder: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237
Zip archive: C:\Users\AdminUser\Desktop\BHE_SupportLogs_20250821_092237.zip
Press O to open output folder, Z to open at zip, or any other key to exit.
Choice: 


License

This project is licensed under the MIT License. You are free to use, modify, and distribute it with attribution. See the LICENSE file for details.


---

About

Collect Windows event logs and BloodHound Enterprise (BHE) service artifacts into a single zip.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages