Агенты расширения командлетов – это новый компонент Exchange 2010, который активируется в момент выполнения определенного командлета. С помощью них можно расширить функциональность Exchange 2010 фоновым запуском дополнительных команд или скриптов. Одним из семи агентов является агент сценариев, который по умолчанию отключен. В данной статье мы рассмотрим пример его использования.
Командлет Get-CmdletExtensionAgent покажет нам все 7 агентов. Запустите команду Get-CmdletExtensionAgent | ft name, priority, enabled –wrap –autosize .
Рассмотрим следующую задачу. Мы хотим чтобы каждый раз после создания нового почтового ящика для него автоматически устанавливались определенные настройки.
- POP, IMAP, ActiveSync отключаем
- Outlook Anywhere отключаем
- Single Item Recovery включаем
- Автоматически заполняем поля Country, City, Street Address, Company.
- Блокируем использование Outlook в онлайн режиме
- Устанавливаем OWA Mailbox Policy
После включения агент сценариев использует файл “ScriptingAgentConfig.xml”, который находится в директории \Bin\CmdletExtensionAgents. По умолчанию в этой директории расположен файл “ScriptingAgentConfig.xml.sample” который дает нам пример использования синтаксиса.
Ниже показано содержание данного файла:
<?xml version="1.0" encoding="utf-8" ?> <Configuration version="1.0"> <Feature Name="Name" Cmdlets="cmdlets"> <ApiCall Name="OnComplete"> if($succeeded) { PowerShell cmdlets } </ApiCall> </Feature> </Configuration>
Для решения поставленной перед нами задачи модифицируем файл следующим образом.
<?xml version="1.0" encoding="utf-8" ?> <Configuration version="1.0"> <Feature Name="MailboxProvisioning" Cmdlets="new-mailbox"> <ApiCall Name="OnComplete"> if($succeeded) { $mailbox = $provisioningHandler.UserSpecifiedParameters["Alias"] Set-CASMailbox $mailbox -ImapEnabled $false -POPEnabled $false –ActiveSyncEnabled $false –OWAMailboxPolicy "HEW OWA Policy” –MAPIBlockOutlookRpcHTTP $true –MAPIBlockOutlookNonCachedMode $true Set-User -City 'London' -CountryOrRegion 'United Kingdom' -Company 'How Exchange Works' -Identity $mailbox Set-Mailbox $mailbox -SingleItemRecoveryEnabled $true } </ApiCall> </Feature> </Configuration>
Строка <Feature Name=”MailboxProvisioning” Cmdlets=”new-mailbox,enable-mailbox”> означает, что мы хотим чтобы наш код запускался после любого успешного запуска командлетов new-mailbox или enable-mailbox. После запуска данных командлетов через шелл, консоль или стороннее приложение агент сценариев запускает указанные нами команды. В самом начале мы сохраняем алиас пользователя в переменную $mailbox для использования в коде.
Я сохранил приведенный код в файл ScriptingAgentConfig.xml в директории \Bin\CmdletExtensionAgents folder.
Следующим шагов является включение агента сценариев. Агент должен быть включен только после создания файла ScriptingAgentConfig.xml. Выполните команду Enable-CmdletExtensionAgent “Scripting Agent” для включения агента.
Настало время для проверки! Я создал тестовый ящик и проверил что агент сценариев установил все необходимые для него опции.
Надеюсь данная статья поможет вам понять предназначение агента сценариев и вы начнете использовать эту замечательную возможность в вашей организации
Полезная информация
Моя жена ярая любительница чая и недавно сделал ей подарок, который она давно хотела – купил самовар угольный из Тулы. Хорошо, что в наше время все можно сделать по интеренету не выходя из дома.
Отличный сайт, где парфюмерию от serge lutens купить легко и просто. Причем цены явно без накруток и доступны всем.
One Comment