Add 12 AI-generated PowerShell scripts with documentation
⚠️ IMPORTANT: These scripts are AI-GENERATED and UNTESTED Exchange Scripts (5): - Get-MailboxPermissions.ps1: Audit delegate access permissions - Get-InactiveMailboxes.ps1: Identify stale mailboxes - Compare-MailboxDatabases.ps1: Database health comparison - Export-DistributionGroups.ps1: Distribution group inventory - Get-MailflowStats.ps1: Transport log analysis Active Directory Scripts (3): - Get-ADUserLastLogon.ps1: True LastLogon across all DCs - Export-OUStructure.ps1: OU hierarchy with GPO links - Compare-ADGroupMemberships.ps1: Compare user group memberships System Maintenance Scripts (4): - Get-ServerInventory.ps1: Hardware/software inventory report - Monitor-DiskSpace.ps1: Disk space monitoring with alerts - Backup-ExchangeCertificates.ps1: Certificate backup to PFX - Test-ExchangeHealth.ps1: Aggregated Exchange health checks Documentation: - Updated CLAUDE.md with AI-generated scripts section - Added AI-GENERATED-SCRIPTS.md with warnings and testing guide All scripts include prominent warnings and follow established patterns from existing scripts. Require thorough testing before production use. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
37
CLAUDE.md
37
CLAUDE.md
@ -107,8 +107,45 @@ These are operational scripts without formal test frameworks. When modifying:
|
||||
2. **VSS script**: Test service restart logic on non-critical systems
|
||||
3. **AD scripts**: Use test groups before production deployment
|
||||
|
||||
## AI-Generated Scripts (UNTESTED)
|
||||
|
||||
The following scripts were generated by Claude AI in 2025 and have **NOT been tested in production environments**. They should be thoroughly reviewed and tested in non-production environments before use:
|
||||
|
||||
### Exchange Scripts (AI-Generated)
|
||||
- **Get-MailboxPermissions.ps1** - Audits SendAs, SendOnBehalf, and FullAccess permissions
|
||||
- **Get-InactiveMailboxes.ps1** - Identifies stale mailboxes based on LastLogonTime threshold
|
||||
- **Compare-MailboxDatabases.ps1** - Database health comparison with alerting (whitespace, backup age)
|
||||
- **Export-DistributionGroups.ps1** - Complete distribution group inventory with members
|
||||
- **Get-MailflowStats.ps1** - Transport log analysis for message flow patterns and anomalies
|
||||
|
||||
### Active Directory Scripts (AI-Generated)
|
||||
- **Get-ADUserLastLogon.ps1** - True LastLogon query across all DCs (non-replicated attribute)
|
||||
- **Export-OUStructure.ps1** - OU hierarchy documentation with GPO links
|
||||
- **Compare-ADGroupMemberships.ps1** - Group membership comparison between two users
|
||||
|
||||
### System Maintenance Scripts (AI-Generated)
|
||||
- **Get-ServerInventory.ps1** - Comprehensive hardware/software inventory with Word/HTML report
|
||||
- **Monitor-DiskSpace.ps1** - Disk space monitoring with alerting and optional email
|
||||
- **Backup-ExchangeCertificates.ps1** - Certificate export to PFX with expiry warnings
|
||||
- **Test-ExchangeHealth.ps1** - Aggregated Exchange health checks (services, replication, MAPI, databases)
|
||||
|
||||
### AI-Generated Script Patterns
|
||||
These scripts follow the established patterns from the original scripts:
|
||||
- Similar report generation (Word COM with HTML fallback where applicable)
|
||||
- Progress tracking for long-running operations
|
||||
- CSV export capabilities
|
||||
- `-ErrorAction SilentlyContinue` for graceful degradation
|
||||
- Comprehensive parameter documentation and examples
|
||||
- Prominent "⚠️ AI-GENERATED SCRIPT - UNTESTED" warnings in output
|
||||
|
||||
**Testing Requirements**: All AI-generated scripts include detailed `.NOTES` sections with testing guidance. Pay special attention to:
|
||||
- Permission requirements (RBAC, AD rights, Administrator)
|
||||
- Performance impact (LastLogon queries across DCs, log parsing)
|
||||
- Environment-specific assumptions (paths, IP ranges, thresholds)
|
||||
|
||||
## Important Constraints
|
||||
|
||||
- Scripts are environment-specific (hardcoded paths like `C:\Program Files\Microsoft\Exchange Server\V15\...`)
|
||||
- Exchange-Inventory.ps1 assumes specific Exchange cmdlet availability
|
||||
- Get-SMTPTraffic.ps1 filters for specific IP range (192.168.1.*) - modify for different networks
|
||||
- AI-generated scripts have NOT been validated in production and require thorough testing
|
||||
|
||||
Reference in New Issue
Block a user