-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDriftDetect.ESXi.psd1
More file actions
105 lines (90 loc) · 3.3 KB
/
DriftDetect.ESXi.psd1
File metadata and controls
105 lines (90 loc) · 3.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
@{
# Module manifest for DriftDetect.ESXi
RootModule = 'DriftDetect.ESXi.psm1'
ModuleVersion = '1.0.0'
GUID = 'b2f8e3d1-9a5c-4f2e-8d7b-3e9a1c6f4d8e'
Author = 'Warezloder'
CompanyName = 'Community'
Copyright = '(c) 2025 Warezloder. All rights reserved.'
Description = @'
DriftDetect.ESXi - Configuration drift detection for standalone ESXi 8.0+ hosts.
Features:
- Class-based collectors for System, Network, Storage, Services, Advanced Settings, Firewall, and Accounts
- Hash-based change detection for efficient comparison
- Configurable severity scoring (Critical, High, Medium, Low)
- Rich HTML reporting with PSWriteHTML
- PowerShell 7+ optimized
- Tracks new, modified, and deleted configuration entities
- Baseline + delta comparison model
- Supports both VMware.PowerCLI and VCF.PowerCLI
Perfect for standalone ESXi hosts not managed by vCenter. For vCenter environments, use DriftDetect.VMware instead.
'@
PowerShellVersion = '7.0'
# Required modules
# Note: VMware.PowerCLI or VCF.PowerCLI is required (checked at runtime)
RequiredModules = @(
@{ModuleName = 'PSWriteHTML'; ModuleVersion = '0.0.170'}
)
# Functions to export
FunctionsToExport = @(
'New-ESXiSnapshot'
'Compare-ESXiSnapshot'
'Export-ESXiDriftReport'
'Get-ESXiSnapshot'
)
CmdletsToExport = @()
VariablesToExport = @()
AliasesToExport = @()
# Private data
PrivateData = @{
PSData = @{
Tags = @(
'VMware'
'ESXi'
'Configuration'
'Drift'
'Detection'
'Compliance'
'PowerCLI'
'VCF'
'Infrastructure'
'Automation'
'Standalone'
)
LicenseUri = 'https://github.com/Warezloder/DriftDetect.ESXi/blob/main/LICENSE'
ProjectUri = 'https://github.com/Warezloder/DriftDetect.ESXi'
ReleaseNotes = @'
## Version 1.0.0 - Initial Release
### Features
- Complete configuration drift detection for standalone ESXi 8.0+ hosts
- Class-based architecture with PowerShell 7 classes
- Hash-based change detection for fast comparison
- Comprehensive entity coverage:
* System (hostname, DNS, NTP, syslog, timezone)
* Network (vSwitches, port groups, VMkernel, physical NICs)
* Storage (datastores, HBAs, LUNs, multipathing)
* Services (SSH, NTP, TSM, etc.)
* Advanced Settings (security, performance, VSAN)
* Firewall (rules and exceptions)
* Accounts (local users and permissions)
- Configurable severity rules via JSON
- Rich HTML reports with interactive tables and charts
- Pipeline support for all cmdlets
- Supports both VMware.PowerCLI and VCF.PowerCLI
### Requirements
- PowerShell 7.0+
- VMware PowerCLI 12.0+ or VCF.PowerCLI
- PSWriteHTML 0.0.170+
- ESXi 8.0+ (may work with 7.0+ but not tested)
### Usage
Connect directly to ESXi host (not vCenter):
```powershell
Connect-VIServer -Server esxi-01.domain.local
$vmhost = Get-VMHost
New-ESXiSnapshot -VMHost $vmhost -OutputPath baseline.json -IncludeAdvancedSettings
```
'@
}
}
HelpInfoURI = 'https://github.com/Warezloder/DriftDetect.ESXi/wiki'
}