Всем привет! Я не опытный программист, но очень люблю Mikrotik и Powershell, поэтому вот мой простой модуль cmdlet для Mikrotik на Powershell. Надеюсь, он вам понравится. Пожалуйста, дайте знать, если думаете, что можно что-то улучшить. Модуль поддерживает API и API-SSL. Для дополнительной информации о фильтрах и атрибутах смотрите Спасибо!
Примеры:
PS C:> Import-Module Mikrotik.dll
PS C:> Get-Command -Module Mikrotik
CommandType Name Version Source
Cmdlet Connect-Mikrotik 1.0.0.0 Mikrotik
Cmdlet Disconnect-Mikrotik 1.0.0.0 Mikrotik
Cmdlet Send-Mikrotik 1.0.0.0 Mikrotik
# Подключаемся через API по умолчанию и сохраняем объект соединения в переменную $C, потом можем использовать $C для отправки команд
PS C:> $C=Connect-Mikrotik -IPaddress 192.168.3.1 -UserName admin -Password password
Подключено к 192.168.3.1, Identity=TEST1
# Подключаемся через API-SSL по умолчанию
PS C:> $C=Connect-Mikrotik -IPaddress 192.168.3.1 -UserName admin -Password password -UseSSL
Подключено к 192.168.3.1, Identity=TEST1
# Подключаемся через API-SSL на порту, отличном от 8729
PS C:> $C=Connect-Mikrotik -IPaddress 192.168.3.1 -UserName admin -Password svgafara -UseSSL -Port 3323
# Получаем все ethernet-интерфейсы, которые не отключены
PS C:> Send-Mikrotik -Connection $C -Command "/interface/getall" -Filters "type=ether","disabled=false"
# Добавляем IP к ether1
PS C:> Send-Mikrotik -Connection $C -Command "/ip/address/add" -Attributes "interface=ether1","address=192.168.201.1/24"
# Получаем IP-адрес ether1
PS C:> Send-Mikrotik -Connection $C -Command "/ip/address/getall" -Filters "interface=ether1"
# Закрываем соединение
PS C:> Disconnect-Mikrotik -Connection $C
Mikrotik-PS-CMDLET-SRC.zip (29.6 KB)
Mikrotik-PS-Module.zip (5.39 KB)
Примеры:
PS C:> Import-Module Mikrotik.dll
PS C:> Get-Command -Module Mikrotik
CommandType Name Version Source
Cmdlet Connect-Mikrotik 1.0.0.0 Mikrotik
Cmdlet Disconnect-Mikrotik 1.0.0.0 Mikrotik
Cmdlet Send-Mikrotik 1.0.0.0 Mikrotik
# Подключаемся через API по умолчанию и сохраняем объект соединения в переменную $C, потом можем использовать $C для отправки команд
PS C:> $C=Connect-Mikrotik -IPaddress 192.168.3.1 -UserName admin -Password password
Подключено к 192.168.3.1, Identity=TEST1
# Подключаемся через API-SSL по умолчанию
PS C:> $C=Connect-Mikrotik -IPaddress 192.168.3.1 -UserName admin -Password password -UseSSL
Подключено к 192.168.3.1, Identity=TEST1
# Подключаемся через API-SSL на порту, отличном от 8729
PS C:> $C=Connect-Mikrotik -IPaddress 192.168.3.1 -UserName admin -Password svgafara -UseSSL -Port 3323
# Получаем все ethernet-интерфейсы, которые не отключены
PS C:> Send-Mikrotik -Connection $C -Command "/interface/getall" -Filters "type=ether","disabled=false"
# Добавляем IP к ether1
PS C:> Send-Mikrotik -Connection $C -Command "/ip/address/add" -Attributes "interface=ether1","address=192.168.201.1/24"
# Получаем IP-адрес ether1
PS C:> Send-Mikrotik -Connection $C -Command "/ip/address/getall" -Filters "interface=ether1"
# Закрываем соединение
PS C:> Disconnect-Mikrotik -Connection $C
Mikrotik-PS-CMDLET-SRC.zip (29.6 KB)
Mikrotik-PS-Module.zip (5.39 KB)
