Howard's personal MSP client documentation folder imported into shared
ClaudeTools repo via /import command. Scope:
Clients (structured MSP docs under clients/<name>/docs/):
- anaise (NEW) - 13 files
- cascades-tucson - 47 files merged (existing had only reports/)
- dataforth - 18 files merged (alongside incident reports)
- instrumental-music-center - 14 files merged
- khalsa (NEW) - 22 files, multi-site (camden, river)
- kittle (NEW) - 16 files incl. fix-pdf-preview, gpo-intranet-zone
- lens-auto-brokerage (NEW) - 3 files (name matches SOPS vault)
- _client_template - 13-file scaffold for new clients
MSP tooling (projects/msp-tools/):
- msp-audit-scripts/ - server_audit.ps1, workstation_audit.ps1, README
- utilities/ - clean_printer_ports, win11_upgrade,
screenconnect-toolbox-commands
Credential handling:
- Extracted 1 inline password (Anaise DESKTOP-O8GF4SD / david)
to SOPS vault: clients/anaise/desktop-o8gf4sd.sops.yaml
- Redacted overview.md with vault reference pattern
- Scanned all 160 files for keys/tokens/connection strings -
no other credentials found
Skipped:
- Cascades/.claude/settings.local.json (per-machine config)
- Source-root CLAUDE.md (personal, claudetools has its own)
- scripts/server_audit.ps1 and workstation_audit.ps1 at source root
(identical duplicates of msp-audit-scripts versions)
Memory updates:
- reference_client_docs_structure.md (layout, conventions, active list)
- reference_msp_audit_scripts.md (locations, ScreenConnect 80-char rule)
Session log: session-logs/2026-04-16-howard-client-docs-import.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.1 KiB
2.1 KiB
Joining Apple Devices to khalsa.local Domain
Prerequisites
- Mac must be on the network and able to reach DC (TROUT at 10.11.12.254)
- DNS must resolve khalsa.local (primary DNS should be 10.11.12.254)
- Ports 88 (Kerberos), 389 (LDAP), 445 (SMB) must be open to DC
- Domain admin credentials (guru)
Steps (run all as localadmin)
1. Verify connectivity
ping -c 2 10.11.12.254
nc -z -w 3 10.11.12.254 389 && echo "LDAP open" || echo "LDAP closed"
nc -z -w 3 10.11.12.254 88 && echo "Kerberos open" || echo "Kerberos closed"
2. Join the domain
Run in Terminal (not ScreenConnect — password prompt):
sudo dsconfigad -add khalsa.local -username guru -force
Enter guru's password when prompted. No output = success.
3. Verify binding
dsconfigad -show
id guru
Should show uid=...(guru) with KHALSA\Domain Admins in groups.
4. Grant Domain Admins local admin rights
sudo dsconfigad -groups "KHALSA\Domain Admins"
5. Set default domain (so users type just username, not KHALSA\username)
sudo defaults write /Library/Preferences/com.apple.loginwindow DefaultDomain -string "KHALSA"
6. Reboot and test
Log in with just the domain username (e.g., guru) — no KHALSA\ prefix needed.
Troubleshooting
"Connection failed to the directory server" (2100)
- If the Mac was previously joined and the trust is broken, force remove first:
Then redo step 2.
sudo dsconfigad -remove -username guru -force
"Data source (/Active Directory/KHALSA/All Domains) is not valid"
- Directory plugin not loading. Run:
Wait 10 seconds, then test with
sudo killall opendirectorydid guru.
Domain user doesn't have sudo
- Must be logged in as localadmin to run step 4. Domain Admins group must be added via
dsconfigad -groups.
User has to type KHALSA\ at login
- Step 5 wasn't applied, or needs a reboot after applying.
Network Info
- DC: TROUT (10.11.12.254)
- Domain: khalsa.local
- DNS: 10.11.12.254 (primary), 10.11.12.1 (secondary)
- 10.11.12.243 is a DNS server but NOT the DC