<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IT-блог компании &#34;ЛанКей&#34; &#187; powershell</title>
	<atom:link href="http://www.lankey.ru/blog/tag/powershell/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lankey.ru/blog</link>
	<description>Системный интегратор. Комплексные решения по построению ИТ-инфраструктуры предприятия.</description>
	<lastBuildDate>Sat, 28 Jan 2012 13:58:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Развертывание OCS 2007 R2 в отдельном лесу</title>
		<link>http://www.lankey.ru/blog/2010/04/09/ocs-2007-r2-in-resource-forest/</link>
		<comments>http://www.lankey.ru/blog/2010/04/09/ocs-2007-r2-in-resource-forest/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 12:32:31 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Office Communications Server]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[office communications server 2007 r2]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[windows server 2008 r2]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=570</guid>
		<description><![CDATA[Как известно, Office Communications Server 2007 R2 всю свою информацию хранит в Active Directory, и при развертывании он изменяет лес AD &#8211; расширяет схему, создает новые атрибуты пользователей. Бывают случаи, когда изменение схемы Active Directory основного леса нежелательно &#8211; а тем не менее, развернуть и использовать OCS надо, и хочется использовать все прелести объединенных коммуникаций. Для [...]]]></description>
			<content:encoded><![CDATA[<p>Как известно, Office Communications Server 2007 R2 всю свою информацию хранит в Active Directory, и при развертывании он изменяет лес AD &#8211; расширяет схему, создает новые атрибуты пользователей. Бывают случаи, когда изменение схемы Active Directory основного леса нежелательно &#8211; а тем не менее, развернуть и использовать OCS надо, и хочется использовать все прелести объединенных коммуникаций.</p>
<p>Для решения такой задачи существует специальное развертывание Office Communications Server, называемое <strong>развертыванием в ресурсном лесу (resource forest)</strong>. Это значит, что параллельно с существующим у нас основным лесом и доменом мы можем развернуть совершенно отдельный лес, в котором и будет располагаться OCS. Это решение поддерживается Microsoft и описано в паре англоязычных документов, ну а чтобы не отсылать читателя к ним, мы расскажем по-русски, как это сделать.</p>
<p>Пусть у нас есть некий основной домен с пользователями, называющийся например <strong>mycompany.ru</strong>. Соответственно, пользователи имеют e-mail-адреса <em>логин@mycompany.ru</em>, пользуются Outlook&#8217;ом, Exchange (неважно каким, но лучше конечно 2007/2010 <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).</p>
<p>Развертывание OCS в ресурсном лесу будет состоять из следующих шагов:</p>
<ol>
<li>Развертывание отдельного леса, с именем например myocs.local</li>
<li>Установка доверия между доменами</li>
<li>Развертывание OCS в лесу myocs.local</li>
<li>Создание в этом лесу учетных записей-заглушек для пользователей основного домена</li>
<li>Наслаждение работой с объединенными коммуникациями Microsoft <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p><span id="more-570"></span></p>
<h4>Шаг 1 &#8211; развертывание отдельного леса</h4>
<p>Для отдельного леса нам понадобится один компьютер, который будет служить контроллером домена этого леса. Конечно, в идеале их должно быть как минимум два, но поскольку мы рассматриваем тестовый вариант &#8211; можно ограничиться одним компьютером. И, конечно, для удобства это будет виртуальная машина, запущенная под управлением Hyper-V на Windows Server 2008 R2.</p>
<p>Структура лесов будет выглядеть следующим образом:</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2010/04/forest.png"><img class="aligncenter size-medium wp-image-576" title="Схема основного и ресурсного лесов для OCS" src="http://blogs.lankey.ru/wp-content/uploads/2010/04/forest-300x221.png" alt="" width="300" height="221" /></a></p>
<p>Итак, мы установим компьютер операционной системой Windows Server 2008 R2, назовем его <strong>dcrf</strong>, и промотируем его до домен-контроллера. При создании домена укажем, что это новый домен нового леса. А домен назовем <strong>myocs.local</strong>.</p>
<p>Уровень домена/леса должен быть не ниже 2003 &#8211; так требует OCS. Поскольку ресурсный лес будет обслуживаться только этим контроллером &#8211; смело ставим уровень леса в Windows Server 2008 R2.</p>
<p>Я использую для контроллера именно Windows Server 2008 R2, потому что в нем есть встроенные коммандлеты для управления Active Directory, что очень поможет нам на шаге 4, при создании пользователей-заглушек с информацией из основного домена.</p>
<p>Так как нам необходимо, чтобы между доменами было доверие &#8211; то контроллеры доменов dc.mycompany.ru и dcrf.myocs.local должны находить друг друга. Поэтому следующим шагом будет соответствующая настройка DNS &#8211; создадим на DNS-сервере dcrf.myocs.local форвардинг на IP-адрес контроллера dc.mycompany.ru, а на DNS-сервере dc.mycompany.ru &#8211; conditional forwarding для домена myocs.local на IP-адрес dcrf.myocs.local.</p>
<p>На этом же сервере развертывается Enterprise Root Certification Authority, который будет использован для выдачи сертификатов для серверов OCS.</p>
<h4>Шаг 2 &#8211; настройка доверия между доменами</h4>
<p>После того, как мы добьемся, что оба домена друг друга увидят &#8211; разрешат имена серверов, можно настраивать доверие.</p>
<p>Достаточно создать 1-way trust от ресурсного домена к основному &#8211; то есть, ресурсный домен доверяет логиниться к себе пользователям из основного. Открываем AD Domains and Trusts на dcrf.myocs.local, и создаем External Trust, 1-way outgoing, до домена mycompany.ru. И, соответственно, на контроллере dc.mycompany.ru создаем External Trust, 1-way incoming.</p>
<p>Итог &#8211; мы создали ресурсный лес, и установили доверие с основным рабочим доменом.</p>
<h4>Шаг 3 &#8211; развертывание OCS в ресурсном лесу</h4>
<p>Далее, совершенно обычным образом развертываем Office Communications Server 2007 R2 на серверах в ресурсном лесу. Я назвал такие сервера ocsse.myocs.local и ocsmed.myocs.local, на которых будут развернуты Standard Edition и Mediation Server соответственно. Edge-сервер нам не потребуется &#8211; все пользователи будут авторизоваться посредством доверия между доменами, с помощью обычных своих учетных данных.</p>
<p>Установим мы серверы на для удобства тоже на виртуальных машинах &#8211; но уже само виртуальные машины будут содержать Windows Server 2008. Поскольку Office Communications Server 2007 R2 не очень хорошо работает на Windows Server 2008 R2, придется использовать предыдущую версию операционной системы.</p>
<p>При установке OCS крайне важно указать следующее &#8211; в качестве домена для установки мы выбираем домен <strong>myocs.local</strong>. А в качестве SIP-домена мы указываем домен <strong>mycompany.ru</strong>. Это необходимо, поскольку мы хотим, чтобы SIP-адреса пользователей совпадали с их email-адресами, то есть, относились бы к домену mycompany.ru.</p>
<p>Я не буду расписывать подробно установку OCS, настройку и связь с VoIP-шлюзом - это можно найти в соответствующих статьях на <a href="/tag/office-communications-server-2007-r2/">этом же блоге</a>.</p>
<p>Главное, что нужно изменить после инсталляции OCS &#8211; указать в параметрах Front-End сервера Standard Edition тип авторизации пользователя - только NTLM.</p>
<p><a href="http://blogs.lankey.ru/wp-content/uploads/2010/04/ocsfe.png"><img class="aligncenter size-medium wp-image-577" title="Настройка авторизации в Front-End" src="http://blogs.lankey.ru/wp-content/uploads/2010/04/ocsfe-250x300.png" alt="" width="250" height="300" /></a></p>
<p>Это важно, поскольку стоящая по умолчанию настройка &#8211; Kerberos and NTLM &#8211; не позволит авторизоваться пользователям основного домена.</p>
<p>В результате мы получаем два сервера Office Communications Server 2007 R2 в ресурсном лесу, и следующим нашим шагом будет создание пользователей-заглушек.</p>
<h4>Шаг 4 &#8211; создание и синхронизация информации о пользователях</h4>
<p>Поскольку пользовательские учетные записи располагаются в основном домене, а OCS-у требуется, чтобы у него были свои учетные записи, со списком контактов и соответствующими параметрами &#8211; необходимо создать отключенные пользовательские аккаунты в домене myocs.local, для которых будут храниться настройки Office Communications Server. А для того, чтобы не приходилось дублировать и синхронизировать пароли &#8211; необходимо обеспечить взаимосвязь между действующим аккаунтом пользователя в основном домене, и отключенным аккаунтом пользователя в ресурсном лесу.</p>
<p>Известно, что основным идентификатором пользователя в домене является его SID &#8211; Security Identifier. После установки OCS (и соответствующего расширения схемы AD) в ресурсном лесу у объекта пользователя присутствует специальное поле msRTCSIP-OriginatorSID &#8211; нам необходимо записать в него SID пользователя из основного домена. Таким образом, в ресурсном лесу у пользователя будет два SID-а &#8211; один обычный, относящийся к ресурсному лесу, и второй, который мы занесем вручную &#8211; SID пользователя из основного рабочего домена.</p>
<p>Ну и конечно, для того, чтобы в контакт-листе Communicator отображалась полноценная информация о пользователе &#8211; необходимо указать имя и фамилию пользователя, его телефон, должность, и e-mail.</p>
<p>Общая таблица атрибутов , которые нам необходимо перенести из основного домена для пользователя, выглядит следующим образом:</p>
<table>
<tbody>
<tr>
<th>читаем из основного домена</th>
<th>пишем в ресурсный домен</th>
<th>что это за атрибут</th>
</tr>
<tr>
<td>cn</td>
<td>cn</td>
<td>Имя объекта в AD</td>
</tr>
<tr>
<td>objectSID</td>
<td>msRTCSIP-OriginatorSID</td>
<td>SID объекта</td>
</tr>
<tr>
<td>telephoneNumber</td>
<td>telephoneNumber</td>
<td>Телефон</td>
</tr>
<tr>
<td>displayName</td>
<td>displayName</td>
<td>Полное имя</td>
</tr>
<tr>
<td>givenName</td>
<td>givenName</td>
<td>Имя</td>
</tr>
<tr>
<td>Surname</td>
<td>Surname</td>
<td>Фамилия</td>
</tr>
<tr>
<td>physicalDeliveryOfficeName</td>
<td>physicalDeliveryOfficeName</td>
<td>Офис</td>
</tr>
<tr>
<td>l</td>
<td>l</td>
<td>Город</td>
</tr>
<tr>
<td>Country</td>
<td>Country</td>
<td>Страна</td>
</tr>
<tr>
<td>Title</td>
<td>Title</td>
<td>Должность</td>
</tr>
<tr>
<td>Mail</td>
<td>Mail</td>
<td>Адрес e-mail</td>
</tr>
<tr>
<td>Company</td>
<td>Company</td>
<td>Название компании</td>
</tr>
</tbody>
</table>
<p>Создавать объекты и переносить атрибуты, конечно, можно и вручную &#8211; но это неинтересно и долго. Как я уже упомянул, в Windows Server 2008 R2 есть коммандлеты PowerShell, которыми я и воспользуюсь.</p>
<p>Вот простейший скрипт, от которого можно отталкиваться в собственных случаях:</p>
<pre>$srcdc = "dc.mycompany.ru" <span style="color: #cc99ff;"><span style="color: #c0c0c0;"># исходный домен</span>
</span>$srcbase = "OU=Domain users,DC=mycompany,DC=ru" <span style="color: #c0c0c0;"># OU, который сканируем на предмет пользователей</span>
$dstdc = "dcrf.myocs.local" <span style="color: #c0c0c0;"># ресурсный домен</span>
$dstbase = "OU=OCS Users,DC=myocs,DC=local" <span style="color: #c0c0c0;"># OU, в котором будут созданы объекты-заглушки.</span>
New-PSDrive -Name DstAD -Root "" -Server $dstdc -PSProvider ActiveDirectory -Cred <span style="color: #ff6600;">MYOCS\Administrator</span> <span style="color: #c0c0c0;"># подключаемся к ресурсному домену с правами администратора, который может создавать объекты.</span>
New-PSDrive -Name srcAD -Root "" -Server $srcdc -Cred <span style="color: #ff6600;">MYCOMPANY\user</span> -PSProvider ActiveDirectory <span style="color: #c0c0c0;"># подключаемся к исходному домену с правами просто пользователя, который может хотя бы читать данные из исходного AD.</span>
cd srcAD:
$usrs = get-ADUser -SearchBase $srcbase -Filter * -Properties mail <span style="color: #c0c0c0;"># выбираем всех пользователей в указанном OU.</span>
cd dstAD:
foreach ($u in $usrs) {
   echo $u.name
   New-ADUser -Path $dstbase -DisplayName $u.Name -Name $u.name -GivenName $u.GivenName -Surname $u.Surname -SamAccountName $u.samAccountName -OtherAttributes @{'mail'=$u.mail;'msRTCSIP-OriginatorSid'=$u.SID} <span style="color: #c0c0c0;"># создаем пользователя, указывая для него необходимые аттрибуты. Пользователь создается отключенным - Disabled.</span>
}
cd c:
remove-psdrive srcad
remove-psdrive dstad</pre>
<p>Этот скрипт не совсем полный &#8211; он не переносит должности, название компании, город и офис. Мне это было не нужно - но это всегда можно дописать самостоятельно <img src='http://www.lankey.ru/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Можно заметить, что в ресурсном домене мы создаем пользователей, не указывая для них пароли. Это действительно неважно &#8211; так как пользователи будут авторизоваться по своим собственным учетным данным в основном домене, а затем уже просто сопоставляться с отключенными аккаунтами в ресурсном лесу.</p>
<p>После создания пользователей-заглушек мы обычным образом включаем их &#8211; Enable for Office Communications Server, и настраиваем &#8211; Configure for Office Communications Server.</p>
<p>В основном домене необходимо будет сделать лишь одно изменение &#8211; добавить в атрибут <strong>proxyAddresses</strong> пользователей адрес вида <strong>sip:логин@mycompany.ru</strong>. Это необходимо для того, чтобы при запуске Communicator пользователю не приходилось бы вручную указывать свой SIP-адрес для входа. Сделать это можно с помощью ADSI Edit, с помощью Email Address Policy в Microsoft Exchange, или написать свой скрипт &#8211; как угодно.</p>
<h4>Шаг 5 &#8211; запускаем и работаем</h4>
<p>Все! теперь можно смело ставить на клиентские компьютеры Office Communicator. Также необходимо импортировать на клиентские компьютеры сертификат того корневого центра сертификации, который использовался при создании сертификатов для серверов OCS. В нашем случае это сертификат с центра сертификации dcrf.myocs.local. Импортировать этот сертификат нужно в раздел &laquo;Доверенные корневые центры сертификации&raquo;.</p>
<p>Конечно, необходимо добавить в DNS-зону mycompany.ru записи <em>sip.mycompany.ru</em> и <em>_sipinternaltls._tcp.mycompany.ru</em> &#8211; подробнее смотрите в статье по установке и настройке Office Communications Server 2007 R2.</p>
<p>После этого можно смело запускать Office Communicator, и работать!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2010/04/09/ocs-2007-r2-in-resource-forest/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Удаление старых резервных копий в Data Protection Manager 2007</title>
		<link>http://www.lankey.ru/blog/2009/09/03/udalenie-staryx-rezervnyx-kopii-v-data-protection-manager-2007/</link>
		<comments>http://www.lankey.ru/blog/2009/09/03/udalenie-staryx-rezervnyx-kopii-v-data-protection-manager-2007/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 07:59:26 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[System Center]]></category>
		<category><![CDATA[data protection manager 2007]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[резервное копирование]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=190</guid>
		<description><![CDATA[Все мы знаем продукт для резервного копирования данных от Microsoft &#8211; System Center Data Protection Manager 2007. Его основная задача &#8211; выполнять резервные копии и складировать их на подключенные к серверу жесткие диски. В дальнейшем для долговременного хранения данные могут быть перенесены на ленты, но основным местом хранения является жесткий диск. При создании группы хранения [...]]]></description>
			<content:encoded><![CDATA[<p>Все мы знаем продукт для резервного копирования данных от Microsoft &#8211; System Center Data Protection Manager 2007. Его основная задача &#8211; выполнять резервные копии и складировать их на подключенные к серверу жесткие диски. В дальнейшем для долговременного хранения данные могут быть перенесены на ленты, но основным местом хранения является жесткий диск. При создании группы хранения DPM сам разбивает выделенный ему диск на разделы, в зависимости от предполагаемого им размера резервных копий и частоты копирования.</p>
<p>Естественно, при создании группы защиты DPM спрашивает, каков срок хранения резервных копий для восстановления &#8211; recovery points. И, само собой, по истечении этого срока он должен удалять старые копии, чтобы на их место сохранять новые.</p>
<p>Но мы столкнулись с ситуацией, что старые резервные копии DPM не удаляет. Они так и копятся на диске &#8211; и, рано или поздно, наступает время, когда места под новую резервную копию уже не хватает, и DPM вываливается с ошибкой &laquo;Recovery Point Volume threshold exceeded&raquo;.</p>
<p><span id="more-190"></span></p>
<p>Для удаления устаревших резервных копий в DPM есть скрипт <strong>PruneShadowCopies.ps1</strong>, который можно запустить и вручную. Но &#8211; данный скрипт не работает. Выдает ошибку:</p>
<p><code><br />
Index operation failed; the array index evaluated to null.<br />
At C:\Program Files\Microsoft DPM\DPM\bin\pruneshadowcopies.ps1:205 char:18<br />
+     $replicaList[$ &lt;&lt;&lt;&lt; inactiveDs.ReplicaPath] =<br />
$inactiveDs.RecoveryRangeinDays<br />
Index operation failed; the array index evaluated to null.<br />
At C:\Program Files\Microsoft DPM\DPM\bin\pruneshadowcopies.ps1:206 char:23<br />
+     $latestScDateList[$ &lt;&lt;&lt;&lt; inactiveDs.ReplicaPath] = new-object DateTime<br />
</code></p>
<p>Поэтому, собственно, резервные копии и не удаляются автоматически &#8211; DPM должен каждую полночь запускать этот скрипт по расписанию, а скрипт завершается с ошибкой.</p>
<p>В июне 2009 года Microsoft выпустила обновление <a href="http://support.microsoft.com/kb/970867">970267</a> для Data Protection Manager, среди прочих решающее и эту проблему. Скачать его можно здесь. Процесс установки таков:</p>
<ul>
<li>Скачиваем три файла, нужной нам платформы &#8211; в зависимости от того, 32- или 64-битная версия DPM установлена у нас. Кстати, ставится это обновление на Data Protection Manager 2007 Service Pack 1.</li>
<li>Запускаем файл <strong>DataProtectionManager2007-KB970867.exe</strong> и производим обновление сервера. Чтобы не перезагружать сервер после обновления &#8211; убедимся, что DPM Administrator Console и DPM Management Shell не запущены.</li>
<li>Если база данных SQL, в которой хранится конфигурационная информация DPM, находится <strong>не</strong> на том же сервере, где сам DPM &#8211; запускаем на этом сервере файл <strong>SqlPrep-KB970867.msp</strong>. Если мы ставили SQL Express вместе с DPM на ту же машину - обновление запускать не нужно.</li>
<li>Если мы используем DPM Management Shell <strong>не</strong> на том же сервере, где сам DPM &#8211; запускаем на этом сервере файл <strong>DPMManagementShell2007-KB970867.msp</strong>. Если все находится на одном сервере &#8211; обновление запускать не нужно.</li>
<li>Заходим в DPM Administrator Console, выбираем Management &#8211; Agents, и обновляем все клиентские агенты DPM до новой версии &#8211; версия DPM и агентов после этого обновления становится 2.0.8844.0. При обновлении нужно указать Manual restart &#8211; потому что на самом деле перезагружать серверы не нужно.</li>
</ul>
<p>Все. После завершения обновления скрипт PruneShadowCopies.ps1 должен выполняться без ошибок.</p>
<p>Данный скрипт ничего не пишет на экран в процессе выполнения. Если мы все-таки хотим посмотреть диагностическую информацию &#8211; нужно перед запуском этого скрипта включить подробный режим отображения:</p>
<p><code><br />
$VerbosePreference = "continue"<br />
</code></p>
<p>После этого запускать скрипт.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/09/03/udalenie-staryx-rezervnyx-kopii-v-data-protection-manager-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Белые списки в Exchange 2007</title>
		<link>http://www.lankey.ru/blog/2009/08/18/belye-spiski-v-exchange-2007/</link>
		<comments>http://www.lankey.ru/blog/2009/08/18/belye-spiski-v-exchange-2007/#comments</comments>
		<pubDate>Tue, 18 Aug 2009 08:37:25 +0000</pubDate>
		<dc:creator>Ярослав Никифоров</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[exchange 2007]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[антиспам]]></category>

		<guid isPermaLink="false">http://blogs.lankey.ru/?p=121</guid>
		<description><![CDATA[Известно, что добавить адрес в черный список content-filtering&#8217;а Exchange можно через графическую консоль &#8211; пункты Sender Filtering и Recipient Filtering. А вот добавить запись в белый список через графическую консоль нельзя &#8211; можно только через PowerShell. За это отвечает команда Set-ContentFilterConfig. При этом запись добавляется интересно &#8211; если просто выполнить эту команду, указав один нужный [...]]]></description>
			<content:encoded><![CDATA[<p>Известно, что добавить адрес в черный список content-filtering&#8217;а Exchange можно через графическую консоль &#8211; пункты Sender Filtering и Recipient Filtering. А вот добавить запись в белый список через графическую консоль нельзя &#8211; можно только через PowerShell. За это отвечает команда <strong>Set-ContentFilterConfig</strong>.</p>
<p>При этом запись добавляется интересно &#8211; если просто выполнить эту команду, указав один нужный нам адрес &#8211; то текущий список адресов будет очищен, и указанный нами адрес в него занесется один. Следовательно, нам нужно: получить существующий список &laquo;белых&raquo; адресов, пополнить этот список нужным адресом, и загрузить его обратно в Exchange.</p>
<p>Решение для удобства можно оформить в виде скрипта, назвав его, например, <strong>add-wlemail.ps1</strong>:</p>
<div class="codesmp">
<code><br />
param($email)<br />
$list = (Get-ContentFilterConfig).BypassedSenders<br />
$list.Add($email)<br />
Set-ContentFilterConfig -BypassedSenders:$list<br />
(Get-ContentFilterConfig).BypassedSenders<br />
</code>
</div>
<p>Теперь можно запускать этот скрипт, указав в качестве параметра нужный нам адрес: <strong>.\add-wlemail.ps1 some-email@some-domain.ru</strong></p>
<p>Этот скрипт занесет указанный нами e-mail в белый список и выведет на экран результирующий белый список адресов.</p>
<p>А вот другой скрипт &#8211; для занесения в белый список целых доменов &#8211; <strong>add-wldomain.ps1</strong>:</p>
<div class="codesmp">
<code><br />
param($domain)<br />
$list = (Get-ContentFilterConfig).BypassedSenderDomains<br />
$list.Add($domain)<br />
Set-ContentFilterConfig -BypassedSenderDomains:$list<br />
(Get-ContentFilterConfig).BypassedSenderDomains<br />
</code>
</div>
<p>PS: Конечно, для того, чтобы эти скрипты работали, нужно либо снабдить их цифровой подписью, либо разрешить выполнение неподписанных скриптов командой <code>Set-ExecutionPolicy Unrestricted</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lankey.ru/blog/2009/08/18/belye-spiski-v-exchange-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

