This project provides a PowerShell-based solution to configure a Windows machine for safe and reliable use on a private home network.
It enables:
- Hostname-based connectivity (ping, RDP, SMB)
- Network discovery visibility in File Explorer
- Secure SMB file sharing (Private network only)
- Remote Desktop (RDP) access (Private network only)
All configuration is intentional, minimal, and security-conscious.
- Computers not appearing under Network in File Explorer
- Inability to use hostname instead of IP address
- RDP or SMB working inconsistently
- Overexposed services on Public networks
👉 Read: Quick Start Guide
Then run:
.\HomeNetwork_RDP_SMB_Setup.ps1 -Configure -Verify- HomeNetwork_RDP_SMB_Setup.ps1
Main script that configures and verifies the system.
-
Quick Start Guide
Step-by-step instructions and usage examples -
One-Page Cheat Sheet
Fast reference for commands and expected results -
Security Notes
Explains why firewall rules are restricted to Private networks -
Rollback / Undo Guide
Safely undo changes made by the script
.\HomeNetwork_RDP_SMB_Setup.ps1 -Configure -Verify.\HomeNetwork_RDP_SMB_Setup.ps1 -VerifyOnly.\HomeNetwork_RDP_SMB_Setup.ps1 -Rollback -Verify- SMB (TCP 445) → Private only
- RDP (TCP 3389) → Private only
- SMB1 → Disabled
- No exposure on Public networks
This provides a safe default configuration for home and lab environments.
- Windows 10/11 Pro or Windows Server
- PowerShell (run as Administrator)
- Network set to Private (script will handle this)
- Script is idempotent — safe to run multiple times
-VerifyOnlymakes no changes-Rollbackis safe and conservative (does not re-enable insecure features)
This setup balances:
- ✅ Ease of use (hostname-based access)
- ✅ Reliability (consistent discovery)
- ✅ Security (Private-only exposure)
If everything is working — you're in a clean, correct, and production-quality state.