Wie man alle DHCP-Server mit Python RouterOS-api deaktiviert

Verwenden Sie den folgenden Python-Code, um über alle DHCP-Server mit dem Python RouterOS-api-Paket zu iterieren und sie zu deaktivieren:

disable_all_dhcp.py
# Access the DHCP server resource
dhcp_server_resource = api.get_resource('/ip/dhcp-server')

# Get all DHCP servers
dhcp_servers = dhcp_server_resource.get()

# Loop through all DHCP servers and disable each one
for dhcp_server in dhcp_servers:
    print(f"Disabling DHCP server {dhcp_server['name']} on interface {dhcp_server['interface']}")
    server_id = dhcp_server['id']
    dhcp_server_resource.set(id=server_id, disabled='yes')

Vollständiges Beispiel

Das folgende Beispiel funktioniert für mich mit einem werkskonfigurierten MikroTik-wAP-LTE-Kit.

disable_all_dhcp_full_example.py
#!/usr/bin/env python3
import routeros_api

connection = routeros_api.RouterOsApiPool(
    '192.168.88.1', username='admin', password='L9TYAUV7R8',
    plaintext_login=True
)
api = connection.get_api()

# Access the DHCP server resource
dhcp_server_resource = api.get_resource('/ip/dhcp-server')

# Get all DHCP servers
dhcp_servers = dhcp_server_resource.get()

# Loop through all DHCP servers and disable each one
for dhcp_server in dhcp_servers:
    print(f"Disabling DHCP server {dhcp_server['name']} on interface {dhcp_server['interface']}")
    server_id = dhcp_server['id']
    dhcp_server_resource.set(id=server_id, disabled='yes')

Beispielausgabe

disable_all_dhcp_output.txt
Disabling DHCP server defconf on interface bridge

Check out similar posts by category: MikroTik, Networking