Reorganize repo: compartmentalize scripts by client/project
Move 150+ scripts from root and scripts/ into client/project directories: - clients/dataforth/scripts/ (110 files: AD2, sync, SSH, DB, DOS scripts) - clients/bg-builders/scripts/ (14 files: Lesley mgmt, Exchange, termination) - clients/internal-infrastructure/scripts/ (10 files: GDAP, Gitea, backups) - projects/msp-tools/scripts/ (9 files: CIPP, MSP onboarding, Datto) - projects/gururmm-agent/scripts/ (3 files: API test, JWT, record counts) - clients/glaztech/scripts/ (1 file: CentraStage removal) Also reorganized: - VPN scripts → infrastructure/vpn-configs/ - Retrieved API/JS files → api/ - Forum posts → projects/community-forum/forum-posts/ - SSH docs → clients/internal-infrastructure/docs/ - NWTOC/CTONW docs → projects/wrightstown-smarthome/docs/ - ACG website files → projects/internal/acg-website-2025/ - Dataforth docs → clients/dataforth/docs/ - schema-retrieved.sql → docs/database/ Deleted 24 tmp_*.ps1 one-off debug scripts (preserved in git history). Root reduced from 220+ files to 62 items (docs + directories only). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
# Fix: Reset Expired ESXi 8 Evaluation License via SSH
|
||||
|
||||
## Environment
|
||||
- VMware ESXi 8 (two hosts)
|
||||
- License: Evaluation mode (60-day trial expired)
|
||||
|
||||
## Problem
|
||||
|
||||
ESXi evaluation period expired. The web UI shows license warnings and functionality is restricted. VMs may not auto-start after host reboots.
|
||||
|
||||
```
|
||||
vim-cmd vimsvc/license --show
|
||||
# diagnostic = Evaluation period has expired, please install license.
|
||||
# expirationHours = 0
|
||||
# expirationMinutes = 0
|
||||
```
|
||||
|
||||
## Fix
|
||||
|
||||
### Step 1: Enable SSH (if not already)
|
||||
In ESXi web UI: **Host** → **Actions** → **Services** → **Enable SSH**
|
||||
|
||||
### Step 2: SSH in and Reset
|
||||
|
||||
```bash
|
||||
ssh root@<esxi-host-ip>
|
||||
|
||||
# Remove current license config and restore default
|
||||
rm -r /etc/vmware/license.cfg
|
||||
cp /etc/vmware/.#license.cfg /etc/vmware/license.cfg
|
||||
|
||||
# Restart services to pick up the change
|
||||
/etc/init.d/vpxa restart
|
||||
/etc/init.d/hostd restart
|
||||
```
|
||||
|
||||
**Note:** After restarting hostd, the web UI will be unavailable for 15-30 seconds while it comes back up.
|
||||
|
||||
### Step 3: Verify
|
||||
|
||||
Wait ~15 seconds for hostd to fully start, then:
|
||||
|
||||
```bash
|
||||
vim-cmd vimsvc/license --show
|
||||
```
|
||||
|
||||
Expected output:
|
||||
```
|
||||
serial: 00000-00000-00000-00000-00000
|
||||
vmodl key: eval
|
||||
name: Evaluation Mode
|
||||
total: 1
|
||||
used: 1
|
||||
[evaluation] = License has not been set, evaluation Period in effect.
|
||||
[expirationHours] = 1440
|
||||
[expirationMinutes] = 0
|
||||
[expirationDate] = <60 days from now>
|
||||
```
|
||||
|
||||
## Automation via Expect (for remote execution)
|
||||
|
||||
If you need to script this from a Linux workstation and `sshpass` doesn't work with ESXi's keyboard-interactive auth (common issue), use `expect`:
|
||||
|
||||
```bash
|
||||
# Install expect (Arch)
|
||||
sudo pacman -S expect
|
||||
|
||||
# Run reset
|
||||
expect -c '
|
||||
spawn ssh -o StrictHostKeyChecking=no -o PubkeyAuthentication=no root@192.168.0.122 \
|
||||
"rm -r /etc/vmware/license.cfg && cp /etc/vmware/.#license.cfg /etc/vmware/license.cfg && /etc/init.d/vpxa restart && /etc/init.d/hostd restart"
|
||||
expect "Password:"
|
||||
send "your_password_here\r"
|
||||
expect eof
|
||||
'
|
||||
```
|
||||
|
||||
**Note on sshpass:** ESXi 8 uses `keyboard-interactive` authentication, not `password` auth. `sshpass` fails with exit code 5 even with correct credentials. `expect` handles keyboard-interactive properly.
|
||||
|
||||
## Important Notes
|
||||
|
||||
- This resets the 60-day evaluation timer — it does not provide a permanent license
|
||||
- The reset can be repeated when the evaluation expires again
|
||||
- VMs configured to auto-start should resume normal operation after the license is active
|
||||
- If you have a legitimate license key, apply it via the web UI instead: **Manage** → **Licensing** → **Assign license**
|
||||
Reference in New Issue
Block a user