- Replace all unicode (emojis, checkmarks, arrows, em-dashes) with ASCII in .claude/ docs - Comment out OperatingSystemsList route in core.js - breaks lean builds without computers plugin - Comment out Operating Systems tab in ModelCatalogHub - TODO: Plugins should dynamically register their settings routes Fixes #2 CI check failures on wj branch Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
246 lines
5.3 KiB
Markdown
246 lines
5.3 KiB
Markdown
# Activating Hyper-V Permissions
|
|
|
|
You've been added to "Hyper-V Administrators" group, but permissions haven't taken effect yet.
|
|
|
|
---
|
|
|
|
## Current Status
|
|
|
|
**Group membership:** [X] Added to "Hyper-V Administrators"
|
|
**Active permissions:** [ ] Not yet active in current session
|
|
**Reason:** Group membership changes require logoff/logon to update security token
|
|
|
|
---
|
|
|
|
## What's Happening
|
|
|
|
When you log in to Windows, your **security token** is created with your current group memberships. Adding you to a new group doesn't update the token of existing sessions - you need to:
|
|
|
|
1. Log off
|
|
2. Log back in
|
|
3. New security token includes the new group
|
|
|
|
---
|
|
|
|
## How to Activate
|
|
|
|
### Option 1: Log Off and Back On (Recommended)
|
|
|
|
```
|
|
1. Save all work
|
|
2. Close all applications
|
|
3. Press Ctrl+Alt+Del -> Sign out
|
|
4. Log back in as 270015376
|
|
5. Open new terminal
|
|
6. Test: Get-VM
|
|
```
|
|
|
|
**This activates the permissions for ALL applications.**
|
|
|
|
### Option 2: Just Restart Claude Code Session
|
|
|
|
```
|
|
1. Close Claude Code completely
|
|
2. Close the terminal/shell it was running in
|
|
3. Open NEW terminal
|
|
4. cd C:\Users\270015376\Documents\github\flask-shopdb
|
|
5. claude
|
|
```
|
|
|
|
**This may work if your terminal was opened after group membership was added, but often you still need Option 1.**
|
|
|
|
### Option 3: Use RunAs (For This Session Only)
|
|
|
|
```powershell
|
|
# Run PowerShell as yourself with fresh token
|
|
runas /user:AEROAD\270015376 "powershell.exe"
|
|
# Enter your password
|
|
# In new PowerShell window:
|
|
Get-VM # Should work
|
|
```
|
|
|
|
**This creates a new process with fresh token, but isolated from current session.**
|
|
|
|
---
|
|
|
|
## Verification Steps
|
|
|
|
### After Logging Off/On
|
|
|
|
**1. Check group membership is active in token:**
|
|
```bash
|
|
whoami /groups | findstr "Hyper-V"
|
|
```
|
|
|
|
Expected output:
|
|
```
|
|
BUILTIN\Hyper-V Administrators Group ...
|
|
```
|
|
|
|
**2. Test Hyper-V cmdlet:**
|
|
```powershell
|
|
Get-VM
|
|
```
|
|
|
|
Expected: List of VMs (no permission error)
|
|
|
|
**3. Test snapshot cmdlet:**
|
|
```powershell
|
|
Get-VMSnapshot -VMName *
|
|
```
|
|
|
|
Expected: List of snapshots or "no snapshots found"
|
|
|
|
**4. Re-run MCP test suite:**
|
|
```powershell
|
|
cd C:\Users\270015376\Documents\github\flask-shopdb
|
|
.\\.claude\test-mcp-servers.ps1
|
|
```
|
|
|
|
Expected: All tests pass (7/7)
|
|
|
|
---
|
|
|
|
## What Will Work After Activation
|
|
|
|
### PowerShell Hyper-V Cmdlets
|
|
|
|
```powershell
|
|
# View VMs
|
|
Get-VM
|
|
Get-VM -Name "SFTest"
|
|
|
|
# Start/Stop
|
|
Start-VM -Name "SFTest"
|
|
Stop-VM -Name "SFTest"
|
|
|
|
# Snapshots
|
|
Checkpoint-VM -Name "SFTest" -SnapshotName "Baseline"
|
|
Get-VMSnapshot -VMName "SFTest"
|
|
Restore-VMSnapshot -Name "Baseline" -VMName "SFTest"
|
|
Remove-VMSnapshot -Name "OldSnapshot" -VMName "SFTest"
|
|
|
|
# Status
|
|
Get-VM | Select-Object Name, State, Uptime, Status
|
|
```
|
|
|
|
### Automated Snapshot Scripts
|
|
|
|
All PowerShell snapshot operations in:
|
|
- `VM-SNAPSHOT-GUIDE.md`
|
|
- Custom automation scripts
|
|
- Claude Code-driven snapshot management
|
|
|
|
### Test Suite
|
|
|
|
`test-mcp-servers.ps1` will pass all checks:
|
|
```
|
|
[6/7] Checking Hyper-V VMs...
|
|
OK: Found 1 VM(s)
|
|
- SFTest: Running
|
|
|
|
[7/7] Checking VM snapshots...
|
|
OK: Found X snapshot(s)
|
|
```
|
|
|
|
---
|
|
|
|
## What Already Works (No Change)
|
|
|
|
These worked before and still work:
|
|
- VM MCP via SSH (doesn't use Hyper-V API)
|
|
- Hyper-V Manager GUI (different permission model)
|
|
- MySQL, Gortex, Browser MCP servers
|
|
- Database access
|
|
- All documentation and scripts
|
|
|
|
---
|
|
|
|
## Testing After Activation
|
|
|
|
### Quick Test
|
|
```powershell
|
|
# After logging back in:
|
|
Get-VM -Name "SFTest"
|
|
```
|
|
|
|
Expected output:
|
|
```
|
|
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status
|
|
---- ----- ----------- ----------------- ------ ------
|
|
SFTest Running 2 4096 01:23:45.1234567 Operating normally
|
|
```
|
|
|
|
### Full Test
|
|
```powershell
|
|
cd C:\Users\270015376\Documents\github\flask-shopdb
|
|
.\\.claude\test-mcp-servers.ps1
|
|
```
|
|
|
|
Expected: 7/7 tests passing (or 6/7 if VM not started)
|
|
|
|
---
|
|
|
|
## Common Issues
|
|
|
|
### Still Getting Permission Error After Logoff/Logon
|
|
|
|
**Possible causes:**
|
|
1. Terminal was opened before you logged off (close and reopen)
|
|
2. PowerShell session was started before (restart PowerShell)
|
|
3. Claude Code still using old token (restart completely)
|
|
|
|
**Fix:** Restart everything - new logon, new terminal, new Claude Code
|
|
|
|
### "Access Denied" in Hyper-V Manager
|
|
|
|
**This is different issue** - Hyper-V Manager uses different permission model.
|
|
Should still work even if cmdlets don't.
|
|
|
|
### Group Membership Shows But Cmdlets Fail
|
|
|
|
**Check your token:**
|
|
```bash
|
|
whoami /groups | findstr "Hyper-V"
|
|
```
|
|
|
|
If no output, your token doesn't have the group yet. Log off and back on.
|
|
|
|
---
|
|
|
|
## Timeline
|
|
|
|
1. **Now:** Group membership added [X]
|
|
2. **After logoff/logon:** Permissions active [X]
|
|
3. **First test:** `Get-VM` should work [X]
|
|
4. **Full test:** Run test-mcp-servers.ps1 [X]
|
|
|
|
**Total downtime:** ~2 minutes for logoff/logon
|
|
|
|
---
|
|
|
|
## Documentation Updates
|
|
|
|
After activation, these will work as written:
|
|
- All PowerShell examples in `VM-SNAPSHOT-GUIDE.md`
|
|
- Automated snapshot workflows in `MCP-INTEGRATION-GUIDE.md`
|
|
- PowerShell sections in `HYPER-V-PERMISSIONS.md`
|
|
|
|
No code changes needed - just activation of existing permissions.
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
1. **Save your work**
|
|
2. **Log off** (Ctrl+Alt+Del -> Sign out)
|
|
3. **Log back in** as 270015376
|
|
4. **Open new terminal**
|
|
5. **Test:** `Get-VM`
|
|
6. **Re-run:** `.\\.claude\test-mcp-servers.ps1`
|
|
7. **Celebrate:** All tests passing!
|
|
|
|
---
|
|
|
|
**Ready to log off and activate your new permissions!**
|