-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Mikhail Deynekin edited this page Dec 23, 2025
·
1 revision
Professional Windows Security Event Analysis Tool
- Windows 10/11 or Windows Server 2012 R2+
- PowerShell 5.1 or later
- Administrator privileges
- Security event log enabled
Option 1: Direct Download
# Download latest version
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/paulmann/Get-Windows-Security-Events-By-IP/main/Get-SecurityEventsByIP.ps1" -OutFile "Get-SecurityEventsByIP.ps1"
# Check version
.\Get-SecurityEventsByIP.ps1 -Version
# View help
.\Get-SecurityEventsByIP.ps1 -Help
Option 2: Self-Update Feature
# If you already have the script, update it
.\Get-SecurityEventsByIP.ps1 -Update
# Quick console analysis - no file output
.\Get-SecurityEventsByIP.ps1 -IpAddress "192.168.1.100"
# Save to HTML report (auto-detected format)
.\Get-SecurityEventsByIP.ps1 -IpAddress "192.168.1.100" -OutputPath "report.html"
# All failed authentication attempts (last 24 hours)
.\Get-SecurityEventsByIP.ps1 -LastHours 24
# CIDR range analysis
.\Get-SecurityEventsByIP.ps1 -IpAddress "10.0.0.0/24" -OutputPath "network_scan.csv"
- Installation - Detailed installation and setup guide
- Parameters Reference - Complete parameter documentation
- Output Formats - All export formats with examples
- Usage Examples - Real-world scenarios and use cases
- Advanced Features - CIDR ranges, time filtering, custom columns
- API Reference - Technical implementation details
- Integration - SIEM, automation, and enterprise deployment
- Troubleshooting - Common issues and solutions
- FAQ - Frequently asked questions
- Best Practices - Recommended usage patterns
- IP Address Filtering - Single IP, CIDR ranges, wildcard patterns
- Comprehensive Event Collection - All failed authentication attempts
- Multiple Output Formats - Text, CSV, JSON, HTML, Markdown, MySQL
- Time-Based Filtering - Relative (LastHours/LastDays) and absolute ranges
- Category Filtering - RDP, FileShare, Authentication, AllEvents
- Status Code Decoding - Human-readable Windows status messages
- Self-Update Mechanism - Automatic updates from GitHub
- Interactive Help System - Built-in
-Helpparameter - Enhanced Reliability - Fixed array handling issues
- Auto-Format Detection - Detects format from file extension
- Failed login attempt analysis
- Brute force attack detection
- Password spraying identification
- Lateral movement monitoring
- PCI-DSS event log requirements
- HIPAA access control monitoring
- GDPR breach detection
- SOX IT general controls
- Rapid IP investigation
- Timeline reconstruction
- Evidence collection
- Forensic analysis
# Maintenance
.\Get-SecurityEventsByIP.ps1 -Update # Update to latest version
.\Get-SecurityEventsByIP.ps1 -Version # Show version info
.\Get-SecurityEventsByIP.ps1 -Help # Show help
# Basic Analysis
.\Get-SecurityEventsByIP.ps1 -IpAddress "IP" # Analyze specific IP
.\Get-SecurityEventsByIP.ps1 -LastHours N # Recent activity
.\Get-SecurityEventsByIP.ps1 -LastDays N # Historical analysis
# Export Formats
-OutputPath "file.txt" # Text format
-OutputPath "file.csv" # CSV format
-OutputPath "file.json" # JSON format
-OutputPath "file.html" # HTML with charts
-OutputPath "file.md" # Markdown format
-OutputPath "file.sql" # MySQL export
| Category | Description | Event IDs |
|---|---|---|
| RDP | Remote Desktop Protocol | 4624, 4625 (LogonType=10) |
| FileShare | Network file access | 4624, 4625 (LogonType=3) |
| Authentication | General authentication | 4624, 4625 |
| AllEvents | All security events with IPs | All applicable |
-
Use Auto-Format Detection: Let the script detect format from file extension
.\Get-SecurityEventsByIP.ps1 -IpAddress "192.168.1.100" -OutputPath "report.html" -
Collect All Failed Attempts: Omit
-IpAddressto collect all failed authentications.\Get-SecurityEventsByIP.ps1 -LastDays 7 -OutputPath "failed_auth.html" -
Use CIDR for Network Analysis: Analyze entire subnets
.\Get-SecurityEventsByIP.ps1 -IpAddress "10.0.0.0/24" -Category RDP -
Custom Columns for Focused Analysis: Show only relevant data
.\Get-SecurityEventsByIP.ps1 -IpAddress "IP" -ShowColumns TimeCreated,Account,SourceIP,Result
We welcome contributions! See our Contributing Guide for details on:
- Code standards
- Testing requirements
- Pull request process
- Documentation updates
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: mid1977@gmail.com
- Website: https://deynekin.com
This project is licensed under the MIT License - see the LICENSE file for details.
Author: Mikhail Deynekin
Version: 5.0.2
Last Updated: December 2024