Enterprise-grade PowerShell module for configuring VMXNET3 network adapter link speeds in VMware vSphere environments. Features comprehensive automation, bulk operations, and production-ready CI/CD pipeline.
Repository Type: VMware PowerShell Module
Technology Stack: PowerCLI, vSphere API, PowerShell, Docker, GitHub Actions
- π PowerShell Module - VMwareVMXNET3 with 3 core functions
- π§ Bulk Operations - CSV-based mass configuration
- π Monitoring - Real-time dashboard and reporting
- π§ͺ Testing - 26+ Pester tests with full validation
- π Security - Automated scanning and verified commits
- π CI/CD - GitHub Actions with multi-stage validation
- π Documentation - Complete guides and examples
- π³ Docker - PowerShell Core container support
- PowerShell 5.1+ (Windows) or PowerShell 7.0+ (Linux/macOS)
- VMware PowerCLI module
- vSphere environment access
- Git
# Clone the repository
git clone https://github.com/uldyssian-sh/vmware-vm-vmxnet3-link-speed.git
cd vmware-vm-vmxnet3-link-speed
# Install VMware PowerCLI
Install-Module -Name VMware.PowerCLI -Scope CurrentUser
# Import the module
Import-Module .\VMwareVMXNET3# Connect to vCenter
Connect-VIServer -Server "vcenter.company.com"
# Configure single VM (25 Gbps)
Set-VMXNet3LinkSpeed -VMName "WebServer01" -LinkSpeed 25000
# Query current configuration
Get-VMXNet3LinkSpeed -VMName "WebServer01"
# Bulk configuration from CSV
Set-VMXNet3LinkSpeedBulk -CsvPath "vm-config.csv"Configuration options:
- PowerCLI Settings - Certificate validation, CEIP participation
- vCenter Connection - Server, credentials, session management
- Link Speed Values - 1000, 10000, 25000, 40000, 100000 Mbps
Example PowerCLI configuration:
# Configure PowerCLI
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
Set-PowerCLIConfiguration -ParticipateInCEIP $false -Confirm:$false# Basic script execution
.\vmware-vm-vmxnet3-link-speed.ps1 -vCenter "vcenter.company.com" -VMName "WebServer01" -LinkSpeed 25000# Configure specific network adapter
Set-VMXNet3LinkSpeed -VMName "DBServer" -LinkSpeed 40000 -AdapterIndex 1
# Query multiple VMs with pipeline
Get-VM -Name "Web*" | Get-VMXNet3LinkSpeed
# Bulk operations with logging
Set-VMXNet3LinkSpeedBulk -CsvPath "config.csv" -LogPath "deployment.log" -MaxConcurrent 5
# Force overwrite existing settings
Set-VMXNet3LinkSpeed -VMName "TestVM" -LinkSpeed 10000 -ForceTest Coverage: 26 tests across 3 test files
# Install testing framework
Install-Module -Name Pester -Force
# Run all tests (26 tests)
Invoke-Pester -Path .\tests\
# Run specific test suite
Invoke-Pester -Path .\tests\VMwareVMXNET3.Tests.ps1
# Code quality analysis
Invoke-ScriptAnalyzer -Path . -RecurseWe welcome contributions! Please see our Contributing Guidelines.
# Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/vmware-vm-vmxnet3-link-speed.git
cd vmware-vm-vmxnet3-link-speed
# Install required modules
Install-Module -Name VMware.PowerCLI -Scope CurrentUser
Install-Module -Name Pester -Scope CurrentUser
Install-Module -Name PSScriptAnalyzer -Scope CurrentUser
# Import the module for development
Import-Module .\VMwareVMXNET3 -Force- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for your changes
- Ensure all tests pass
- Commit your changes (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- π§ Email: Create an issue
- π¬ Discussions: GitHub Discussions
- π Bug Reports: Issue Tracker
- VMware Community
- Open Source Contributors
- Enterprise Automation Teams
- Security Research Community
- Module Functions: 3 (Set, Get, Bulk)
- Test Coverage: 26 tests
- CI/CD Stages: 3 (Validation, Security, Documentation)
- Supported Speeds: 100 Mbps - 100 Gbps
- Docker Support: β PowerShell Core
- GitHub Free Tier: β Optimized
- Issues: GitHub Issues
- Security: Security Policy
- Contributing: Contributing Guidelines
β Star this repository if you find it helpful!