<?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>Argon On-Line Blog &#187; автоматизация</title>
	<atom:link href="http://argon.com.ru/blog/tags/avtomatizatsiya/feed/" rel="self" type="application/rss+xml" />
	<link>http://argon.com.ru/blog</link>
	<description>Очередной блог на WordPress</description>
	<lastBuildDate>Wed, 28 Jul 2010 12:39:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Windows Server 2008: внедрение IPv6 в локальной сети</title>
		<link>http://argon.com.ru/blog/2010/06/ws2008-ipv6-implementation/</link>
		<comments>http://argon.com.ru/blog/2010/06/ws2008-ipv6-implementation/#comments</comments>
		<pubDate>Mon, 28 Jun 2010 21:10:14 +0000</pubDate>
		<dc:creator>Argon</dc:creator>
				<category><![CDATA[Лучшие практики]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[windows server]]></category>
		<category><![CDATA[автоматизация]]></category>

		<guid isPermaLink="false">http://argon.com.ru/blog/?p=430</guid>
		<description><![CDATA[Внедряя протокол IPv6 на своем предприятии, я столкнулся с тем, что для установки и настройки необходимых служб принцип Next-Next-Next не работает, а документации на русском не нашел вообще. Эта статья пошагово расскажет на примере моей инфраструктуры о том, как развернуть IPv6 на предприятии используя стандартные службы DNS и DHCP операционной системы Windows Server 2008 / [...]]]></description>
			<content:encoded><![CDATA[<p>Внедряя протокол IPv6 на своем предприятии, я столкнулся с тем, что для установки и настройки необходимых служб принцип Next-Next-Next не работает, а документации на русском не нашел вообще.</p>
<p>Эта статья пошагово расскажет на примере моей инфраструктуры о том, как развернуть IPv6 на предприятии используя стандартные службы DNS и DHCP операционной системы Windows Server 2008 / 2008 R2.</p>
<p><span id="more-430"></span></p>
<h2>Адресация IPv6</h2>
<p>Как известно, в IPv4 стандартизированы диапазоны &laquo;серых&raquo; адресов для локальных сетей (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), аналогично и в IPv6 для локальных адресов принят диапазон fc00:/7.</p>
<p>Рассмотрим следующую схему адресации IPv6, которая принята для локальных сетей на платформе Windows Server:</p>
<ul>
<li>префикс сети (адрес сети в терминологии IPv4):<br />
<code>fc00:a:b:c::/64</code>,  где a, b, c &mdash; выбирайте на ваше усмотрение из диапазона 0000-ffff, например fc00:10:18:1::/64</li>
<li>адрес хоста в сети<br />
<code>fc00:a:b:c:v:x:y:z</code>, где v, x, y ,z определяют адрес хоста, например</p>
<ul>
<li><code>fc00:10:18:1:feab:01cc:65de:180a</code> &mdash; такой адрес может назначить DHCP-сервер</li>
<li><code>fc00:10:18:1::10</code> &mdash; настроенный вручную более читабельный адрес, например для сервера, который нужно будет указывать руками (:: означает пропуск группы нулей, может использоваться однократно в адресе).</li>
</ul>
</li>
</ul>
<p>На картинке показан пример настроек сервера, на котором далее будет настроена служба DHCPv6.</p>
<div class="ac"><img src="/blog/wp-content/uploads/2010/06/ipv6.png" alt="Диалог настроек IPv6" title="Диалог настроек IPv6" width="545" height="448" /></div>
<h2>Как работает IPv6 совместно с IPv4</h2>
<p>IPv6 замечательно работает совместно с уже развернутой инфраструктурой IPv4 следующим образом:</p>
<ul>
<li>На Windows Server 2008 / 2008 R2 разворачиваются службы DNS и DHCP, поддерживающие IPv6.</li>
<li>Клиенты, поддерживающие IPv6 (Windows Vista, Windows 7), получают настройки от DHCP и регистрируют свои имена в DNS.</li>
<li>Далее при обращении к узлам по DNS-имени в первую очередь идет попытка получить их адреса IPv6 (тип записи AAAA), в случае их отсутствия &mdash; IPv4 (тип записи A).</li>
<li>Клиенты, не поддерживающие IPv6 (Windows Server 2003, Windows XP) продолжают пользоваться старым протоколом IPv4 как раньше.</li>
</ul>
<p>При выборе префикса создаваемой сети IPv6 рекомендую схитрить: если в этой же физической сети располагается IPv4 сеть 10.18.1.0/24, то можно выбрать префикс <code>fc00:10:18:1::/64</code> для сети IPv6.</p>
<h2>Установка и настройка DNS</h2>
<p>Так как адреса IPv6 еще менее человечны, чем в IPv4, то их применение без DNS можно оправдать только с точки зрения садомазохизма. Поэтому в первую очередь необходимо развернуть DNS сервер, поддерживающий IPv6 адреса. Такая поддержка есть в службе DNS начиная с Windows Server 2008.</p>
<p>Все, что нужно сделать &mdash; это сконфигурировать статические IPv6 адреса (например <code>fc00:10:18:1::1</code>) на DNS серверах, включить динамическое обновление записей клиентами (в окружении Active Directory &mdash; безопасное) и передать эти настройки клиентам локальной сети через DHCP, о чем рассказывается далее.</p>
<h2>Установка и настройка DHCPv6</h2>
<p>Протокол IPv6 менее приспособлен для ручных настроек, в отличии от IPv4, поэтому предполагает автоматическое конфигурирование параметров узлов сети через DHCP версии 6. Поддержка DHCPv6 появилась начиная с Windows Server 2008 и является частью стандартной роли DHCP сервера. </p>
<p>Перед установкой DHCP-сервера необходимо сконфигурировать статические адреса IPv6 для сетевых адаптеров, с которых сервер DHCPv6 будет обслуживать своих клиентов. Например, <code>fc00:10:18:1::10</code>.</p>
<p>Теперь можно перейти к установке стандартной роли DHCP. Первая опция, относящаяся к IPv6 называется DHCPv6 Stateless Mode. Её нужно включить, тогда на следующей странице у вас запросят адреса IPv6 DNS серверов и DNS-имя родительского домена.</p>
<p>Если DHCPv6 сервер был установлен с отключенным DHCPv6 Stateless Mode, то включить его можно выполнив команду:</p>
<p><code>netsh int ipv6 set interface InterfaceName other=en</code></p>
<p>и установив опции сервера DHCPv6:</p>
<ul>
<li>00023 DNS Recursive Name Server IPv6 Address ;mdash; адреса IPv6 DNS серверов</li>
<li>00024 Domain Search List ;mdash; DNS-имя родительского домена</li>
</ul>
<p>Теперь нужно создать область, в которой DHCPv6 серверу предстоит выдавать адреса своим клиентам. Особенностью DHCPv6 в Windows Server является то, что можно создать область только для адресов с длиной префикса сети равной 64, например <code>fc00:10:18:1::/64</code>. </p>
<p>На следующей странице предлагается указать область исключений, из которой DHCPv6 сервер не будет выдавать адреса. Так как адреса сервер выдает не по порядку, а псевдослучайным образом (по хитрому алгоритму, основанному на MAC адресе сетевого интерфейса), то область исключений должка включать IPv6 адреса серверов, которые был сконфигурированы вручную (DNS и DHCPv6 сервера). Пример области исключений: <code>0:0:0:1-0:0:0:99</code>.</p>
<p>Казалось бы, осталось только активировать диапазон и авторизовать DHCPv6 сервер в Active Directory. Вскоре сервер начнет выдавать клиентам IPv6 адреса и настройки DNS. Но здесь начинается самое интересное: хоть клиенты эти настойки исправно получают, общаться между собой они не могут. Причем сие печальное поведение на момент написания этой статьи в официальной документации явно не отражено.</p>
<p>Чтобы исправить ситуацию, вызываем на клиенте </p>
<p><code>route print</code></p>
<p>и видим, что клиент не имеет маршрута в сеть fc00:10:18:1::/64.</p>
<p>Вызываем на сервере</p>
<p><code>netsh int ipv6 show route</code></p>
<p>и среди прочего видим:</p>
<table class="TableV">
<tr>
<th>Publish</th>
<th>Type</th>
<th>Met</th>
<th>Prefix</th>
<th>Idx</th>
<th>Gateway/Interface Name</th>
</tr>
<tr>
<td>No</td>
<td>Manual</td>
<td>256 </td>
<td>fc00:10:18:1::/64</td>
<td>10 </td>
<td>Local</td>
</tr>
</table>
<p>Из этого следует, что маршрут в сеть fc00:10:18:1::/64 на сервере DHCPv6 существует, но не опубликован. Для того, чтобы этот маршрут выдавался клиентам, необходимо включить на сервере объявление маршрутов командой</p>
<p><code>netsh int ipv6 set interface <em>Local</em> adv=en man=en other=en</code></p>
<p>и опубликовать маршрут командой</p>
<p><code>netsh int ipv6 add route <em>fc00:10:18:1::/64</em> <em>Local</em> publish=yes</code></p>
<p>где fc00:10:18:1::/64 &mdash; ваш префикс IPv6, Local &mdash; имя или индекс сетевого интерфейса DHCPv6 сервера.</p>
<h2>Полезные ссылки</h2>
<ul>
<li><a href="/goto/blogs.technet.com/teamdhcp/archive/2009/03/03/dhcpv6-understanding-of-address-configuration-in-automatic-mode-and-installation-of-dhcpv6-server.aspx">DHCPv6 &#8211; Understanding of address configuration in automatic mode and installation of DHCPv6 Server</a></li>
<li><a href="/goto/technet.microsoft.com/hi-in/magazine/2007.03.cableguy(en-us).aspx">The Cable Guy / The DHCPv6 Protocol</a></li>
<li><a href="/goto/technet.microsoft.com/hi-in/magazine/2007.03.cableguy(ru-ru).aspx">Кабельщик / Протокол DHCPv6</a></li>
<li><a href="/goto/en.wikipedia.org/wiki/IPv6_address">IPv6 address &mdash; Wikipedia</a></li>
<li><a href="/goto/technet.microsoft.com/en-us/network/bb530961.aspx">IPv6 на TechNet</a></li>
<li><a href="/goto/technet.microsoft.com/en-us/library/cc737586(WS.10).aspx">Introducing IPv6 on Your Network &mdash; материал TechNet из раздела WS2003</a></li>
<li><a href="/goto/technet.microsoft.com/en-us/library/dd379498(WS.10).aspx">IP Version 6 &mdash; скудный материал TechNet из раздела WS2008</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://argon.com.ru/blog/2010/06/ws2008-ipv6-implementation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Выполнение консольных команд на удаленных компьютерах по сети</title>
		<link>http://argon.com.ru/blog/2010/02/execute-shell-commands-on-remote-computers/</link>
		<comments>http://argon.com.ru/blog/2010/02/execute-shell-commands-on-remote-computers/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 21:01:24 +0000</pubDate>
		<dc:creator>Argon</dc:creator>
				<category><![CDATA[Лучшие практики]]></category>
		<category><![CDATA[windows client]]></category>
		<category><![CDATA[windows server]]></category>
		<category><![CDATA[автоматизация]]></category>
		<category><![CDATA[удаленное администрирование]]></category>

		<guid isPermaLink="false">http://argon.com.ru/blog/?p=309</guid>
		<description><![CDATA[В данной статье рассмотрены способы выполнения консольных команд на уделенных компьютерах сети, в качестве примеров даются некоторые очень полезные для системных администраторов команды.

Я использую 2 средства удаленного выполнения консольных команд: <a href="/blog/2010/02/execute-shell-commands-on-remote-computers/#ch1">PsExec</a> и <a href="/blog/2010/02/execute-shell-commands-on-remote-computers/#ch2">WinRM</a>, у каждого из них есть свои преимущества.]]></description>
			<content:encoded><![CDATA[<p>В данной статье рассмотрены способы выполнения консольных команд на уделенных компьютерах сети, в качестве примеров даются некоторые очень полезные для системных администраторов команды.</p>
<p>Я использую 2 средства удаленного выполнения консольных команд: <a href="/blog/2010/02/execute-shell-commands-on-remote-computers/#ch1">PsExec</a> и <a href="/blog/2010/02/execute-shell-commands-on-remote-computers/#ch2">WinRM</a>, у каждого из них есть свои преимущества.</p>
<p><span id="more-309"></span></p>
<h2 id="ch1">PsExec</h2>
<p>Одним из отличных решений поставленной в заголовке задачи является использование программы <a href="/goto/technet.microsoft.com/ru-ru/sysinternals/bb897553.aspx">PsExec</a> от великого <a href="/goto/technet.microsoft.com/ru-ru/sysinternals/default.aspx">Марка Руссиновича</a>.</p>
<p>Программа работает по клиент-серверному принципу: на локальной машине выполняется клиент, который посылает команды серверу на удаленном компьютере. Особенностью этой программы является то, что серверная часть устанавливается автоматически непосредственно перед выполнением команды, а затем удаляется. Таким образом для выполнения команд на удаленных машинах достаточно иметь на них административные права.</p>
<p>Если PsExec запускается от имени администратора, который входит в тот же домен, что и удаленны компьютер, то никаких учетных данных даже вводить не нужно. В противном случае, их можно указать в командной строке, либо PsExec сама их запросит. PsExec работает на ОС начиная с Windows 2000 и заканчивая 64-битным Windows Server 2008 R2.</p>
<p>Очень полезными в PsExec являются следующие возможности:</p>
<ul>
<li><strong>Выполнение команды на группе компьютеров</strong>. Пример: следующая команда позволяет принудительно применить самые свежие групповые политики:<br />
<code>psexec @group.txt gpupdate /force</code>
</li>
<li><strong>Выполнение команд от имени системной учетной записи</strong>. Пример: следующая команда заставит удаленную систему принудительно проверить обновления:<br />
<code>psexec \\computer -s wuauclt /detectnow</code></li>
<li><strong>Копирование выполняемой программы на удаленный компьютер перед выполнением</strong>. Пример: следующая команда позволит обновить членство данного компьютера в группе безопасности Active Directory (токен доступа) без перезагрузки:<br />
<code>psexec \\computer -c -s <a href="/goto/www.microsoft.com/downloads/details.aspx?FamilyID=1581e6e7-7e64-4a2d-8aba-73e909d2a7dc">klist.exe</a> purge</code></li>
</ul>
<p>Трудно переоценить пользу этой программы, если использовать скрипты и возможности консольных команд, встроенных в Windows.</p>
<h2 id="ch2">Windows Remote Management</h2>
<p>Изначально это была серверная технология для удаленного управления оборудованием, которая появилась в Windows Server 2003 R2 как часть компонента Hardware Management, но недавно Microsoft выпустили пакет Windows Management Framework, который включает в себя PowerShell 2.0 и WinRM 2.0 и устанавливается на клиентские ОС как обновление. Подробности можно прочитать в статье <a href="/goto/support.microsoft.com/kb/968929">KB968929</a>.</p>
<p>Прелесть WinRM заключается в простоте развертывания в доменной среде через WSUS в качестве факультативного обновления ОС и мощи, которую даёт совместное с PowerShell применение.</p>
<p>Использование WinRM происходит через 2 команды.</p>
<p><strong>winrm.cmd</strong> служит для конфигурирования настроек и диагностики клиента и сервера WinRM.</p>
<p>Для того, чтобы сервер WinRM начал принимать команды, должна быть запущена служба Windows Remote Management и произведена её начальная конфигурация. Используйте команду</p>
<p><code>winrm quickconfig</code> на локальной машине, либо финт ушами<br />
<code>psexec -s \\servername winrm quickconfig</code> по сети, используя PsExec от имени системной учетной записи.</p>
<p>Будет предложено автоматически запускать службу WinRM и разрешить уделенные подключения, соглашайтесь ;)</p>
<p>Чтобы успешно подключаться к WinRM серверу (имеется в виду серверная часть, принимающая команды), не входящему в тот же домен, что и ваш клиентский компьютер, необходимо на клиенте этот целевой сервер добавить в &laquo;доверенный список&raquo; следующей командой:</p>
<p><code>winrm set winrm/config/client @{TrustedHosts="servername"}</code>, где вместо servername можно указать IP-адрес, либо * (звёздочку).</p>
<p>Для пользователей Windows Vista и Windows 7, работающим не от имени встроенного администратора (обычно так и бывает), нужно выполнить следующую команду</p>
<p><code>reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f</code></p>
<p>По умолчанию, установлено ограничение на 5 одновременных соединений WinRM от клиента, для увеличения этого числа выполните команду</p>
<p><code>winrm s winrm/config/winrs @{MaxShellsPerUser="X"}</code></p>
<p><strong>winrs.exe</strong> &mdash; клиент для отправки запросов к серверной части. Пример: следующая команда  принудительно перезагрузит удаленную систему&#8230;</p>
<p><code>winrs -r:servername shutdown /r /t 0</code></p>
<p>В доменной среде при отправке команд используются учетные данные запустившего пользователя. Для посыла команд от имени другого пользователя используются ключи -u:user -p:pass. Пример: следующая команда очистит локальный кэш DNS-имён на удаленной системе</p>
<p><code>winrs -r:servername -u:user -p:pass ipconfig /flushdns</code></p>
]]></content:encoded>
			<wfw:commentRss>http://argon.com.ru/blog/2010/02/execute-shell-commands-on-remote-computers/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Душевные терзания</title>
		<link>http://argon.com.ru/blog/2010/01/beginning/</link>
		<comments>http://argon.com.ru/blog/2010/01/beginning/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 12:00:26 +0000</pubDate>
		<dc:creator>Argon</dc:creator>
				<category><![CDATA[Размышления]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[автоматизация]]></category>
		<category><![CDATA[движок]]></category>
		<category><![CDATA[контент]]></category>
		<category><![CDATA[оптимизация]]></category>

		<guid isPermaLink="false">http://argon.com.ru/blog/2010/01/%d0%b4%d1%83%d1%88%d0%b5%d0%b2%d0%bd%d1%8b%d0%b5/</guid>
		<description><![CDATA[У меня накопилось много мыслей, которыми я хочу поделиться с инетом, превратив их в контент. Новые мысли я решил публиковать в виде блога, но старый контент сайта тоже полезен. Что же делать с ним? Старый контент сайта обрабатывается моим собственным движком на PHP, этот движок предельно оптимизирован (по последним измерениям в 30 раз быстрее WordPress) [...]]]></description>
			<content:encoded><![CDATA[<p>У меня накопилось много мыслей, которыми я хочу поделиться с инетом, превратив их в контент. Новые мысли я решил публиковать в виде блога, но старый контент сайта тоже полезен. Что же делать с ним?</p>
<p>Старый контент сайта обрабатывается моим собственным движком на PHP, этот движок предельно оптимизирован (по последним измерениям в 30 раз быстрее WordPress) для минимальной нагрузки на сервер и каналы связи, отвечает всем моим желаниям по представлению и организационной структуре контента. Однако, он совершенно не приспособлен для динамического редактирования  контента, не содержит никакой автоматизации по расстановке ссылок, тегов и прочего&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://argon.com.ru/blog/2010/01/beginning/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
