Как известно, защита от нежелательной почты в Microsoft Exchange включает в себя несколько фильтров, пройдя через которые входящее письмо либо попадает получателю, либо в карантин, либо вовсе отсеивается. Однако, что делать, если в карантин попало письмо от заведомо правильного отправителя? Ответ логичный – добавить этого отправителя в белый список. Ответ, конечно, логичный, но видимо у программистов Microsoft какая-то извращенная логика: добавить адресата в белый список через удобную графическую оболочку невозможно! Это можно сделать только с помощью командной консоли Exchange, т.е. через Windows Power Shell. И это при том, что через графическую оболочку можно настроить черный список отправителей!
В общем, я долго пользовался самописным скриптиком для добавления отправителей в белый список, потом мне это надоело, и я написал простенькую графическую оболочку, которой готов поделиться со всеми нуждающимися.
Exchange White List Manager
Программа проста: можно увидеть отдельно белые списки адресов и доменов, удалить ненужное. Добавление так же просто: вводите либо адрес отправителя, либо его домен – программа сама определяет, в какой список его добавлять.
Естественно, если вводится домен, то все адреса с этого домена будут пропущены фильтрами Exchange Server-а. В домены так же можно добавлять субдомены, типа *.yandex.ru.
В общем все просто. По окончании редактирования нужно нажить кнопку “применить” чтобы сохранить изменения.
Надеюсь, кому-нибудь пригодится. Пользуйтесь.
PS: Естественно, программа запустится только на компьютере с установленным Exchange Server (из-за специфичного PowerShell Snap-in, устанавливающегося вместе с ним, который использует программа)
PPS: Предложения по усовершенствованию естественно принимаются.
При запуске программы и при попытке применить изменения выходит сообщение об ошибке:
Оснастка Microsoft.Exchange.Management.PowerShell.Admin Windows PowerShell не установлена на данном компьютере.
Запускается на Win2008R2, Exch2010SP1
Может предварительно нужно добавить оснастку? Если да то где она добавляется?
Заранее спасибо
Странно, я такой ошибки не встречал. Надо в инете поискать…
И у меня тоже самое, конфигурация такая же….если нажать продолжить, то список пуст
нашел такую статью, но там вроде в код программы надо изменения вносить http://blogs.msdn.com/b/pareshj/archive/2010/07/30/error-msg-no-snap-ins-have-been-registered-for-windows-powershell-version-2.aspx
Точнее нет — проблема в битности походу, т.к. Exchange 2010, то он только 64-битный, а программка похоже вызывает 32-битную консоль
Нет, битность тут не имеет значения, я думаю. Тут дело в НАДстройке к PowerShell. У эксченьджа есть несколько вариантов установки, есть вероятность, что в каком-то варианте указанная надстройка не устанавливается… Я ставил все компоненты на один сервер, у меня нет возможности разбить их на два. Может нужно запустить «Изменение/удаление» и посмотреть в компонентах установки…
Сложно сказать, мои телепатические способности достают только до внешней стороны МКАДа 🙂
Пишите подробнее, подниму виртуальный сервак, поковыряю…
У меня тоже все роли установлены на одном сервере и установлен Exchange 2010 SP2? при запуске вашей программки выдает следующее:
Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.
************** Текст исключения **************
System.Management.Automation.PSArgumentException: Оснастка Microsoft.Exchange.Management.PowerShell.Admin Windows PowerShell не установлена на данном компьютере.
в System.Management.Automation.PSSnapInReader.ReadOne(RegistryKey mshSnapInRoot, String mshsnapinId)
в System.Management.Automation.PSSnapInReader.Read(String psVersion, String mshsnapinId)
в System.Management.Automation.Runspaces.MshConsoleInfo.AddPSSnapIn(String mshSnapInID)
в System.Management.Automation.Runspaces.RunspaceConfigForSingleShell.DoAddPSSnapIn(String name, PSSnapInException& warning)
в ExchangeWhiteListManager.Form1.LoadAddresses()
в System.Windows.Forms.Form.OnLoad(EventArgs e)
в System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
в System.Windows.Forms.Control.CreateControl()
в System.Windows.Forms.Control.WmShowWindow(Message& m)
в System.Windows.Forms.Control.WndProc(Message& m)
в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Загруженные сборки **************
mscorlib
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.5448 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
—————————————-
ExchangeWhiteListManager
Версия сборки: 1.1.0.0
Версия Win32: 1.1.0.0
CodeBase: file:///C:/Users/EgorovAS/Desktop/ExchangeWhiteListManager.exe
—————————————-
System.Windows.Forms
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.5446 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
—————————————-
System
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.5447 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
—————————————-
System.Drawing
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
—————————————-
System.Management.Automation
Версия сборки: 1.0.0.0
Версия Win32: 6.1.7601.17514
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Management.Automation/1.0.0.0__31bf3856ad364e35/System.Management.Automation.dll
—————————————-
Microsoft.PowerShell.Commands.Diagnostics
Версия сборки: 1.0.0.0
Версия Win32: 6.1.7601.17514
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Diagnostics/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Diagnostics.dll
—————————————-
System.Core
Версия сборки: 3.5.0.0
Версия Win32: 3.5.30729.5420 built by: Win7SP1
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
—————————————-
System.Configuration.Install
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration.Install/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.Install.dll
—————————————-
Microsoft.WSMan.Management
Версия сборки: 1.0.0.0
Версия Win32: 6.1.7601.17514
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.WSMan.Management/1.0.0.0__31bf3856ad364e35/Microsoft.WSMan.Management.dll
—————————————-
System.Transactions
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_64/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
—————————————-
Microsoft.PowerShell.Commands.Utility
Версия сборки: 1.0.0.0
Версия Win32: 6.1.7601.17514
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Utility/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Utility.dll
—————————————-
Microsoft.PowerShell.ConsoleHost
Версия сборки: 1.0.0.0
Версия Win32: 6.1.7600.16385
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.ConsoleHost/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.ConsoleHost.dll
—————————————-
Microsoft.PowerShell.Commands.Management
Версия сборки: 1.0.0.0
Версия Win32: 6.1.7601.17514
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Management/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Management.dll
—————————————-
Microsoft.PowerShell.Security
Версия сборки: 1.0.0.0
Версия Win32: 6.1.7601.17514
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.PowerShell.Security/1.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Security.dll
—————————————-
System.Management.Automation.resources
Версия сборки: 1.0.0.0
Версия Win32: 6.1.7600.16385
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Management.Automation.resources/1.0.0.0_ru_31bf3856ad364e35/System.Management.Automation.resources.dll
—————————————-
System.Windows.Forms.resources
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
—————————————-
mscorlib.resources
Версия сборки: 2.0.0.0
Версия Win32: 2.0.50727.5448 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
—————————————-
************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.
Например:
При включенной отладке JIT любое необрабатываемое исключение
пересылается отладчику JIT, зарегистрированному на данном компьютере,
вместо того чтобы обрабатываться данным диалоговым окном.
под exchange 2010 так же.
Спасибо за программу, все отлично.
Windows Server 2008 R2 Enterprise sp1
Exchange 2007 sp3
Программа работает на ура.
Спасибо!
Windows Server 2008 SP1 + Exchange Server 2007 SP3
В общем, у кого продлема Microsoft.Exchange.Management.PowerShell.Admin, просто продублируйте ветку реестра Microsoft.Exchange.Management.PowerShell.E2010, и переименуйте её в Microsoft.Exchange.Management.PowerShell.Admin. Мне помогло.