По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Консольный доступ на Mikrotik используется для конфигурации и управления роутером с помощью терминала по telnet, SSH и т.д. Также консоль можно использовать для написания скриптов. Ниже вы найдете базовые команды, использующиеся для администрирования роутера. Иерархия Всего существует большое количество команд, которые разбиты на группы, отсортированные в иерархическом порядке. Это означает, что название уровня меню отображает информацию о конфигурации в соответствующем разделе - определение не очень понятное, но, после примеров все станет более прозрачным. К примеру, введите команду ip route print для вывода таблицы маршрутизации: Если же ввести команду ip route, то вы как бы сразу попадете в меню манипуляции конкретной ветки: Обратите внимание, что для вывода всех возможных команд на данном уровне достаточно ввести знак ?, а для возврата на уровень выше - знак /. Если же вам нужно выполнить команду из основного уровня - добавьте слэш (/) и команду следом, к примеру ping: Нумерация и названия сущностей Множество команд оперирует массивами сущностей - массивами интерфейсов, маршрутов, пользователей и т.д. Для изменения свойств сущности, предварительно должна идти команда set и указано имя или номер сущности. Различие между номером и названием состоит в том, что при обращении к сущности по имени (item name) нет необходимости использовать команду print, в отличие от номера, который может быть назначен с помощью команды. Таким образом, использование “имен” в каком-то смысле более стабильно - однако все равно возможна ситуация, в которой, к примеру, несколько пользователей одновременно настраивают маршрутизатор. Ниже приведен пример изменения параметра MTU с помощью команды interface set 0 mtu=1460 Автозаполнение В RouterOS есть две фичи, которые ускоряют конфигурацию - табуляция и сокращения команд. Табуляция - автозавершение команды после нажатия на клавишу Tab и оно работает также как автозавершение в bash для LinuxUNIX систем. Если есть только одна альтернатива - она будет автоматически предложена и будет добавлен пробел, если же альтернатив больше - команда будет выполнена частично и пробел добавлен не будет. То есть: int[Tab] станет interface interface set e[Tab] станет interface set ether_ Другой фичей является сокращение команд - к примеру вместо interface можно использовать int, вместо ping использовать pi и так далее Ниже пример как выполняется команда pi 192.1 c 3 si 100, что абсолютно аналогично команде ping 192.0.0.1 count 3 size 100 Основные команды Некоторые команды применимы практически на всех уровнях, эти команды - print, set, remove, add, find, get, export, enable, disable, comment, move. add - добавление нового элемента с указанными параметрами, некоторые из параметров перечислены далее - copy-from, place-before, disabled, comment; edit - ассоциирована с командой set, как правило используется для редактирования сущностей, содержащих большое количество текста, к примеру скриптов, но также работает для любых редактируемых сущностей; find - команда возвращает внутренние номера всех сущностей, которые попадают под указанный фильтр. Обладает такими же аргументами как и команда set + имеет аргументы вида flag - такие как disabled или active (другими словами, булевые переменные); move - команда меняет порядок сущностей в списке; print - команда выводит всю информацию доступную с текущего уровня. Типичные модификаторы - from, where, brief, detail, count-only, file, interval, oid, without-paging. К примеру команда system clock print выводит системную дату и время, ip rout print - таблицу маршрутизации; remove - удаление сущности (-ей) из списка; set - установка параметров, значений и так далее; Не забывайте, что для просмотра всех возможных аргументов и модификаторов вы можете ввести знак вопроса ? после команды или дважды нажать на клавишу Tab. Горячие клавиши Ниже приведен список самых полезных горячих клавиш, которые могут серьезно ускорить процесс настройки оборудования, и, даже спасти ситуацию в случае ввода некорректного сетевого адреса. Ctrl-C - прерывание, к примеру для остановки процесса ping; Ctrl-D - разлогинивание; Ctrl-K - очистить строку от курсора до конца строки; Ctrl-X - включение Безопасного режима, позволяет настраивать роутер практически без риска потерять удаленный доступ. При потере доступа, все выполненные изменения будут нивелированы через примерно 10 минут; Ctrl-V - включение режима Автозаполнения (HotLock), в нем все команды будут завершаться автоматически; F6 - включение режима помощи, при котором внизу терминала будут показаны типичные сочетания клавиш и как они могут быть использованы; F1 или ? - помощь, вывод всех возможных команд на данном уровне; Tab - автозавершение команды;
img
Сегодня в статье я хочу затронуть вопрос удаленного включения RDP, он же удаленный рабочий стол. Все хоть раз пользовались этой незаменимой фичей, а кто-то использует ее для администрирования на ежедневной основе. По умолчанию, на серверных платформах Windows удаленное управление (WinRM) включено, но функция удаленного рабочего стола выключена, а на десктопной версии обе функции выключены по умолчанию, поэтому, для выполнения описанного ниже, в начале придется включить WinRM на десктопе. Итак, перейдем к методам - далее описаны непосредственно способы включения и отключения RDP (входит и замечательно выходит!) Метод номер один: командная строка Для включения удаленного рабочего стола (RDP) через командную строку, выполните следующее: Запустите командную строку от имени администратора; Выполните следующую команду: Reg add “\computernameHKLMSYSTEMCurentControlSetControlTerminal Server” /v fDenyTSConnections /t REG_DWORD /d /f В свою очередь, чтобы выключить RDP через командную строку, следуйте следующим шагам: Запустите командную строку; Выполните команду: Reg add “\computernameHKLM SYSTEMCurentControlSetControlTerminal Server” /v fDenyTSConnections /t REG_DWORD /d 1 /f Метод номер два: используем PowerShell Для того, чтобы включить RDP через PowerShell, выполните следующие действия: Способ 1: Для включения удаленного рабочего стола: Запустите PowerShell от имени администратора; Запустите следующую команду и используйте метод Invoke-Command: Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value } Далее введите команду: Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Enable-NetFirewallRule -DisplayGroup "Remote Desktop"} И, как традиция, обратные шаги: Запускаем PowerShell от имени админа; Вводим команду: Invoke-Command –Computername “server1”, “Server2” –ScriptBlock {Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value 1} Второй способ включения через PowerShell: Запускаем PowerShell от имени админа и создаем PowerShell сессию с нужным компьютером; Введите команду: Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value И следующую команду: Enable-NetFirewallRule -DisplayGroup "Remote Desktop" Чтобы выключить: Повторяем первые два шага из предыдущего пункта (про повершелл и сессию); Вводим команду: Set-ItemProperty -Path "HKLM:SystemCurrentControlSetControlTerminal Server" -Name "fDenyTSConnections" –Value 1 Важно: Computername - это имя компьютера, на котором будет включен RDP. Важно: Включение удаленного рабочего стола через командную строку не настроит фаервол с точки зрения использования правильных портов для того, чтобы разрешить RDP подключения. Важно: По умолчанию, только локальные Администраторы и пользователь, который уже вошел в систему, смогут использовать RDP. И в заключение На этом все, надеюсь, было полезно! И помните, если вы даете кому-нибудь доступ по RDP на компьютер в вашей сети, это несет в себе риски - вы должны быть уверены в человеке, который будет заходить по RDP и в том, что доступ дан через защищенный канал связи!
img
Насколько часто вы попадаете в замкнутый цикл из ошибок при разработке приложения в PHP? Ошибка исчезает, а потом появляется в другом блоке кода, или баги постоянно сменяют друг друга. Самое неприятное обстоятельство - вернуться к багу, который был исправлен несколько часов назад. Когда отлаживание алгоритма начинает приносить раздражение - о конструктивном подходе к задаче можно забыть. Именно для того, чтобы не дать вам забросить перспективную разработку или просто выполнить поставленную задачу, существует возможность использовать PHPUnit тестирование. Что такое PHPUnit тестирование? С Unit или же "модулем" плотно связано понимание процесса тестирования. Модуль - это работающая часть кода, функционал которой можно протестировать автономно. Соответственно, PHPUnit тестирование представляет собой последовательную проверку всех модулей приложения на корректность выполнения их алгоритмов. Тесты можно прописать один раз и впоследствии использовать после внесения любых изменений. Преимущества модульного тестирования Вот несколько неоспоримых преимуществ Unit-тестирования: Оперативная проверка правок. Довольно удобно проверять работоспособность модуля немедленно после его изменения. Операция займет несколько секунд. Облегченная передача кода другому разработчику. Если вы прекратили разработку продукта и ее продолжит другой специалист, то процесс передачи пройдет намного легче. Безопасное редактирование. Если вы боитесь, что изменения модулей могут повлечь за собой глобальную проблему для системы в целом, то без предложенного Unit-тестирования обойтись будет очень сложно. Использование PHPUnit тестирования Использовать модульное тестирование достаточно просто. Ниже будет описано, как установить и запустить первый тест. Установка Элементарный способ установить библиотеку PHPUnit - выгрузить его по каналу PEAR. Для этого нужно вписать: "1 pear config-set auto_discover 1" "2 pear install pear.phpunit.de/PHPUnit" Для пользователей, которые хотят иметь углубленное понимание по этому процессу подойдет ручной вариант установки через официальный сайт PHPUnit. Запуск Любой тест запускается при помощи вызова команды phpunit. Укажите php-файл как в примере ниже: "1 phpunit /path/to/tests/RemoteConnectTest.php" После этого, запущенный тест вернет результат: "1 PHPUnit 2.5 by Aloizii MagaRich" "2 ." "3 Time: 1 second" "4 Tests: 1, Assertions: 1, Failures 0" Итог представляет из себя краткие статистические данные по работе теста, такие как время операции, количество тестов, утверждений и ошибок. Также во второй строке можно заметить знак ".", сигнализирующий о том, что тест завершился успешно. Это общий итог операции. Ниже представлены другие варианты вывода, если тест: "F" - не выполнен. "I" - невозможно закончить. "S" - пропущен. Стандартные тесты Также приведем список стандартных вариантов тестирования, которые можно использовать в 80% ситуаций. Название каждого теста начинается с упомянутого ранее утверждения или Assert: "True/AssertFalse". Используется для выявления корректности значений на соответствие true/false. "Equals". Проверяет равенство. "GreaterThan". Сопоставляет переменные (присутствует большее количество вариаций этого сравнения). "Contains". Тестирует правильность содержания переменной. "Type". Исследует тип переменной. "Null". Проверяет равенство null. "FileExists". Подтверждает существование файла. "RegExp". Тестирует регулярность выражения. Модульное тестирование: почему нет? Почему все разработчики не используют PHPUnit тестирование? Закономерный вопрос, когда дело касается такого эффективного инструмента. Вот несколько распространенных причин: Тестирование затратно по времени. Написание строк с тестом занимает время, которое можно было уделить построению общей структуры приложения. Однако в конечном счете продукт будет дополняться. Несколько часов добавления теста на раннем этапе сэкономит больше времени на стадии доработки или сопровождения. Использовать модульные тесты - скучно. Конечно, прогонять проверку каждого модуля в большой разработке - это рутина, особенно по сравнению с ее созданием. Но поддержка 100% работоспособности - это элемент такта, который может позволить себе только настоящий профессионал. Уверенность в то, что код будет работать без проверок. Возможно, что автор досконально знает свой код и может оперативно исправить любой баг. Однако если с приложением будет работать другой человек, то не факт, что он сможет вникнуть во все нюансы так же быстро. Как можно заметить, все причины, перечисленные выше, скорее, продиктованы ленью и непониманием предмета, нежели практичностью и здравым смыслом.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59