A collection of PowerShell scripts for applying a Linux-style cloud-init configuration to a Windows VM on Cycle.
Cycle automatically attaches a config-drive to every VM during provisioning. This drive contains metadata including:
user-datameta-datanetwork-config
To run these scripts inside the VM:
It will most likely be available under the F:\ drive, but may be different for you.
Open the VM in the Cycle Portal and use the built-in VNC console to connect and log in.
Right-click Start → Windows PowerShell.
F:\netconf-apply.ps1Expected output example:
[Cycle] Applying network configuration...
[Cycle] Found network-config on D:
[Cycle] Nics in YAML:
Key=eth0 MAC=xx:xx:xx:xx:xx:xx Name=Ethernet
Key=eth1 MAC=xx:xx:xx:xx:xx:xx Name=Ethernet 2
...
[Cycle] Network configuration applied successfully.
netconf-apply.ps1
This script reads the Linux-style network-config file from the VM’s config-drive and applies the full network setup to Windows. It parses the YAML, matches adapters by MAC address, renames NICs if specified, and configures IPv4/IPv6 addresses, routes, DNS, and MTU values using netsh.
Setup a windows scheduled task to always run netconf-apply on system boot.
F:\netconf-apply-onboot.ps1This will add a cycleio directory and script on your systemdrive along with a scheduled task to always apply netconf-apply.ps1 on system startup. This is recommended as networking configuration can change between stopping and starting your VM.