Files
PSOPNSenseAPI/docs/examples/DHCP-Management.ps1
T

42 lines
1.6 KiB
PowerShell

# Import the module
Import-Module PSOPNSenseAPI
# Connect to the OPNSense firewall
Connect-OPNSense -Server "https://firewall.example.com" -ApiKey "your_api_key" -ApiSecret "your_api_secret" -SkipCertificateCheck
# Get all DHCP servers
$dhcpServers = Get-OPNSenseDHCPServer
$dhcpServers | Format-Table -Property Interface, Enabled, RangeFrom, RangeTo, Gateway
# Get a specific DHCP server
$lanDhcp = Get-OPNSenseDHCPServer -Interface "lan"
$lanDhcp
# Update a DHCP server
Set-OPNSenseDHCPServer -Interface "lan" -RangeFrom "192.168.1.100" -RangeTo "192.168.1.200" -Domain "example.local" -DnsServers "8.8.8.8","8.8.4.4" -Apply
# Get all DHCP leases
$dhcpLeases = Get-OPNSenseDHCPLease
$dhcpLeases | Format-Table -Property MacAddress, IpAddress, Hostname, State
# Get active DHCP leases
$activeLeases = $dhcpLeases | Where-Object { $_.State -eq "active" }
$activeLeases | Format-Table -Property MacAddress, IpAddress, Hostname
# Get all static mappings for an interface
$staticMappings = Get-OPNSenseDHCPStaticMapping -Interface "lan"
$staticMappings | Format-Table -Property Uuid, MacAddress, IpAddress, Hostname, Description
# Create a new static mapping
$newMapping = New-OPNSenseDHCPStaticMapping -Interface "lan" -MacAddress "00:11:22:33:44:55" -IpAddress "192.168.1.50" -Hostname "printer" -Description "Office Printer" -Apply
$newMapping
# Update a static mapping
Set-OPNSenseDHCPStaticMapping -Interface "lan" -Uuid $newMapping -IpAddress "192.168.1.51" -Description "Updated Printer" -Apply
# Remove a static mapping
Remove-OPNSenseDHCPStaticMapping -Interface "lan" -Uuid $newMapping -Force -Apply
# Disconnect from the firewall
Disconnect-OPNSense