|
2 | 2 |  |
3 | 3 |
|
4 | 4 | ## Description |
5 | | -A powerful PowerShell script for managing IPv4 network settings with support for static IPs, DHCP configurations, and advanced network diagnostics. Features enhanced error handling, configuration management, comprehensive subnet calculator, and GDPR-compliant privacy controls. |
| 5 | +A powerful PowerShell script for managing IPv4 network settings with GDPR-compliant privacy controls. Features static IP/DHCP configuration, network diagnostics, subnet calculator, and comprehensive configuration management. |
6 | 6 |
|
7 | | -## Features |
| 7 | +## Key Features |
8 | 8 |
|
9 | | -### Core Functionality |
10 | | -- **Static IP and DHCP Configuration**: Seamlessly switch between static IP and DHCP modes |
11 | | -- **Configuration Management**: Save and load network configurations to/from XML files for easy backups |
12 | | -- **Network Connectivity Testing**: Comprehensive network diagnostics including gateway, DNS, and internet connectivity tests |
13 | | -- **Subnet Calculator**: Advanced subnet calculations with binary representations, CIDR notation, and subnetting guides |
14 | | -- **Interface Rename**: Rename network interfaces directly from the interface selection menu |
| 9 | +### Network Management |
| 10 | +- **Static IP & DHCP**: Switch between static and DHCP configurations |
| 11 | +- **Configuration Save/Load**: Backup and restore network settings via XML |
| 12 | +- **Network Testing**: Gateway, DNS, and internet connectivity diagnostics |
| 13 | +- **Subnet Calculator**: CIDR calculations, binary representations, subnetting guides |
| 14 | +- **Interface Management**: Rename and manage multiple network adapters |
15 | 15 |
|
16 | | -### Privacy & GDPR Compliance |
17 | | -- **GDPR-Compliant Logging**: User consent required before any data logging |
18 | | -- **Data Pseudonymization**: IP addresses automatically pseudonymized (e.g., 192.168.1.xxx) |
19 | | -- **Privacy Notice**: Clear transparency about data collection and usage |
20 | | -- **Right to Access**: View all logged data at any time |
21 | | -- **Right to Erasure**: Delete all logs and consent records (Right to be Forgotten) |
22 | | -- **Right to Rectification**: Change consent settings at any time |
23 | | -- **Data Portability**: Export all data as ZIP archive |
24 | | -- **Local Storage Only**: No data transmitted to external servers |
25 | | -- **Privacy & Data Management Menu**: Dedicated menu for managing privacy settings |
| 16 | +### GDPR Privacy & Compliance |
| 17 | +- **User Consent Management**: Explicit opt-in for logging |
| 18 | +- **IP Pseudonymization**: Automatic masking (192.168.1.xxx) |
| 19 | +- **User Rights**: Access, Erasure, Rectification, Data Portability |
| 20 | +- **Local Storage Only**: No external data transmission |
| 21 | +- **Privacy Dashboard**: Dedicated menu for privacy controls (Option 11) |
26 | 22 |
|
27 | 23 | ### User Experience |
28 | | -- **Intuitive Menu-Driven Interface**: Easy-to-navigate menu system with quick actions |
29 | | -- **Smart Input Validation**: Robust validation for IP addresses, subnet masks, DNS servers, and hostnames |
30 | | -- **Enhanced Error Handling**: Clear error messages and graceful error recovery |
31 | | -- **Dynamic Version Display**: Version information extracted automatically from script header |
32 | | -- **Quick Actions**: Shortcuts for common tasks (Quick DHCP, status check, quick test, refresh) |
33 | | - |
34 | | -### Configuration & Storage |
35 | | -- **AppData Storage**: All configuration, log, version, and interface files stored in AppData for better organization |
36 | | -- **Automatic File Migration**: Seamlessly migrates old config files to AppData location |
37 | | -- **Interface Persistence**: Saves and reuses selected network interfaces across sessions |
38 | | -- **Log Rotation**: Automatic log file management with configurable size limits and archive retention |
39 | | - |
40 | | -### Network Features |
41 | | -- **Smart Gateway Suggestions**: Intelligent gateway recommendations based on entered IP address |
42 | | -- **Flexible Gateway Input**: Enter last octet, .1/.254, full IP, or skip gateway configuration |
43 | | -- **Strict DNS Validation**: Accepts full IPv4 addresses or valid FQDNs/hostnames only |
44 | | -- **Interface Management**: Rescan interfaces and toggle visibility of down/disabled adapters |
45 | | -- **Multi-Interface Support**: Works with multiple network adapters including Ethernet and WiFi |
46 | | - |
47 | | -### Advanced Capabilities |
48 | | -- **Comprehensive Network Testing**: Tests gateway connectivity, public DNS servers, local DNS, and name resolution |
49 | | -- **Parallel DNS Testing**: Fast network diagnostics using parallel job execution |
50 | | -- **Subnet Calculator**: |
51 | | - - IP address validation and network calculations |
52 | | - - CIDR and subnet mask conversion |
53 | | - - Network/broadcast address computation |
54 | | - - Usable IP range identification |
55 | | - - Binary representation display |
56 | | - - Network class determination |
57 | | - - Private/public IP detection |
58 | | - - Subnetting recommendations |
59 | | - |
60 | | -### Safety & Security |
61 | | -- **Administrator Elevation**: Automatically requests admin privileges when needed |
62 | | -- **Confirmation Prompts**: Defaults to 'y' for faster workflow while maintaining safety |
63 | | -- **Strict Input Validation**: Cancels operations immediately on invalid input |
64 | | -- **Interface Requirement Blocking**: Prevents configuration actions until valid interface is selected |
65 | | -- **Rollback Protection**: Validates existing configurations before making changes |
66 | | -- **Pure ASCII**: No Unicode characters for maximum compatibility |
67 | | -- **Clean Code Quality**: PSScriptAnalyzer compliant with no issues |
| 24 | +- **Intuitive Menu**: Easy navigation with quick actions ('q', 't', 'c', 'd', 'i') |
| 25 | +- **Smart Validation**: IP, subnet, DNS, and hostname validation |
| 26 | +- **Auto Version Sync**: Version tracking from script header |
| 27 | +- **AppData Storage**: Organized file management in `%APPDATA%` |
| 28 | +- **Pure ASCII**: Maximum compatibility across systems |
| 29 | +- **PSScriptAnalyzer Clean**: Zero code quality issues |
| 30 | + |
| 31 | +## Quick Actions |
| 32 | +- `q` - Quick DHCP configuration |
| 33 | +- `t` - Quick network connectivity test |
| 34 | +- `c` - Clear screen |
| 35 | +- `d` - DNS cache flush |
| 36 | +- `i` - Interface information (MAC, speed, status) |
68 | 37 |
|
69 | 38 | ## GDPR Compliance |
70 | 39 |
|
71 | | -This script is fully compliant with the General Data Protection Regulation (GDPR): |
72 | | - |
73 | | -### Data Collection |
74 | | -- Network interface names |
75 | | -- IP addresses (pseudonymized by default) |
76 | | -- Network configuration settings |
77 | | -- Timestamps of operations |
78 | | -- Error messages and diagnostic information |
79 | | - |
80 | | -### Legal Basis |
81 | | -- **Explicit User Consent** (GDPR Article 6(1)(a)) |
82 | | -- Consent banner displayed on first run |
83 | | -- Clear opt-in/opt-out mechanism |
84 | | - |
85 | | -### User Rights |
86 | | -- ✅ **Right to Access** - View all logs via menu option |
87 | | -- ✅ **Right to Erasure** - Delete all data with one click |
88 | | -- ✅ **Right to Rectification** - Change consent settings anytime |
89 | | -- ✅ **Right to Data Portability** - Export data as ZIP archive |
90 | | -- ✅ **Right to Object** - Disable logging completely |
91 | | -- ✅ **Right to Withdraw Consent** - Revoke consent at any time |
92 | | - |
93 | | -### Data Protection Measures |
94 | | -- **Data Minimization**: Only essential data is collected |
95 | | -- **Pseudonymization**: IP addresses masked (192.168.1.xxx) |
96 | | -- **Local Storage**: All data stored locally on your computer |
97 | | -- **No External Transmission**: Data never sent to third parties |
98 | | -- **Automatic Log Rotation**: Prevents excessive data retention |
99 | | -- **Transparent Privacy Policy**: Full disclosure of data practices |
| 40 | +**Data Collected**: Interface names, IP addresses (pseudonymized), configuration settings, timestamps |
| 41 | +**Legal Basis**: Explicit user consent (GDPR Article 6(1)(a)) |
| 42 | +**Storage**: Local only (`%APPDATA%\Network_Configuration_Script`) |
| 43 | +**User Rights**: Full GDPR compliance with access, erasure, rectification, portability |
100 | 44 |
|
101 | 45 | ## Prerequisites |
102 | | -- **Windows OS with PowerShell.** |
103 | | -- **Having permission to run PowerShell as an administrator.** |
104 | | -- **Allow script execution:** |
| 46 | +- Windows OS with PowerShell 5.1+ |
| 47 | +- Administrator privileges |
| 48 | +- Script execution policy: |
105 | 49 | ```powershell |
106 | 50 | Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass |
| 51 | + ``` |
107 | 52 |
|
108 | 53 | ## Usage |
109 | 54 |
|
110 | | -To download and execute the script locally, follow these steps: |
111 | | -
|
112 | | -1. **Download the Script** |
113 | | - - Visit the [releases tab](https://github.com/Dantdmnl/Network_Configuration_Script/releases) on the GitHub repository. |
114 | | - - Download the latest version of the **`Network_Configuration.ps1`** file. |
115 | | -
|
116 | | -2. **Run the Script** |
117 | | - - Locate the downloaded file on your computer. |
118 | | - - Right-click the file and select **Run with PowerShell**. |
119 | | -
|
120 | | -3. **Follow the Prompts** |
121 | | - - The script will provide a series of interactive prompts to guide you through configuring your network settings. |
122 | | - - If an invalid IP address is entered during static IP configuration, the process will be cancelled and you will be notified immediately. |
123 | | - - Respond to each prompt with the required inputs. |
124 | | -
|
125 | | -## Version History |
126 | | -
|
127 | | -### Version 2.1 (Current) |
128 | | -**GDPR Compliance & Code Quality Release** |
129 | | -
|
130 | | -#### New Features |
131 | | -- 🔒 **GDPR-Compliant Privacy System** |
132 | | - - User consent required for logging |
133 | | - - Data pseudonymization (IP addresses masked) |
134 | | - - Privacy notice with full transparency |
135 | | - - Privacy & Data Management menu (option 11) |
136 | | - |
137 | | -- 🛡️ **User Rights Implementation** |
138 | | - - Right to Access (view logs) |
139 | | - - Right to Erasure (delete all data) |
140 | | - - Right to Rectification (change consent) |
141 | | - - Right to Data Portability (export as ZIP) |
142 | | - - Right to Withdraw Consent |
143 | | -
|
144 | | -- 🔧 **Interface Management** |
145 | | - - Rename network interfaces from selection menu |
146 | | - - Auto-update saved interface on rename |
147 | | -
|
148 | | -#### Improvements |
149 | | -- ✅ PSScriptAnalyzer clean (fixed 16 code quality issues) |
150 | | -- ✅ Enhanced logging with consent management |
151 | | -- ✅ All IP addresses pseudonymized in logs |
152 | | -- ✅ Improved error handling in GDPR functions |
153 | | -
|
154 | | -#### Technical |
155 | | -- Data stored locally in `%APPDATA%\Network_Configuration_Script` |
156 | | -- Consent file: `gdpr_consent.txt` |
157 | | -- Automatic version detection from script header |
158 | | -- Backwards compatible with version 2.0 |
| 55 | +1. **Download**: Get `Network_Configuration.ps1` from [releases](https://github.com/Dantdmnl/Network_Configuration_Script/releases) |
| 56 | +2. **Run**: Right-click → Run with PowerShell (as Administrator) |
| 57 | +3. **First Run**: Accept GDPR consent banner |
| 58 | +4. **Configure**: Follow interactive prompts |
0 commit comments