<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Microsoft Way</title>
	
	<link>http://www.microsoft-way.ru</link>
	<description>mijn strijd</description>
	<pubDate>Tue, 01 Mar 2011 11:57:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MicrosoftWay" /><feedburner:info uri="microsoftway" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Неожиданное MapiExceptionNotAuthorized при отправке письма в общую папку</title>
		<link>http://feedproxy.google.com/~r/MicrosoftWay/~3/e3tzdGz275Y/</link>
		<comments>http://www.microsoft-way.ru/neozhidannoe-mapiexceptionnotauthorized-pri-otpravke-pisma-v-obshhuyu-papku/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 11:57:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AD]]></category>

		<category><![CDATA[Exchange]]></category>

		<guid isPermaLink="false">http://www.microsoft-way.ru/?p=223</guid>
		<description><![CDATA[Как выясняется, со странными проблемами сталкиваюсь не только я 
Несколько лет назад я сам столкнулся с подобной проблемой: при отправке сообщения в mailenabled общую папку от имени внутреннего пользователя, пользователь в ответ получает:
550 5.2.0 STOREDRV.Deliver: The Microsoft Exchange Information Store service reported an error. The following information should help identify the cause of this error: [...]]]></description>
			<content:encoded><![CDATA[<p>Как выясняется, со странными проблемами сталкиваюсь не только я <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Несколько лет назад я сам столкнулся с подобной проблемой: при отправке сообщения в mailenabled общую папку от имени внутреннего пользователя, пользователь в ответ получает:<br />
<span style="color: #888888;">550 5.2.0 STOREDRV.Deliver: The Microsoft Exchange Information Store service reported an error. The following information should help identify the cause of this error: "MapiExceptionNotAuthorized</span><br />
Вроде бы, очевидная и частая проблема, когда для отправки и папку обязательна аутентификация, а входящая почта исходит от анонимного отправителя (любая внешняя почта, собственно). Вот только ситуация-то была <strong>ровно обратной</strong>:</p>
<ol>
<li>Сам отправитель является хозяином папки</li>
<li>Права &laquo;анонимного пользователя&raquo; = Author</li>
<li>Права &laquo;по умолчанию&raquo; = Author</li>
<li>Папка не требует обязательной аутентификации отправителей</li>
<li>Сообщение от любого внешнего источника в папку доставляется корректно. При этом несущественно, через какой smtp коннектор получена почта (внешний анонимный или внутренний с аутентификацией отправителя).</li>
<li>Проблема наблюдается только для какого-то ряда внутренних отправителей, на первый взгляд совершенно несвязанных друг с другом (разные департаменты, различные полномочия, большой разброс времени создания учетной записи)</li>
</ol>
<p>И даже более того: после создания новой mailenabled общей папки и внимательного назначения для нее прав, была проведена серия тестов:</p>
<ol>
<li>Письмо с smtp адресом отправителя изнутри организации, возвращается с NDR.</li>
<li>Письмо с smtp адресом отправителя извне, ложится в папку.</li>
<li>Если добавить пользователю произвольный внешний smtp адрес, а затем отослать письмо с этим адресом отправителя. То на основной адрес пользователя сваливается NDR.</li>
<li>Действо из предыдущего пункта совершенно безболезненно проходит с отправкой на адреса почтовых ящиков пользователей организации.</li>
</ol>
<p>Учитывая то, что тестирование проводилось в том числе для свежесозданных пользователей... Впору было начинать верить в происки к потусторонних сил.</p>
<p><span id="more-223"></span><br />
Но потусторонние силы оказались не виноваты <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
В AD для целей поддержки какого-то решения удаленного доступа, проверяющего права пользователя на вход путем LDAP запросов, был создан контейнер в который помещены несколько групп. Для целей безопасности, доступ к данному контейнеру был обеспечен только для контроллеров домена, администраторов и специально созданного пользователя с минимальным набором прав (гость домена).<br />
Поскольку серверы Exchange прав на доступ к данным группам не имели, у всех пользователей, включенных в одну из данных групп безопасности, и возникала проблема невозможности доставки сообщений.<br />
Ну а &laquo;свежесозданные пользователи&raquo; заводились путем копирования учетных записей нескольких администраторов и одной из тестовых учетных записей...тоже входящей в какую-то &laquo;секретную&raquo; группу.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/UIUqC71G1MHtGV6XVLf2KmQieWI/0/da"><img src="http://feedads.g.doubleclick.net/~a/UIUqC71G1MHtGV6XVLf2KmQieWI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/UIUqC71G1MHtGV6XVLf2KmQieWI/1/da"><img src="http://feedads.g.doubleclick.net/~a/UIUqC71G1MHtGV6XVLf2KmQieWI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/MicrosoftWay/~4/e3tzdGz275Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.microsoft-way.ru/neozhidannoe-mapiexceptionnotauthorized-pri-otpravke-pisma-v-obshhuyu-papku/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.microsoft-way.ru/neozhidannoe-mapiexceptionnotauthorized-pri-otpravke-pisma-v-obshhuyu-papku/</feedburner:origLink></item>
		<item>
		<title>﻿Ограничение максимального числа получателей сообщений</title>
		<link>http://feedproxy.google.com/~r/MicrosoftWay/~3/u-khS2tKaCo/</link>
		<comments>http://www.microsoft-way.ru/%ef%bb%bfogranichenie-maksimalnogo-chisla-poluchatelej-soobshhenij/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 07:34:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Exchange]]></category>

		<guid isPermaLink="false">http://www.microsoft-way.ru/?p=213</guid>
		<description><![CDATA[В проектах по миграции почтовых систем с одной версии Exchange на другую, иногда приходится сталкиваться с, так сказать, последствиями чужих недоработок.
Согласно политике организации, максимальное количество получателей сообщения должно быть установлено в 30 адресатов, кроме нескольких пользователей, которым должно быть разрешена отсылка любому количеству получателей.
Данные требования были удовлетворены путем установки глобального значения Recipient Limits равного 30 [...]]]></description>
			<content:encoded><![CDATA[<p>В проектах по миграции почтовых систем с одной версии Exchange на другую, иногда приходится сталкиваться с, так сказать, последствиями чужих недоработок.<br />
Согласно политике организации, максимальное количество получателей сообщения должно быть установлено в 30 адресатов, кроме нескольких пользователей, которым должно быть разрешена отсылка любому количеству получателей.</p>
<p>Данные требования были удовлетворены путем установки глобального значения <strong>Recipient Limits</strong> равного 30 и явного указания заведомо большого (15000) разрешенного количества адресатов в свойствах тех пользователей, с которых ограничение необходимо снять. Собственно говоря, данная конфигурация является полностью логичной...при использовании почтового сервера Exchange 2003.</p>
<p>В архитектуре же Exchange 2010 (на самом деле, насколько я помню, уже начиная с Exch2007) логика работы иная.<br />
<span id="more-213"></span><br />
Глобальное ограничение является полноценно глобальным для организации, а не &laquo;значением по умолчанию&raquo;. И в свойствах конкретного пользователя бессмысленна установка значений выше данного ограничения.<br />
Соответственно, уже в начале процесса миграции почтовой системы на новую версию, возникает следующая проблема: необходимо вместо глобального ограничения количества получателей одного сообщения, установить <em>для каждого пользователя индивидуальное</em>. Что при количестве пользователей равному примерно 3000 несколько затруднительно...если, конечно, не знать простой способ <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Чтобы получить список ящиков, находящихся на сервере предыдущей версии, необходимо в EMS консоли (да-да, на 2010 сервере) выполнить простейшую команду:<br />
<span style="color: #0000ff;">get-mailbox -server MyExch2003 -ResultSize Unlimited | where {$_.RecipientLimits -like &laquo;unlimited&raquo;}</span></p>
<p>И дабы автоматически решить возникшую &laquo;проблему&raquo;, всего лишь незначительно дополнить данную команду:<br />
<span style="color: #0000ff;">get-mailbox -server MyExch2003 -ResultSize Unlimited | where {$_.RecipientLimits -like &laquo;unlimited&raquo;} | set-mailbox -RecipientLimits 30</span></p>

<p><a href="http://feedads.g.doubleclick.net/~a/a6sBcQe3LN5T6jIPd-H0iSHcu3M/0/da"><img src="http://feedads.g.doubleclick.net/~a/a6sBcQe3LN5T6jIPd-H0iSHcu3M/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/a6sBcQe3LN5T6jIPd-H0iSHcu3M/1/da"><img src="http://feedads.g.doubleclick.net/~a/a6sBcQe3LN5T6jIPd-H0iSHcu3M/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/MicrosoftWay/~4/u-khS2tKaCo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.microsoft-way.ru/%ef%bb%bfogranichenie-maksimalnogo-chisla-poluchatelej-soobshhenij/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.microsoft-way.ru/%ef%bb%bfogranichenie-maksimalnogo-chisla-poluchatelej-soobshhenij/</feedburner:origLink></item>
		<item>
		<title>Беспроводной маршрутизатор Asus RT-N13U и его доработка</title>
		<link>http://feedproxy.google.com/~r/MicrosoftWay/~3/-IWgwRT-4t0/</link>
		<comments>http://www.microsoft-way.ru/besprovodnoj-marshrutizator-asus-rt-n13u-i-ego-dorabotka/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 19:54:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Железная кузница]]></category>

		<guid isPermaLink="false">http://www.microsoft-way.ru/?p=207</guid>
		<description><![CDATA[Собственно говоря, о самом устройстве особенно писать нечего: вполне симпатичный беспроводной роутер с USB портом. Свой функционал вполне хорошо выполняет. Единственно что, уж как-то сильно греется...
Ну что же, сам виноват&#160;&#8212; будем остужать  
Начальная разборка устройства не представляет сложностей, затем снимаем крышку отсека радиомодуля и видим:

Нда... Видим мы печальную картину: чипсет охлаждается при помощи крышки [...]]]></description>
			<content:encoded><![CDATA[<p>Собственно говоря, о самом устройстве особенно писать нечего: вполне симпатичный беспроводной роутер с USB портом. Свой функционал вполне хорошо выполняет. Единственно что, уж как-то сильно греется...<br />
Ну что же, сам виноват&nbsp;&mdash; будем остужать <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-207"></span>Начальная разборка устройства не представляет сложностей, затем снимаем крышку отсека радиомодуля и видим:<br />
<a href="http://www.microsoft-way.ru/wp-content/uploads/2010/04/rt-n13u_1.jpg"><img class="aligncenter size-full wp-image-208" title="rt-n13u_1" src="http://www.microsoft-way.ru/wp-content/uploads/2010/04/rt-n13u_1.jpg" alt="rt-n13u_1" width="516" height="386" /></a></p>
<p>Нда... Видим мы печальную картину: чипсет охлаждается при помощи крышки отсека радиомодуля через теплопроводную подложку высотой 2мм, при этом сама подложка закрывает только половину чипсета. Про чипы памяти, находящиеся при этом в &laquo;безвыходной бане&raquo;, даже не хочется думать. Ведь, если пластиковый корпус устройства так ощутимо греется, что же происходит внутри &laquo;бани&raquo;?</p>
<p>Ладно, оставим эти размышления потомкам, а сами возьмем два радиатора, ножницы, термопасту, пузырек суперклея и решим проблему охлаждения так, чтобы она более не мешала спать по ночам.<br />
<a href="http://www.microsoft-way.ru/wp-content/uploads/2010/04/rt-n13u_2.jpg"><img class="aligncenter size-full wp-image-209" title="rt-n13u_2" src="http://www.microsoft-way.ru/wp-content/uploads/2010/04/rt-n13u_2.jpg" alt="rt-n13u_2" width="513" height="449" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/uV4xH4B-aJIezj6nBLVFkIiDBKE/0/da"><img src="http://feedads.g.doubleclick.net/~a/uV4xH4B-aJIezj6nBLVFkIiDBKE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/uV4xH4B-aJIezj6nBLVFkIiDBKE/1/da"><img src="http://feedads.g.doubleclick.net/~a/uV4xH4B-aJIezj6nBLVFkIiDBKE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/MicrosoftWay/~4/-IWgwRT-4t0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.microsoft-way.ru/besprovodnoj-marshrutizator-asus-rt-n13u-i-ego-dorabotka/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.microsoft-way.ru/besprovodnoj-marshrutizator-asus-rt-n13u-i-ego-dorabotka/</feedburner:origLink></item>
		<item>
		<title>Нам провайдер не указ</title>
		<link>http://feedproxy.google.com/~r/MicrosoftWay/~3/N7OfnzzKm18/</link>
		<comments>http://www.microsoft-way.ru/nam-provajder-ne-ukaz/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 23:35:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Forefront TMG]]></category>

		<category><![CDATA[безопасность]]></category>

		<guid isPermaLink="false">http://www.microsoft-way.ru/?p=203</guid>
		<description><![CDATA[В жизни бывает всякое, не менее разные ситуации случаются и в бизнесе. Но что делать, если на носу переезд, а на новом месте не то, чтобы нет возможности быстрого подключения интернет-доступа, но само это новое место может оказаться перевалочным пунктом в длинной череде? При этом, без сомнения, работать как-то нужно 
Разработанное решение более подходит к [...]]]></description>
			<content:encoded><![CDATA[<p>В жизни бывает всякое, не менее разные ситуации случаются и в бизнесе. Но что делать, если на носу переезд, а на новом месте не то, чтобы нет возможности быстрого подключения интернет-доступа, но само это новое место может оказаться перевалочным пунктом в длинной череде? При этом, без сомнения, работать как-то нужно <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Разработанное решение более подходит к ситуации домашнего использования, но и для, скажем так, <em>малого</em> бизнеса я бы не стал однозначно его отвергать.<br />
Для отвязывания от проводов на данный момент существует несколько решений: использование коммерческий сети WiFi или развивающийся сети WiMax. Но по простой причине того, что нет полной уверенности, каков же будет следующий &laquo;перевалочный пункт&raquo;, нам необходимо было создать унифицированое решение, легкое для адаптации.</p>
<p><span id="more-203"></span>Хотя это и широко анонсировалось, до сих пор мало кто хорошо знает об одной интересной особенности новых операционных систем от компании Microsoft. Я о поддержке режима работы в качестве точки доступа, который появился в Windows 7 и Server 2008 R2.<br />
Уж скажем честно, решение, традиционно, получилось чуть-чуть  не совсем доработанным до того функционала, о котором можно было мечтать. Но для целей оперативно предоставить доступ в интернет приехавшему на переговоры партнеру&nbsp;&mdash; вполне подойдет, когда не хочется этого партнера заставлять мучительно ожидать организации доступа силами сотрудников ИТ отдела.<br />
Достаточно лишь запустить командную строку с повышенными правами и скопировать-вставить в появившееся черное окно две строки:</p>
<ol>
<li>netsh wlan set hostednetwork mode=allow ssid=LibertineGuest key=superKey^1234</li>
<li>netsh wlan start hostednetwork</li>
</ol>
<p>После чего вызвать свойства своего текущего сетевого подключения и на вкладке &laquo;доступ&raquo; установить галочку &laquo;другие пользователи могут подключаться&raquo;.<br />
Вот и все, скучающий бизнес-партнер теперь может подключиться к беспроводной сети LibertineGuest используя пароль superKey^1234<br />
Кстати, вот после этого имеет смысл задуматься о степени сетевой безопасности и том, за что же Вы все же платите сотрудникам своего ИТ отдела, утверждающим, что трудятся в поте лица, защищая корпоративные данные? Кто, кроме Вас, может проделать вышеозначенные операции и дать доступ группе злоумышленников сидящих в автомобиле внизу? А ведь, по-хорошему, у вас, как обычного пользователя, не должно было быть даже прав в системе на подобные операции.</p>
<p>Ну да ладно, предположим, мы все же используем технологии во благо <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Итак, как я уже упомянул, в Server 2008 R2 появилась возможность создания беспроводной точки доступа. А, значит, если у нас есть все необходимые лицензии на использование соответствующего ПО, мы вполне можем установить на него Threat Management Gateway со всем его приятным функционалом в виде защиты от внешних угроз, кэширования и антивирусной проверке трафика, возможности создания VPN подключений и, главное, автоматического переключения на резервный канал при недоступности основного (например, то же коммерческий публичный WiFi).<br />
Правда, кое о чем необходимо упомянуть:</p>
<ol>
<li>По умолчанию, поддержка беспроводных подключений в серверной OC отключена. Поэтому, необходимо перевести в автоматический старт службу &laquo;Wireless LAN AutoConfig&raquo;</li>
<li>После перезагрузки системы необходимо заново вручную выполнить команду &laquo;netsh wlan start hostednetwork&raquo;. Но это решается крайне просто, учитывая, что для запуска при помощи ключа реестра или локальной групповой политики не активен UAC (на самом деле, оно неактивно для всех действий учетной записи системы, но это детали).</li>
<li>Поскольку все данное решение разработано производителем именно для целей &laquo;быстрого подключения партнера&raquo;, при старте сети будут включены и запущены службы ICS (общий доступ к подключениям) и DHCP/DNS сервер. Что, разумеется, вызовет конфликт со службами TMG. Что ж, просто необходимо сначала все ненужные службы остановить и запретить к запуску (т.к., в частности, ICS будет пытаться сделать перезапуск при любой остановке), а затем все нужные нам службы&nbsp;&mdash; перезапустить. Все это ровно также просто автоматизируется, главное, помнить о том, что необходимо вставлять задержки выполнения, т.к. некоторые службы, имеющие под собой зависимые, требуют некоторого времени на старт</li>
</ol>
<p>Домашнее же применение описанного решения (за исключением серверной ОС и TMG, т.к. воровать нехорошо, если можно использовать вполне легальные и легко настраиваемые решения внутри виртуальной машины на которую проброшено сетевое подключение) может выглядеть так:</p>
<p><a href="http://www.microsoft-way.ru/wp-content/uploads/2010/04/d0bdd0bed182d0b5d180d0bed183d182d0b5d180.jpg"><img class="aligncenter size-full wp-image-204" title="Ноутбук-wifi роутер" src="http://www.microsoft-way.ru/wp-content/uploads/2010/04/d0bdd0bed182d0b5d180d0bed183d182d0b5d180.jpg" alt="Ноутбук-wifi роутер" width="509" height="689" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/maJUlddM28BS089zwT2-dnAjIww/0/da"><img src="http://feedads.g.doubleclick.net/~a/maJUlddM28BS089zwT2-dnAjIww/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/maJUlddM28BS089zwT2-dnAjIww/1/da"><img src="http://feedads.g.doubleclick.net/~a/maJUlddM28BS089zwT2-dnAjIww/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/MicrosoftWay/~4/N7OfnzzKm18" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.microsoft-way.ru/nam-provajder-ne-ukaz/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.microsoft-way.ru/nam-provajder-ne-ukaz/</feedburner:origLink></item>
		<item>
		<title>Учет использования общих принтеров</title>
		<link>http://feedproxy.google.com/~r/MicrosoftWay/~3/7JcNhVYDUjE/</link>
		<comments>http://www.microsoft-way.ru/uchet-ispolzovaniya-obshhix-printerov/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 21:53:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[учет расходов]]></category>

		<category><![CDATA[учет расходных материалов]]></category>

		<guid isPermaLink="false">http://www.microsoft-way.ru/?p=198</guid>
		<description><![CDATA[Не секрет, что после каждого улучшения в электронном документообороте компании, в последней возрастает потребление бумаги. Даже извечные студенты, печатающие за счет работодателя свои бесчисленные рефераты о влиянии интенсивности потока лунного света на износ рельс, вовсе не так уж и много изводят бумаги. Гораздо больше бумаги и тонера расходуется на ритуальные кормления шредеров из-за того, что [...]]]></description>
			<content:encoded><![CDATA[<p>Не секрет, что после каждого улучшения в электронном документообороте компании, в последней возрастает потребление бумаги. Даже извечные студенты, печатающие за счет работодателя свои бесчисленные рефераты о влиянии интенсивности потока лунного света на износ рельс, вовсе не так уж и много изводят бумаги. Гораздо больше бумаги и тонера расходуется на ритуальные кормления шредеров из-за того, что электронный документооборот позволяет многократно бездумно создавать копию многих версий одного и того же документа.</p>
<p>Существует несколько недорогих программных решений для учета потребления расходных материалов. Но дело в том, что по большому счету, они являются излишне функциональными. Как правило, необходимо не иметь полную копию всех распечатанных документов, а лишь видеть статистику по количеству отпечатков на каждом принтере с распределением по пользователям.</p>
<p><span id="more-198"></span>И снова нам на помощь приходит простое и функциональное средство LogParser (ранее примеренное <a href="http://www.microsoft-way.ru/analiz-logov-exchange-2007/">для анализа логов Exhange2007</a>), на этот раз используемое для анализа логов принт-сервера.</p>
<p>Итак, предположим, нам необходимо получить простой csv файл, где будет присутствовать информация за сегодняшний день о том, когда, кто, на каком принтере и сколько страниц распечатал. Да и название отправленного на печать документа лишним не будет.<br />
Для этого к командной строке нам необходимо написать:<br />
1. <span style="color: #0000ff;">LogParser.exe</span> <span style="color: #808080;">&mdash; без комментариев</span><br />
2. <span style="color: #0000ff;">file:parsprn.sql</span> <span style="color: #808080;">&nbsp;&mdash; файл, в котором записан необходимый SQL запрос</span><br />
3. <span style="color: #0000ff;">-i:EVT</span> <span style="color: #808080;">&mdash; указатель, что ввод необходимо взять из системного лога принт-сервера</span><br />
4. <span style="color: #0000ff;">-o:CSV</span> <span style="color: #808080;">&mdash; указатель на необходимый формат вывода</span></p>
<p>Но прежде, чем выполнять команду, неплохо будет создать сам файл запроса parsprn.sql:<br />
<span style="color: #0000ff;">select<br />
TimeGenerated AS LogonDate,<br />
EXTRACT_TOKEN (Strings, -6, &#39;|&#39;) AS docname, <span style="color: #808080;">&mdash; из за того, что в имени файла могут встречаться символы |, рекомендую использовать именно &laquo;обратную&raquo; форму записи.</span><br />
EXTRACT_TOKEN (Strings, -5, &#39;|&#39;) AS username,<br />
EXTRACT_TOKEN (Strings, -4, &#39;|&#39;) AS prndevice,<br />
EXTRACT_TOKEN (Strings, -2, &#39;|&#39;) AS bytesize,<br />
EXTRACT_TOKEN (Strings, -1, &#39;|&#39;) AS pgsize<br />
into v:\parsprn.csv<br />
from SYSTEM <span style="color: #808080;">&mdash; указатель, из какого именно системного лога нам необходимо извлечь данные</span><br />
where<br />
TO_TIMESTAMP (TO_STRING (TimeGenerated, &#39;yyyy-MM-dd&#39;),&#39;yyyy-MM-dd&#39;)  = TO_TIMESTAMP (TO_STRING (SYSTEM_TIMESTAMP (),&#39;yyyy-MM-dd&#39;),&#39;yyyy-MM-dd&#39;) <span style="color: #808080;">&mdash; на каком-то этапе была выявлена неприятная особенность определения понятия &laquo;сегодня&raquo;, поэтому надежнее сравнивать простые строки</span><br />
and EventID IN (10)</span></p>
<p>Отчет для целей архивного хранения мы таким образом получили. А теперь предлагаю начать создавать отчеты, приемлемые для восприятия человеком.<br />
Первым делом, предлагаю не уходить далеко от простейшего отчета в виде csv файла, но вывести в него только события, имевшие место после завершения рабочего дня. Очень, кстати, забавно наблюдать реакцию, утверждающего что месячный отчет для вас он героически  готовил вчера аж до 11 вечера, когда этому &laquo;герою&raquo; задаешь вопрос, как же так получается, если единственную копию он распечатал в 18:23? <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Особенных изменения предыдущий вариант файла SQL запроса не потребует, всего лишь нужно добавить условие отбора:<br />
<span style="color: #0000ff;">and TO_TIMESTAMP (TO_STRING (TimeGenerated, &#39;h&#39;),&#39;h&#39;)  &gt; TO_TIMESTAMP (TO_STRING (&#39;17&#39;),&#39;h&#39;)</span></p>
<p>Теперь предлагаю наглядно вывести, так сколько же отпечатков суммарно выводится на каждом из принтеров. Данная информация, кстати, может послужить хорошим аргументом в планировании модернизации оборудования. Вовсе не факт, что тому или иному департаменту действительно актуален апгрейд многофункционального устройства, а не установка дополнительного дешевого копира.<br />
Примерная строка запуска будет выглядеть следующим образом:<br />
<span style="color: #0000ff;">LogParser file:parsprnpcountd.sql -i:EVT -o:CHART -chartType:barstacked -chartTitle:"printers by pages" -groupSize:1024&times;1600<br />
parsprnpcountd.sql</span></p>
<p>Файл же непосредственно SQL запроса, примерно так:<br />
<span style="color: #0000ff;">select<br />
EXTRACT_TOKEN (Strings, -4, &#39;|&#39;) AS prndevice,<br />
sum (TO_INT (EXTRACT_TOKEN (Strings, -1, &#39;|&#39;))) AS pgcount<br />
into v:\pages_per_device.gif<br />
from SYSTEM<br />
where<br />
TO_TIMESTAMP (TO_STRING (TimeGenerated, &#39;yyyy-MM-dd&#39;),&#39;yyyy-MM-dd&#39;)  = TO_TIMESTAMP (TO_STRING (SYSTEM_TIMESTAMP (),&#39;yyyy-MM-dd&#39;),&#39;yyyy-MM-dd&#39;)<br />
and EventID IN (10)<br />
group by prndevice<br />
order by pgcount desc</span></p>
<p>На выходе мы получим вполне наглядное представление того, что хотели выяснить:<br />
<a href="http://www.microsoft-way.ru/wp-content/uploads/2010/01/pages_per_device.gif"><img class="aligncenter size-large wp-image-199" title="pages_per_device" src="http://www.microsoft-way.ru/wp-content/uploads/2010/01/pages_per_device-655x1024.gif" alt="pages_per_device" width="524" height="813" /></a></p>
<p>Наконец, предлагаю вывести 25 &laquo;рекордсменов&raquo; по расходу бумаги. Примерная строка запуска запроса будет выглядеть следующим образом:<br />
<span style="color: #0000ff;">LogParser file:parsprnpcountopu.sql -i:EVT -o:CHART -chartType:barstacked -chartTitle:"top 25 users by pages" -groupSize:1024&times;800</span></p>
<p>Сам же файл запроса parsprnpcountopu.sql будет выглядеть следующим образом:<br />
<span style="color: #0000ff;">select<br />
top 25 EXTRACT_TOKEN (Strings, -5, &#39;|&#39;) AS username, <span style="color: #808080;">&mdash; соответственно, если из запроса убрать &laquo;top 25&raquo;, мы получим отчет, включающий всех пользователей</span><br />
sum (TO_INT (EXTRACT_TOKEN (Strings, -1, &#39;|&#39;))) AS pgcount<br />
into v:\top_users_by_pages.gif<br />
from SYSTEM<br />
where<br />
TO_TIMESTAMP (TO_STRING (TimeGenerated, &#39;yyyy-MM-dd&#39;),&#39;yyyy-MM-dd&#39;)  = TO_TIMESTAMP (TO_STRING (SYSTEM_TIMESTAMP (),&#39;yyyy-MM-dd&#39;),&#39;yyyy-MM-dd&#39;)<br />
and EventID IN (10)<br />
group by username<br />
order by pgcount desc</span></p>
<p>Примерный вид получившегося отчета будет таков:<br />
<a href="http://www.microsoft-way.ru/wp-content/uploads/2010/01/top_users_by_pages.gif"><img class="aligncenter size-full wp-image-200" title="top_users_by_pages" src="http://www.microsoft-way.ru/wp-content/uploads/2010/01/top_users_by_pages.gif" alt="top_users_by_pages" width="519" height="407" /></a></p>
<p>Ровно аналогичные отчеты можно, разумеется, получить и за другие промежутки времени. Все зависит исключительно от буйности фантазии. Например, запрос распределения количества отпечатков по дням будет выглядеть следующим образом:<br />
<span style="color: #0000ff;">select<br />
TO_STRING (TimeGenerated,  &#39;dd&#39;) as day,<br />
sum (TO_INT (EXTRACT_TOKEN (Strings, -1, &#39;|&#39;))) AS pgcount<br />
into v:\pages_per_day_month.gif<br />
from SYSTEM<br />
where<br />
TO_TIMESTAMP (TO_STRING (TimeGenerated, &#39;yyyy-MM&#39;),&#39;yyyy-MM&#39;)  = TO_TIMESTAMP (TO_STRING (SYSTEM_TIMESTAMP (),&#39;yyyy-MM&#39;),&#39;yyyy-MM&#39;)<br />
and EventID IN (10)<br />
group by day<br />
order by day</span></p>

<p><a href="http://feedads.g.doubleclick.net/~a/SyoDDxioZNRashkM2ErsSyMx2LY/0/da"><img src="http://feedads.g.doubleclick.net/~a/SyoDDxioZNRashkM2ErsSyMx2LY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/SyoDDxioZNRashkM2ErsSyMx2LY/1/da"><img src="http://feedads.g.doubleclick.net/~a/SyoDDxioZNRashkM2ErsSyMx2LY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/MicrosoftWay/~4/7JcNhVYDUjE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.microsoft-way.ru/uchet-ispolzovaniya-obshhix-printerov/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.microsoft-way.ru/uchet-ispolzovaniya-obshhix-printerov/</feedburner:origLink></item>
		<item>
		<title>Задача из техподдержки (outlook junk folder)</title>
		<link>http://feedproxy.google.com/~r/MicrosoftWay/~3/r5xOlOFsXts/</link>
		<comments>http://www.microsoft-way.ru/zadacha-iz-texpodderzhki-outlook-junk-folder/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 21:14:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[(анти)вирусы]]></category>

		<category><![CDATA[Exchange]]></category>

		<category><![CDATA[junk mail]]></category>

		<category><![CDATA[outlook]]></category>

		<category><![CDATA[личные папки outlook]]></category>

		<guid isPermaLink="false">http://www.microsoft-way.ru/?p=195</guid>
		<description><![CDATA[С течением времени даже элементарные вещи и базовые понятия могут быть забыты, если являются достаточно специфичными и не используются в ежедневной рабочей среде.
На днях произошел как раз подобный инцидент, по существу которого запрос на, казалось бы, элементарную поддержку пользователя вышел за рамки работы специалистов подразделения ServiceDesk.
Связка Exchange и Outlook вполне разумно, что уже давно используется [...]]]></description>
			<content:encoded><![CDATA[<p>С течением времени даже элементарные вещи и базовые понятия могут быть забыты, если являются достаточно специфичными и не используются в ежедневной рабочей среде.<br />
На днях произошел как раз подобный инцидент, по существу которого запрос на, казалось бы, элементарную поддержку пользователя вышел за рамки работы специалистов подразделения ServiceDesk.</p>
<p>Связка Exchange и Outlook вполне разумно, что уже давно используется исключительно в двух вариациях: со включенной функцией кэширования и с выключенной. Оба варианта использования имеют свои недостатки: при выключенном кэшировании возникает излишняя нагрузка на сервер, а при включенном кэшировании объемного ящика&nbsp;&mdash; могут быть серьезные проблемы с производительностью на стороне клиента (в особенности, если на стороне клиента активизирован плагин для антивирусной проверки корреспонденции). Это, кстати, тот самый вариант, когда Best Practices поставщика оказываются малопригодны в конкретной рабочей среде.</p>
<p><span id="more-195"></span>Но иногда проявляются решения, казалось бы, давно устаревшие и не использующиеся. Например, по странному желанию и привычке, у конечного пользователя почтовый ящик Exchange подключен таким образом, что корреспонденция хранится в единственном экземпляре в локальных личных папках. Такой режим доступа правильно называется <em>Remote Mail</em> (средство удаленного доступа) и специально предназначен для того, чтобы при использовании низко скоростного удаленного соединения синхронизировать только папку <strong>Входящие</strong> с файлом личных папок. Соответственно, у конечного пользователя, который по неким личным причинам предпочитает хранить всю корреспонденцию в файле личных папок, возникает следующая сложность: входящая корреспонденция успешно помечается серверным антиспам фильтром и помещается в папку нежелательной корреспонденции почтового ящика.</p>
<p>Таким образом, со стороны конечного пользователя возникает недопонимание происходящего: растет устойчивое ощущение того, что часть входящей почты теряется, так как что видимая ему папка &laquo;нежелательная почта&raquo; (Junk mail) столь же пуста, сколь и папка входящих.</p>
<p>А решается, данная проблема недопонимания, собственно, единственным способом: необходимо выключить фильтрацию нежелательной корреспонденции для данного почтового ящика. Для этого достаточно выполнить следующую команду Exchange Management Shell:<br />
<span style="color: #0000ff;">set-Mailbox -Identity infobox@libertine.su -SCLJunkEnabled:$false</span></p>
<p>При этом Outlook конечного пользователя в момент получения с сервера новой корреспонденции успешно разместит всю нежелательную почту в соответствующей папке локального хранилища сообщений.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/6zu4flJm3ExoO_Fwffo5bMy2-yE/0/da"><img src="http://feedads.g.doubleclick.net/~a/6zu4flJm3ExoO_Fwffo5bMy2-yE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/6zu4flJm3ExoO_Fwffo5bMy2-yE/1/da"><img src="http://feedads.g.doubleclick.net/~a/6zu4flJm3ExoO_Fwffo5bMy2-yE/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/MicrosoftWay/~4/r5xOlOFsXts" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.microsoft-way.ru/zadacha-iz-texpodderzhki-outlook-junk-folder/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.microsoft-way.ru/zadacha-iz-texpodderzhki-outlook-junk-folder/</feedburner:origLink></item>
		<item>
		<title>Статистика почтовых ящиков Exchange 2003</title>
		<link>http://feedproxy.google.com/~r/MicrosoftWay/~3/mN8NhcmQsAY/</link>
		<comments>http://www.microsoft-way.ru/statistika-pochtovyx-yashhikov-exchange-2003/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 09:02:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Exchange]]></category>

		<category><![CDATA[управление пользователя]]></category>

		<guid isPermaLink="false">http://www.microsoft-way.ru/?p=217</guid>
		<description><![CDATA[В проектах по миграции с Exchange 2003 на более свежие версии, грешен, я и сам очень часто люблю ввернуть упоминание о том, что &#171;администрирование устаревшей версии почтовой системы базируется на графических утилитах, не позволяя гибко решать поставленные задачи&#187;.
Суть в том, что это несовсем верно  
Например, нам необходимо получить данные о том, каковы текущие размеры [...]]]></description>
			<content:encoded><![CDATA[<p>В проектах по миграции с Exchange 2003 на более свежие версии, грешен, я и сам очень часто люблю ввернуть упоминание о том, что &laquo;администрирование устаревшей версии почтовой системы базируется на графических утилитах, не позволяя гибко решать поставленные задачи&raquo;.<br />
Суть в том, что это несовсем верно <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><span id="more-217"></span>Например, нам необходимо получить данные о том, каковы текущие размеры всех почтовых ящиков. Нет ничего проще!<br />
От имени учетной записи с достаточными административными привилениями, на <em>любой рабочей станции домена</em> c установленной на оной консолью PowerShell выполняем команду:<br />
<span style="color: #0000ff;">Get-WmiObject -ComputerName MyExch2003 -Namespace root\MicrosoftExchangeV2 -Class Exchange_Mailbox | Select MailboxDisplayName, Size -First 10000</span></p>
<p>Не более сложно получить и предварительно отсортированный по размеру список почтовых ящиков:<br />
<span style="color: #0000ff;">Get-WmiObject -ComputerName MyExch2003 -Namespace root\MicrosoftExchangeV2 -Class Exchange_Mailbox | sort size -desc | Select MailboxDisplayName, Size -First 10000</span></p>
<p>И, наконец, получим список почтовых ящиков, отсортированный по дате последнего отключения от оного, а затем по размеру. Это позволит наглядно увидеть почтовые ящики, которыми уже давно никто не пользуется:<br />
<span style="color: #0000ff;">Get-WmiObject -ComputerName MyExch2003 -Namespace root\MicrosoftExchangeV2 -Class Exchange_Mailbox | sort  LastLogoffTime, size | Select MailboxDisplayName, Size,  LastLogoffTime -First 10000</span></p>
<p>Стоит лишь только предостеречь от излишне рьяных действий по итогам поверхностного анализа полученных данных. Если с почтового ящика стоит пересылка сообщений, дата последнего выхода может находиться в далеком прошлом, но существование самого адреса оказаться актуальным (и кандидатом в назначение вторым адресом другому пользователю).<br />
И, разумеется, следует не забыть,  что для ящиков, открытых в данный момент времени, поле LastLogoffTime будет пустым.</p>
<p>А что, если нам необходимо получить не список ящиков, а параметры ящиков из некоторого списка? Например, Имя <strong>/</strong> Размер <strong>/</strong> Хранилище в котором находится почтовый ящик <strong>/</strong> Последнее время выхода из ящика.<br />
Это тоже несложно: нам понадобиться всего лишь сам список в текстовом формате, та же самая рабочая станция с консолью Powershell и две строки команд:<br />
<span style="color: #0000ff;">﻿$BoxesList = Get-Content C:\lists\boxlist.txt<br />
foreach ($boxuser in $BoxesList) {Get-WmiObject -ComputerName MyExch2003 -Namespace root\MicrosoftExchangeV2 -Class Exchange_Mailbox | Where {$_.MailboxDisplayName -like $boxuser} | Select MailboxDisplayName, Size, StoreName, LastLogoffTime}</span></p>
<p>Необходимо, правда, отметить, что подобный циклический запрос достаточно спорен с точки зрения рационального использования вычислительных ресурсов <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/jHcGfjyL7bOXoedJx7MkY8NOUTU/0/da"><img src="http://feedads.g.doubleclick.net/~a/jHcGfjyL7bOXoedJx7MkY8NOUTU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jHcGfjyL7bOXoedJx7MkY8NOUTU/1/da"><img src="http://feedads.g.doubleclick.net/~a/jHcGfjyL7bOXoedJx7MkY8NOUTU/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/MicrosoftWay/~4/mN8NhcmQsAY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.microsoft-way.ru/statistika-pochtovyx-yashhikov-exchange-2003/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.microsoft-way.ru/statistika-pochtovyx-yashhikov-exchange-2003/</feedburner:origLink></item>
		<item>
		<title>Миграция с Exchange 2007 на версию 2010</title>
		<link>http://feedproxy.google.com/~r/MicrosoftWay/~3/Yw1hg5OeBYs/</link>
		<comments>http://www.microsoft-way.ru/migraciya-s-exchange-2007-na-versiyu-2010/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 16:52:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Exchange]]></category>

		<category><![CDATA[exchange 2010]]></category>

		<category><![CDATA[миграция почтовой системы]]></category>

		<guid isPermaLink="false">http://www.microsoft-way.ru/?p=189</guid>
		<description><![CDATA[Крайне подробная документация по установке нового продукта и миграции с предыдущих версий содержится на сайте technet.
И я крайне рекомендую тщательнейшим образом перечитать всю документацию размещенную там перед тем, как браться за настройку и управление продуктом в производственном окружении.
Ниже даже не обзор особенностей новой версии почтового сервера, а скорее, соображения о специфических действиях для миграции на [...]]]></description>
			<content:encoded><![CDATA[<p>Крайне подробная документация по установке нового продукта и миграции с предыдущих версий содержится на сайте technet.<br />
И я крайне рекомендую тщательнейшим образом перечитать всю документацию размещенную там перед тем, как браться за настройку и управление продуктом в производственном окружении.<br />
Ниже даже не обзор особенностей новой версии почтового сервера, а скорее, соображения о специфических действиях для миграции на нее и сравнении конфигураций.</p>
<span id="more-189"></span>По сравнению с 2007 версией, для создания отказоустойчивых конфигураций произошло два долгожданных шага вперед:
<ol>
<li>Отказ от необходимости создания кластера на уровне ОС. И я бы даже сказал, что производитель очень навязчиво декларирует данный факт. Кстати, да. Учитывая требования к оборудованию (а точнее, к системе хранения данных) для создания кластерных конфигураций на базе server 2008, лично для меня подобная необходимость была бы достаточно неприятна.</li>
<li>Возможность размещения любых дополнительных ролей Exchange на любой из нод отказоустойчивого почтового хранилища.</li>
</ol>
<p>Но дело в том, что на самом деле отказоустойчивый кластер создается. Просто не на уровне операционной системы. А размещение на хранилище дополнительных ролей вовсе на так однозначно. Что все это значит? Рассмотрим дальше.</p>
Итак, какова могла быть возможная конфигурация для отказоустойчивой почтовой системы на базе Exchange 2007:
<ol>
<li>На два сервера объединенные в кластер была установлена роль mailbox store. При этом один из серверов мог быть заведомо слабее, т.к. выполнял исключительно функцию аварийного резерва.</li>
<li>Роли транспортного сервера и сервера клиентского доступа были установлены на единственный сервер, защищенный от аппаратных сбоев путем помещения внутри отказоустойчивой виртуальной машины.</li>
<li>Для защиты от вирусов и спама, был установлен отдельный релей на базе свободного ПО. Данное решение значительно снижает нагрузку на транспортный сервер Exchange, не требуя при этом дополнительных лицензий для сервера с ролью Edge Transport.</li>
<li>Для защиты от DDoS атаки на сервер клиентского доступа, данный сервер был опубликован через ISA сервер. Что, кстати, дополнительно значительно снижает нагрузку за счет кэширования и возможности отключения шифрования между внутренним интерфейсом ISA и интерфейсом CAS сервера (разумеется, нешифрованный трафик между серверами категорически рекомендуется передавать исключительно через выделенный VLAN).</li>
</ol>
А теперь, что нас ждет при переходе с вышеуказанной конфигурации на Exchange 2010:
<ol>
<li>Абсолютно все подключения теперь будут проходить через CAS сервер. Что автоматически означает необходимость его существенной производительности.</li>
<li>Размещение дополнительных ролей на одном из серверов хранилища почтовых ящиков&nbsp;&mdash; это замечательно (особенно, когда есть запас производительности). Но необходимо хорошо себе представлять тот факт, что в этом случае необходимо размещение тех же самых ролей на любом другом сервере и создания NLB кластеров для получения отказоустойчивости. Надеюсь, как работает NLB unicast и в чем особенность NLB multicast при доступе к нему через роутер, все хорошо понимают и недоразумений при настройке ни у кого возникать не будет <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
<li>Поскольку, как я уже отметил, отказоустойчивый кластер на самом деле создается, честь и хвала тому, что сможет на тех же самых нодах поднять NLB. Да, признаю, в предыдущем пункте я именно издевался, разглагольствуя о режимах работы NLB</li>
<li>Да, есть одна особенность: при двух серверах с ролью транспорта, почта между двумя ящиками одной почтовой базы всегда будет доставляться через второй сервер транспорта&nbsp;&mdash; это особенность новой архитектуры и ее необходимо иметь в виду. Транспорт совершит локальную доставку только в случае недоступности стороннего партнера, и что-то мне подсказывает, что доступность проверяется отнюдь не запросом к smtp порту, а обычным icmp. Надеюсь, система контроля статуса критических сервисов всех серверов настроена у всех?</li>
<li>Резервное копирование и удобство восстановления лучше даже не упоминать, если совершенно случайно нигде не завалялось лицензии на DPM (Data Protection Manager). Впрочем, возможность создания &laquo;отсроченной&raquo; (lagged database) копии средствами самого Exchange, несомненно, существенно снимает ряд проблем.</li>
</ol>

<p><a href="http://feedads.g.doubleclick.net/~a/x0pdfxemPwdz9f8K3BAB05XYh40/0/da"><img src="http://feedads.g.doubleclick.net/~a/x0pdfxemPwdz9f8K3BAB05XYh40/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/x0pdfxemPwdz9f8K3BAB05XYh40/1/da"><img src="http://feedads.g.doubleclick.net/~a/x0pdfxemPwdz9f8K3BAB05XYh40/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/MicrosoftWay/~4/Yw1hg5OeBYs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.microsoft-way.ru/migraciya-s-exchange-2007-na-versiyu-2010/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.microsoft-way.ru/migraciya-s-exchange-2007-na-versiyu-2010/</feedburner:origLink></item>
		<item>
		<title>Проблема старых учетных записей, часть вторая</title>
		<link>http://feedproxy.google.com/~r/MicrosoftWay/~3/irRdIbh6juQ/</link>
		<comments>http://www.microsoft-way.ru/problema-staryx-uchetnyx-zapisej-chast-vtoraya/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 00:19:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Exchange]]></category>

		<category><![CDATA[управление пользователя]]></category>

		<category><![CDATA[Exchange 2007]]></category>

		<category><![CDATA[неактивные пользователи]]></category>

		<category><![CDATA[перемещение почтовых ящиков]]></category>

		<category><![CDATA[старые ящики]]></category>

		<guid isPermaLink="false">http://www.microsoft-way.ru/?p=184</guid>
		<description><![CDATA[Итак, на предыдущем несложном этапе мы определили давно неиспользуемые учетные записи и переместили их в отдельный контейнер.
Теперь нам необходимо решить вторую часть задачи, связанную с отображением уволенных пользователей в общей адресной книге почтовой системы и, собственно, наличием актуальности в самом существовании их ящиков внутри почтового хранилища.
Для начала, получим список всех существующих почтовых ящиков для перемещенных [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, на предыдущем несложном этапе мы определили давно неиспользуемые учетные записи и переместили их в отдельный контейнер.<br />
Теперь нам необходимо решить вторую часть задачи, связанную с отображением уволенных пользователей в общей адресной книге почтовой системы и, собственно, наличием актуальности в самом существовании их ящиков внутри почтового хранилища.</p>
<p><span id="more-184"></span>Для начала, получим список всех существующих почтовых ящиков для перемещенных пользователей. Для этого запустим <em>Exchange Management Shell</em> (PowerShell) и выполним простенькую команду:<br />
<span style="color: #0000ff;">get-mailbox -organizationalUnit &laquo;libertine.su/Disabled Users&raquo;</span></p>
<p>По сути, нам это не дало ничего нового. Кроме того, что всего лишь перенаправив вывод данной команды на вход следующей, мы можем моментально решить вопрос с адресной книгой.<br />
 <span style="color: #0000ff;">get-mailbox -organizationalUnit &laquo;libertine.su/Disabled Users&raquo; | set-Mailbox HiddenFromAddressListsEnabled:$true</span><br />
Все, мы только что отключили отображение в адресной книге имен всех пользователей, перемещенных в OU <em>Disabled Users</em>.</p>
<p>Теперь осталось понять, можем ли мы как-то сократить количество ящиков, занимающих место в почтовом хранилище.<br />
Но для начала, выведем список всех учетных записей, имеющих доступ к ящикам в заданном контейнере:<br />
 <span style="color: #0000ff;">get-mailbox -organizationalUnit &laquo;libertine.su/Disabled Users&raquo; | Get-MailboxPermission | Format-List</span><br />
Предупреждаю, на выходе будет очень длинная простыня <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> Поэтому, вывод целесообразно было бы перенаправить в тестовый файл и далее работать уже с ним.</p>
<p>Поскольку нам нет резона тратить массу времени на тщательную вычитку доступов для каждого ящика, целесообразно выбрать любой и на его основе написать фильтр, существенно облегчающий дальнейшие задачи. Нам необходимо для каждого ящика получить список доступа, исключая доступ администраторов, серверов и самого титульного пользователя. Конечный сценарий может выглядеть примерно следующим образом:<br />
<span style="color: #0000ff;">get-mailbox -organizationalUnit &laquo;libertine.su/Disabled Users&raquo; | Get-MailboxPermission | Where {($_.user -notlike &laquo;LIBERTINE\admin&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\Exchange View-Only Administrators&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\Exchange Organization Administrators&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\Exchange Servers&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\Exchange Domain Servers&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\Exchange Services&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\Exchange Public Folder Administrators&raquo;) -and ($_.user -notlike &laquo;NT AUTHORITY\NETWORK SERVICE&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\Exchange Organization Administrators&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\Domain Admins&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\Enterprise Admins&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\SECLMAIL$&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\FRSTCLMAIL$&raquo;) -and ($_.user -notlike &laquo;NT AUTHORITY\SELF&raquo;) -and ($_.user -notlike &laquo;LIBERTINE\superoot&raquo;)} | Format-List Identity, user</span></p>
<p>Замечательно, факт наличия доступа мы определили. Но пользуются ли им? Для этого введем дополнительное условие отбора: определим ящики, в которые не смотрели последние 70 дней (но смотрели когда-либо вообще).<br />
<span style="color: #0000ff;">get-mailbox -organizationalUnit &laquo;libertine.su/Disabled Users&raquo; | <span style="color: #0000ff;"><strong>Get-MailboxStatistics | Where {($_.LastLogonTime -lt (get-date).adddays (-70)) -and ($_.LastLogonTime -gt (get-date).adddays (-900))}</strong></span>| Get-MailboxPermission | ...</span></p>
<p>Впринципе, для завершения расследования происходящего, осталось лишь определить ящики, с которых стоит пересылка корреспонденции. Разумеется, с выводом ящика и адрес для пересылки.<br />
<span style="color: #0000ff;">get-mailbox -organizationalUnit &laquo;libertine.su/Disabled Users&raquo; | Where {$_.ForwardingAddress -ne $null} | Format-List DisplayName,ForwardingAddress</span></p>
<p>Комбинируя вышеперечисленные команды, можно, например, легко вывести прямых кандидатов на превращение старого почтового ящика в дополнительный smtp адрес для ящика ныне работающего сотрудника. Кстати, в этом примере рекомендую обратить внимание на двойное использование команды <em>get-mailbox</em>:<br />
<span style="color: #0000ff;">get-mailbox -organizationalUnit &laquo;libertine.su/Disabled Users&raquo; | Where {$_.ForwardingAddress -ne $null} | Get-MailboxStatistics | Where {($_.LastLogonTime -lt (get-date).adddays (-70)) -and ($_.LastLogonTime -gt (get-date).adddays (-900))} | get-mailbox | Format-List DisplayName,ForwardingAddress</span></p>
<p>Да, и еще: старые ящики, даже если  ими периодически пользуются, рекомендуется перенести в отдельную почтовую базу, т.к. это даст определенный выигрыш в скорости доступа для активных пользователей. После создания самой новой базы почтовых ящиков, остальное сделать несложно:<br />
<span style="color: #0000ff;">get-mailbox -organizationalUnit &laquo;libertine.su/Disabled Users&raquo; | Move-Mailbox -TargetDatabase &laquo;OldMailboxesDB&raquo;</span></p>
<p>Главное, при переносе помнить о том, что в Exchange 2007 процесс совершается от имени администратора путем последовательного копирования всех сообщений. То есть, время последнего доступа к ящику будет установлено в текущее.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Ng-_wgH33HYGxGONliG8lUXJRO8/0/da"><img src="http://feedads.g.doubleclick.net/~a/Ng-_wgH33HYGxGONliG8lUXJRO8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Ng-_wgH33HYGxGONliG8lUXJRO8/1/da"><img src="http://feedads.g.doubleclick.net/~a/Ng-_wgH33HYGxGONliG8lUXJRO8/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/MicrosoftWay/~4/irRdIbh6juQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.microsoft-way.ru/problema-staryx-uchetnyx-zapisej-chast-vtoraya/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.microsoft-way.ru/problema-staryx-uchetnyx-zapisej-chast-vtoraya/</feedburner:origLink></item>
		<item>
		<title>Проблема старых учетных записей в AD</title>
		<link>http://feedproxy.google.com/~r/MicrosoftWay/~3/77fkjzJ_ER0/</link>
		<comments>http://www.microsoft-way.ru/problema-staryx-uchetnyx-zapisej-v-ad/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 20:05:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AD]]></category>

		<category><![CDATA[управление пользователя]]></category>

		<category><![CDATA[запрет листинга старых учетных записей]]></category>

		<category><![CDATA[старые учетные записи]]></category>

		<category><![CDATA[управление учетными записями]]></category>

		<guid isPermaLink="false">http://www.microsoft-way.ru/?p=143</guid>
		<description><![CDATA[Как происходит типичный процесс создания нового доменного пользователя, в связи с наймом на работы нового сотрудника:

Выбирается доменный пользователь, максимально схожий по должности с принимаемым на работу
Путем копирования создается новый доменный пользователь
Для нового пользователя заводится почтовый ящик и т.д.

Какие типовые сценарии обычно выполняются при увольнения сотрудника:

Для учетной записи пользователя меняется пароль.


к почтовому ящику увольняющегося пользователя дается [...]]]></description>
			<content:encoded><![CDATA[<p>Как происходит типичный процесс создания нового доменного пользователя, в связи с наймом на работы нового сотрудника:</p>
<ul>
<li>Выбирается доменный пользователь, максимально схожий по должности с принимаемым на работу</li>
<li>Путем копирования создается новый доменный пользователь</li>
<li>Для нового пользователя заводится почтовый ящик и т.д.</li>
</ul>
<p>Какие типовые сценарии обычно выполняются при увольнения сотрудника:</p>
<ol>
<li>Для учетной записи пользователя меняется пароль.</li>
<li>
<ul>
<li>к почтовому ящику увольняющегося пользователя дается доступ сотруднику, принимающему дела</li>
<li>вся деловая переписка архивируется и архив затем подключается к почтовому клиенту сотрудника, принимающего дела увольняющегося коллеги</li>
</ul>
</li>
<li>
<ul>
<li>с почтового ящика увольняющегося пользователя ставится пересылка всей входящей корреспонденции на адрес коллеги, принимающего дела</li>
<li>почтовый smtp адрес переназначается с ящика увольняющегося сотрудника на ящик сотрудника, принимающего дела</li>
</ul>
</li>
</ol>
<p>Причем, надо отметить, если при приеме на работу, в целом, сценарии всегда одинаковы. То при увольнении могут отличаться совершенно разительно. Это может быть обусловлено необходимость дать доступ к архиву почты нескольким пользователям, что порождает действия, противоречащие обычному регламенту. А может быть обусловлено и простым отсутствием самих четких регламентов.</p>
<p><span id="more-143"></span>Таким образом, при солидном размере организации и ненулевой текучести кадров, с течением времени в Active Directory накапливается масса записей о пользователях, которые уже давно не работают в организации. Но, поскольку к учетным записям могут быть привязаны почтовые ящики, нет уверенности в том, можно ли их хотя бы сделать неактивными, не говоря уже об удалении.</p>
<p>При этом, вполне разумно, что хотелось бы ограничить видимость данных учетных записей. Как в адресной книге почтового клиента, так и в общем списке доступа в домене. Ну в самом деле, непорядок, что при каждом назначении прав на объект среди пользователей и групп домена видны записи, которым заведомо уже давно ничего не нужно.</p>
<p>Но сначала предположим, что отсутствие порядка в голове и лень довела нас до того, что у нас даже нет представления, где и как искать записи уволенных сотрудников. Точнее, как понять, что запись сотрудника давно неактивна.<br />
Ладно, вспомним то, ранее проделывали для <a href="http://www.microsoft-way.ru/problema-staryx-rabochix-stancij-v-ad/">избавления домена от несуществующих рабочих станций</a>. По аналогии мы можем выяснить данные и для записей пользователей.</p>
<p>Например, для того, чтобы понять, кто из пользователей, находящихся в OU marketing не входил в сеть в течении 6 недель, необходимо выполнить следующий запрос:<br />
 <span style="color: #0000ff;">&#39;dsquery user &laquo;ou=marketing,dc=libertine,dc=su&raquo; -inactive 6 -limit 0&#39;</span></p>
<p>Можно, конечно, точно также сделать запрос о просроченных паролях на вход.<br />
 <span style="color: #0000ff;">&#39;dsquery computer &laquo;ou=marketing,dc=libertine,dc=su&raquo; -stalepwd 61 -limit 0&#39;</span><br />
Но это даст очень много ложных срабатываний, если в домене нет ограничения на срок действия пароля пользователя. Или же персонально для какой-либо учетной записи задано свойство <em>&laquo;password newer expires&raquo;</em>. Поэтому предыдущий способ все же надежнее.</p>
<p>Ок, предположим, мы получили список записей о пользователях домена, которые давным давно не выполняли вход. Но что нам это дает?</p>
<ul>
<li>Если к ящику пользователя для кого-либо назначен доступ, удалять данную учетную запись нельзя</li>
<li>Если к ящику пользователя кому-либо дан доступ, но это уже давно не актуально, запись пользователя можно удалить</li>
<li>Если в организации используется какая-либо система, хранящая некие данные, основанные на доменных записях пользователей (например, CRM), удалять учетную запись пользователя крайне нежелательно.</li>
</ul>
<p>Ладно, предлагаю решать проблемы по порядку.<br />
Для начала предлагаю перенести все записи неактивных пользователей в отдельный OU. Для этого создадим новый OU old users в корне домена и этого напишем командный сценарий:<br />
<span style="color: #0000ff;">@echo off<br />
for /F &laquo;delims=&raquo; %%a in (&#39;dsquery user &laquo;ou=marketing,dc=libertine,dc=su&raquo; -inactive 6 -limit 0&#39;) dsmove %%a -newparent &laquo;ou=old users,dc=libertine,dc=su&raquo;<br />
pause</span></p>
<p>Теперь если для данного OU мы не разрешим получать список (листинг содержимого) данного OU никому, кроме контроллеров домена, почтовых серверов и учетных записей администраторов предприятия, то получим ровно ожидаемый эффект.<br />
Таким образом, обычный пользователь домена при запросе к LDAP серверу (например, в диалоге назначения прав на некий объект) не получит в общем списке пользователей домена указанные записи уволенных пользователей.<br />
Одновременно, нет никаких проблем для пересылки входящей корреспонденции или работы с ранее подключенными почтовыми ящиками уволенных пользователей (т.к. права на чтение содержимого вышеуказанного OU есть у всех).</p>
<p>А продолжение я напишу в следующем посте <img src='http://www.microsoft-way.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>

<p><a href="http://feedads.g.doubleclick.net/~a/SYcWRylQekK6G0tCFatnmlmVzTQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/SYcWRylQekK6G0tCFatnmlmVzTQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/SYcWRylQekK6G0tCFatnmlmVzTQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/SYcWRylQekK6G0tCFatnmlmVzTQ/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/MicrosoftWay/~4/77fkjzJ_ER0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.microsoft-way.ru/problema-staryx-uchetnyx-zapisej-v-ad/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.microsoft-way.ru/problema-staryx-uchetnyx-zapisej-v-ad/</feedburner:origLink></item>
	</channel>
</rss>

