По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Если PowerShell кажется вам сложным для использования его для повседневных задач, "круто" может быть не тем словом, которое у вас ассоциируете с ним. Но PowerShell является основной частью Exchange, Windows Server и SQL Server, и он обладает огромными возможностями, которые мы все должны понять, принять и использовать, чтобы облегчить и автоматизировать наши текущие дела. Я собираюсь немного поразвлечься и показать вам несколько хитростей, которые определенно пригодятся вам в решении нудных задач на работе. Кроме того, вы будете выглядеть намного круче в глазах ваших коллег, когда сможете решить проблему из командной строки. Согласитесь, это выглядит привлекательно, чем щелкать правой кнопкой мыши и что-то исправлять. Будьте очень осторожны так как это инструмент достойный своего названия (Power – Сила, Shell – Оболочка). PowerShell может легко вызвать массовые изменения конфигурации, как положительные, так и отрицательные, поэтому для безопасности создайте тестовую или лучше всего виртуальную среду для вашего обучения и тестирования. Если вы будете тестировать у себя на компьютере, то создайте точку восстановления системы. Чтобы во время выполнения одной из следующих команд что-то пойдет не так, вы всегда могли восстановить свой компьютер. 10 крутых вещей, которые можно сделать с помощью Windows PowerShell 1: Отчёты о подключённых USB оборудованиях PowerShell даёт возможность работать с Windows Management Instrumentation (WMI). С помощью PowerShell, вы можете сделать WMI - запрос для получения информации о USB - устройствах, которые установлены как на локальной, так и на удаленных системах. gwmi Win32_USBControllerDevice -computername DBSERVER1 |fl Antecedent,Dependent В данной команде будет применен фильтр возврата предшествующих и зависимых полей с компьютера DBSERVER1. Если вы хотите получить полную информацию о USB-устройствах в системе, вы можете убрать оператор | и fl. Это весьма удобный способ для ведения отчётов по серверам, к которым подключены USB - устройства с лицензией. 2: Выполнение ваших любимых задач CMD в PowerShell Да, вы можете перестать использовать командную строку (CMD) и начать выполнять все те же задачи в PowerShell. Это поможет сделать процесс обучение немного проще и помочь вам лучше ознакомиться с интерфейсом. К сожалению, PowerShell невозможно вызвать через окно «выполнить» с помощью трёх букв, подобно CMD. Но вы можете назначить сочетание клавиш для быстрого запуска PowerShell, например, Ctrl + Shift + P. 3: Принудительное завершение процесса в PowerShell Если зависла какая-то служба Windows, вы можете использовать PowerShell для завершения процесса так же, как и через Диспетчер Задач. Например, для закрытия BadThread.exe, вы делаете следующее: get-process BadTh* Результаты выведут нам нужные данные в таком формате: Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 19 5 -321955 -312219 -154 32.76 7583 BadThread После того, как мы идентифицируем Process ID, вы можете принудительно закрыть зависший процесс введя команду: stop-process -id 7583 В тот же момент процесс BadThread будет принудительно остановлен, и вы сможете возобновить попытку запуска службы. Которую можете сделать прямо здесь, в PowerShell. 4: Используйте PSDrive для большего, чем просто просмотр дисков Команда PSDrive позволяет просматривать объекты Windows за пределами традиционных сетей, а также локальных или съемных дисков. Например, чтобы посмотреть диски в разделе верхнего уровня реестра HKEY_LOCAL_MACHINE, вы можете использовать HKLM PSDrive. Чтобы войти в реестр, введите следующую команду: PS C:> cd HKLM: PS HKLM:/> Затем вы переключаетесь в раздел регистра где сможете просмотреть список всех объектов и удалять их, если вам это нужно. 5: Экспорт NTFS разрешений папки – как обычно, так и рекурсивно Управление разрешениями NTFS - это отдельный вопрос, но с помощью PowerShell можно экспортировать список разрешений для аудита доступов или для быстрого анализа списка ACLs для настройки политик безопасности. Это лучший вариант для создания отчётности в формате периодически запускаемого скрипта, или вы можете запускать его по требованию, например, для диагностики конкретной проблемы, связанной с доступами. Например, используя следующую команду: PS E:>Get-Acl N:Data Это даст вам быстрый ответ с результатами ваших прав безопасности по указанному пути N:Data (обратите внимание, что команда не даёт доступ к ресурсу). Данная команда не даст нам общую картину всех доступов всего пути, а только отчёт только об указанном пути. Но если вы хотите включить рекурсию для всего пути, вы можете использовать другую команду. Для того же пути N:Data вы должны использовать командлет Get-ChildItem (cmdlet) в PowerShell в сочетании с командлетом Get-Acl. Рассмотрим следующий пример: PS E:>Get-ChildItem N:Data -recurse | Get-Acl Данная команда будет отображать списки ACL для содержимого всего пути N:Data. Разберём как это работает: командлет Get-ChildItem показывает нам все объекты файловой системы по указанному пути N:Data, а дальше весь список объектов передаётся командлету Get-Acl который предоставляет результаты (списки ACL) для каждого объекта. Если вы хотите заархивировать данные в документ (CSV), вам нужно добавить | export-csv c:filename.csv в конце команды. Кроме этого вы можете извлечь в обычный текстовый файл с помощью добавления командлета > C:filename.txt. Обратите внимание что, когда вы используете параметр -recurse, он будет применяться во всех вложенных файлах и папках. Поэтому будьте внимательны, когда используете его для инвентаризации объёмных томов или же по сети. 6: Отличия PowerShell 2.0 PowerShell 2.0 включает в себя графический интерфейс что является удобной особенностью данной системы. Скрипты PowerShell сохраняются как файлы .ps1, что позволяет нам легко изменять, импортировать и мигрировать сценарии в различные системы. На скриншоте ниже показан пример списка разрешений NTFS в графическом режиме. Примечание для PowerShell 2.0: Перед тем как начать использовать PowerShell 2.0 версию, необходимо настроить политику исполнения с помощью первой версии PowerShell. Введите одну из следующих команд для настройки политики исполнения под ваши нужды: PS C:> Set-ExecutionPolicy Restricted (только проверка) PS C:> Set-ExecutionPolicy AllSigned (наиболее безопасный) PS C:> Set-ExecutionPolicy RemoteSigned (средний уровень безопасности) PS C:> Set-ExecutionPolicy Unrestricted (наименее безопасный) При этом не забудьте, что для PowerShell 2.0 требуется пакет WS-MAN v1.1 и Microsoft.NET Framework 3.0 для графического интерфейса. 7: Горячие клавиши в графическом интерфейсе PowerShell Если вы знакомы со средой Microsoft SQL Query Analyzer, вы по достоинству оцените некоторые из этих сочетаний клавиш. В PowerShell GUI вы можете выбрать одну или несколько строк и выполнить их разом одним нажатием клавиши F5. Кроме того, если вы изменили скрипт, то для экономии времени при редактировании и тестировании доступны привычные Ctrl + S для сохранения, Ctrl + Z для отмены, Ctrl + C для копирования и Ctrl + V для вставки. 8: Фоновый режим для длительных задачи Если вы собираетесь использовать команду, выполнение которого займёт некоторое время, вы можете запустить PowerShell в фоновом режиме до её завершения. Таким образом, можно отправить серию команд на автоматическое выполнение по своему собственному расписанию. Чтобы запустить команду в фоновом режиме необходимо добавить в начало параметр –psjob. А ещё можно узнать о состоянии любого из заданий с помощью следующей команды: PS C:> get-psjob В дополнительном окне вы увидите таблицу с результатами о текущих состояний ваших заданий, дополнительно с уникальными идентификаторами сеанса для каждой задачи отдельно. На скриншоте ниже показана одна проваленная задача. С помощью следующей команды вы можете удалить неудачную задачу, указав ID Session в конце команды: PS C:>remove-psjob 9 9: Вставка временных рамок для вывода команд PowerShell Для задач PowerShell можно ввести временную метку последовательности, чтобы определить продолжительность каждого шага, к тому же можно использовать для настройки журнала вводимых скриптов. Это может оказаться удобным способом для их тестирования. Чтобы вставить метку времени, введите одну из следующих команд в виде одно строки в файле .ps1: КомандыВывод"$(Get-Date -format g) Start logging"20/4/2020 7:45 AM"$(Get-Date -format F) Start logging"Friday, December 23, 2019 8:26:24 AM“$(Get-Date -format o) Start logging"2019-11-17T19:26:24.0479860-06:00 Существует много различных форматов команды Get-Date, но обычно эти три параметра подходят для большинства целей с временными метками. 10: Вывод результатов с задержкой В PowerShell некоторые команды выводят информацию на экран быстрым прокручиванием. Если вы не экспортируете данные в файл, будет невозможно просмотреть их на экране. Давайте ещё раз воспользуемся командлетом Get-ChildItem из предыдущих примеров. Эта команда может выводить множество результатов в зависимости от указанного пути. Для упрощения просмотра выводимых данных на экране мы воспользуемся функцией, которая называется EasyView. Данная функция позволяет нам просмотреть результаты на экране путем отображения одной строки каждые полсекунды. Функция EasyView создаётся следующим образом: function EasyView { process { $_; Start-Sleep -seconds .5}} Чтобы выполнить команду PowerShell с помощью функции EasyView добавьте в конце команды оператор | и название самой функции, как показано ниже: Get-ChildItem N:Data | EasyView Функция EasyView настроена на отображение строк с интервалом в полсекунды. Вы также можете настроить интервал в миллисекундах. Итоги Крутые особенности на этих 10 пунктах не заканчиваются. Есть множества функций PowerShell, которые могут упростить ваши ежедневные задачи. Я надеюсь эта статья привлечёт ваше внимание к командной строке и поможет вам в будущем использовать PowerShell.
img
Подключаем точку доступа к сети с DHCP сервером, узнаем IP адрес и подключаемся к ней по SSH. Логин/пароль: ubnt/ubnt. Далее запускаем обновление прошивки на точке доступа. Для этого переходим по ссылке https://www.ui.com/download/unifi и выбираем модель оборудования. В разделе Firmware нажимаем на значок закачки, принимаем условия лицензии и нажимаем на Copy url: После этого в терминале вводим команду: upgrade https://dl.ui.com/unifi/firmware/U7PG2/4.3.20.11298/BZ.qca956x.v4.3.20.11298.200704.1347.bin Данная команда скачает прошивку и запустит обновление. Шаг №2 Поднимаем контроллер на виртуальной машине. В качестве ОС выбираем Linux Debian 9, и устанавливаем Ubuntu 18.04 Server. Рекомендую на DNS сервере создать A запись для контроллера. Что-то вроде unifics.domain.com. Даем доступ серверу в Интернет. Подключаемся к серверу и вводим следующие команды: sudo apt-get update && sudo apt-get install ca-certificates apt-transport-https echo 'deb https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list wget -qO - https://www.mongodb.org/static/pgp/server-3.4.asc | sudo apt-key add - echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list sudo apt-get update sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg sudo apt-get update && sudo apt-get install unifi –y Контроллер установлен. Состояние контроллера можно проверить следующей командой: sudo service unifi status Остановка, запуск и перезапуск: sudo service unifi status sudo service unifi start sudo service unifi restart Шаг №3 Теперь нужно подружить точки доступа с нашим контроллером. Для этого в Google Chrome скачиваем расширение Uni-Fi Discovery Tool. Чтобы утилита определила подключенные к сети точки доступа (Access Point AP), компьютер с запущенной утилитой и AP должны находиться в одной подсети. Запускаем утилиту, нажимаем на кнопочку UniFi Family. Утилита найдет все устройства UniFi в сети. Нажимаем кнопку Action. Внимание, с первого раза кнопка может на отработать, так как там работает Java, поэтому стоит подождать. Далее в открывшемся окне в строке Inform URL вбиваем доменное имя нашего контроллера. Все остальное (порт, протокол) не меняем! Шаг №4 Переходим на https://account.ui.com/register и регистрируемся в Облаке Uni-Fi. Это необходимо для удаленного управления устройствами с любой точки мира. Шаг №5 Затем в браузере - рекомендуется Google Сhrome, открываем панель управления нашего новоиспеченного контроллера: https://unifics.domain.com:8443. У нас запросит название нашего сайта, то бишь Wi-Fi домена. Нажимаем Next. Вводим логин и пароль от облачного аккаунта, который зарегистрировали на предыдущем шаге: Нажимаем Next. Контроллер отобразит точки доступа в сети, благодаря действия, которые проделали на третьем этапе (никакой магии). Нажимаем Next. Задаем название (SSID) и пароль Wi-Fi сети. Всё это можно будет поменять. Переключатель Combine 2.4 GHz и 5 GHz Wi-Fi Network Names into one не трогаем. Нажимаем Next. Выбираем часовой пояс, страну и нажимаем Finish. Контроллер начнёт применять изменения на точку доступа. Шаг №6 Переходим в настройки кликнув на значок шестеренки в левом нижнем углу панели управления контроллером. В строке Controller Hostname/IP прописываем доменное имя нашего контроллера и обязательно ставим галочку перед Override inform host with controller hostname/IP. Шаг №7 При добавлении новой точки доступа выполняем первый и третий шаг для каждого устройства. Затем среди доступных точек доступа появится AP со статусом Pending. Выбираем устройство и нажимаем Adopt. Контроллер применит все настройки на новое устройство.
img
Существует множество различных решений для управления Asterisk, основой которых, является FreePBX. К ним относятся - Elastix, PBX in a Flash (PIAF), Trixbox, AsteriskNOW и FreePBX Distro. Однако, с момента первого релиза FreePBX многое изменилось и большинство перечисленных проектов по-просту перестали существовать. Trixbox перестал поддерживать открытое ПО и переориентировался на коммерческую редакцию Trixbox Pro. Elastix и PIAF вообще дружно сменили свой движок с Asterisk на 3CX и для этих продуктов обновлений также больше нет. Кроме того, есть компании, которые до сих пор используют старые не поддерживаемые версии FreePBX и ежедневно испытывают трудности с их работой, а также те, кто установил FreePBX вручную на не поддерживаемые операционные системы. Единственный продукт, который до сих пор обновляется и поддерживается разработчиком - это сам проект FreePBX и FreePBX Distro. Принимая это во внимание, разработчики FreePBX создали решение, которое позволяет сделать миграцию любой системы на базе FreePBX, (начиная с версии 2.9 до и включая версию 14) на свеженькую FreePBX Distro на базе ОС SNG 7, со всеми настройками и конфигурацией! Итак, можно мигрировать с: Elastix; PBX in A Flash; AsteriskNOW; вручную установленного FreePBX (в том числе установленного на не поддерживаемой ОС); FreePBX Distro При этом система, с которой производится миграция не требует остановки эксплуатации или перезагрузки, так как инструмент всего лишь считывает конфигурацию с системы "донора" на свежую систему FreePBX Distro. Как это работает: Вам нужно будет установить свежую версию свежую версию FreePBX Distro , на которую будет происходить миграция и активировать её; Запустить на новом сервере с FreePBX Distro скрипт конвертации командой: curl -s https://convert.freepbx.org | bash Этой командой сервер запросит место (слот) в очереди на конвертацию. Когда слот будет успешно занят сгенерируется ключ, вида 2beb181b-14ed-4f56-a86b-f6e564ba6c43; После этого, нужно запустить такую же команду на сервере - доноре, с которого вы хотите мигрировать и ввести полученный ключ; Конвертер извлечёт необходимые данные с донора и загрузит их на новый сервер. Этот процесс не окажет никого влияния на донора, не внесёт на нем никаких изменений и не потребует выключения; Скрипт также будет пробовать стянуть с донора всякие кастомные данные, такие как пользовательские голосовые файлы и данные провиженинга; Все транки на новом сервере будут выключены, чтобы избежать конфликта с зарегистрированными линиями к провайдеру на старом сервере. О том, как установить FreePBX читайте в нашей статье Какие данные будут перенесены на новый сервер: Внутренние номера (Extensions); Маршруты (Inbound/Outbound Routes); Линии к провайдеру (Trunks); Музыка на ожидании (MoH); Голосовые меню (IVR); Группы вызова (Ring Groups); Очереди (Queues); Любые другие настройки, являющиеся стандартной частью FreePBX; Звуковые файлы, включая: загруженную пользователем музыку на ожидании (MoH), записи голосовой почты и приветствия для голосовой почты, а также системные записи (System Recordings) Какие данные не будут перенесены на новый сервер: История звонков, то есть Call Data Report (CDR) и таблица Call Event Log (CEL); Вы можете самостоятельно перенести эти данные на новый сервер, экспортируя их с помощью 'mysqldump' или аналогичной утилиты. Эти данные могут быть очень тяжёлыми, поэтому пользователь сам должен позаботиться об их переносе. Настройки факса; Эта часть претерпела огромные изменения с момента первого релиза FreePBX, поэтому придется самостоятельно перенастроить почты пользователей, которым нужен функционал факса. Кастомные изменения конфигурационных файлов; То есть всё, что было изменено в файлах вида *_custom.conf, например /etc/asterisk/extensions_custom.conf. Если у вас есть такие настройки, то переносить их на новый сервер нужно будет вручную. Настройки не FreePBXовых модулей; Ну например Elastix Call Center Module, Queue Metrics и остальные модули, которые не являются стандартными для FreePBX. В общем и целом, звучит неплохо, правда? Мы можем безболезненно перенести большинство необходимых данных с неподдерживаемой системы и продолжить работу на новой, получая все актуальные обновления. Процесс миграции не представляется чем-то сверх сложным, так что давайте попробуем? Процесс миграции Итак, первое с чего нужно начать - это подготовка нового сервера с FreePBX Distro. Важно устанавливать именно 64-битную версию, поскольку 32-битная больше не поддерживается. О том как установить FreePBX Distro подробно читайте в нашей статье. Как только FreePBX Distro будет установлен, его необходимо активировать. Активация требуется для того чтобы сгенерировать криптографический ключ для защиты ваших данных для передачи на сервер конвертации https://convert.freepbx.org. Данные передаются в зашифрованном виде, чтобы исключить возможность их утечки в случае атаки типа Man-in-the-Middle. Затем необходимо настроить NAT. FreePBX Distro имеет свой встроенный модуль Firewall, который автоматически настраивает параметры NAT и Firewall через специальный помощник при первом запуске FreePBX. О том как настраивать Firewall читайте в нашей статье. После того как сервер с чистым FreePBX Distro настроен, необходимо зарезервировать слот для конвертации. Это делается с помощью специального скрипта: curl -s https://convert.freepbx.org | bash. Когда Вам предложат ввести reservation ID, просто нажмите 'Enter'. По окончанию процесса резервации слота, будет сгенерирован уникальный код конвертации вида: 2beb181b-14ed-4f56-a86b-f6e564ba6c43. Его потом нужно будет ввести на доноре. После этого, новый сервер будет ожидать ответа от донора. Не останавливайте скрипт, нужно чтобы на экране была надпись Waiting for Donor…. Теперь нужно запустить такую же команду на сервере - доноре, с которого вы хотите мигрировать и ввести полученный ключ; Возвращаемся на сервер-донор (Elastix, PIAF и так) с которого мы хотим мигрировать и запускаем тот же самый скрипт: curl -s https://convert.freepbx.org | bash Когда вас попросят ввести ID, введите то что было сгенерировано при запуске скрипта на новом FreePBX Distro. Это запускает процедуру экспорта всех данных и настроек с сервера донора и создание сжатого, криптографически защищённого архива с этими данными для отправки на новый сервер. В зависимости от того, насколько давно был развёрнут старый сервер, существует возможность неудачной обработки команды скрипта, поскольку сервер может не поддерживать обработку TLS сертификатов. Если после запуска скрипта ничего не происходит, попробуйте запустить команду с отключением верификации TLS сертификата: curl --insecure https://convert.freepbx.org | bash Как только процесс завершится, новый сервер будет иметь все настройки и данные, которые были на сервере доноре. Вы получаете полностью рабочий сервер со свежей версией FreePBX Distro, которая будет получать актуальные обновления софта и безопасности со всеми настройками, которые были на старом сервере!
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59