Что такое сервер Nano?

Сервер Nano представляет собой новый вариант установки Windows Server версии vNext, который обеспечивает минимальный набор базовых компонентов сервера Windows. Возможно, значительно меньший, чем даже вариант Server Core. Это стало возможным благодаря реорганизации исходного кода операционной системы, а акцент в его применении делается на два основных сценария:

  • созданные в «облаке» приложения;
  • «облачная» платформа Hyper-V и масштабируемые файловые серверы File.

Что касается других сценариев, то для них следует продолжать использовать Server Core.

Вариант сервера Nano выбирается во время установки Windows (из других вариантов, которыми являются Server Core и Server с использованием графического интерфейса), и весь набор компонентов графического интерфейса удаляется вместе с другими компонентами. Функции RDP или локальной регистрации при развертывании в варианте сервера Nano не предусмотрено. Вместо этого управление осуществляется через WMI и PowerShell. Вот некоторые ключевые показатели для сравнения варианта сервера Nano с развертыванием варианта Windows Server:

  • размер VHD ниже на 93%;
  • на 92% меньше критических исправлений;
  • на 80% меньше перезагрузок.

Можно ли добавлять функции после создания сервера Nano?

Теоретически да, но сейчас это делать не очень удобно. Надеюсь, что через некоторое время ситуация изменится. Дело в том, что двоичные и языковые файлы являются отдельными файлами типа cabs. Вы идеале вам следовало бы создать образ сервера Nano с нужными функциями. Если вам необходимо добавить функции к существующему серверу Nano, лучше всего создать файл ответов и передать его утилите DISM. О том, как это сделать для IIS, рассказано в статье по адресу: https://msdn.microsoft.com/en-us/library/mt627783.aspx. Однако делать это следует только в исключительных случаях. Особенность сервера Nano в том, что он создается однократно и вы не тратите время на его перенастройку. Вы удаляете его и создаете новый сервер, как описано в статье по адресу: http://windowsitpro.com/windows/pets-and-cattle-methods-deploying-cloud-services.

Я хочу настроить экземпляр своего сервера Nano под конкретные требования во время его первоначального запуска. Что я могу сделать?

Параметры, с которыми вы работаете в New-NanoServerImage, на самом деле приводят к созданию файла unattend.xml на VHD, который используется в процессе специализации при применении настроек. После создания VHD вы можете смонтировать этот файл и отредактировать unattend.xml, прежде чем запускать виртуальную машину. Показанный ниже код PowerShell монтирует VHD и открывает unattend.xml в блокноте, поэтому вы можете выполнить редактирование. Затем можно размонтировать VHD.

$NanoVHDPath =
"D:\VMs\NanoVM2\NanoServerVM.vhd"
      $VHDMount = Mount-VHD -Path
      $NanoVHDPath -Passthru
      $DriveLetter = $VHDMount | Get-Disk |
       Get-Partition | Get-Volume |
      Select-Object
      -ExpandProperty DriveLetter
      $UnattendFile = $DriveLetter +
      ":\Windows\Panther\Unattend.xml"
      notepad $UnattendFile #add 
      Central Standard Time
       before
       in oobeSystem
      Dismount-VHD -Path $NanoVHDPath

Кроме того, вы можете автоматизировать добавление содержимого XML в файл unattend.xml, используя PowerShell.

Приведенный ниже код добавляет временную зону на VHD для моего сервера Nano. Вы можете модифицировать его для выполнения любых других изменений, которые захотите внести. Подробную информацию об изменении XML при помощи PowerShell можно найти в статье по адресу: windowsitpro.com/windows/add-elements-xml-using-powershell.

$NanoVHDPath = "D:\VMs\NanoVM2\
   NanoServerVM.vhd"
         $VHDMount = Mount-VHD -Path
         $NanoVHDPath -Passthru
         $DriveLetter = $VHDMount | Get-Disk
         | Get-Partition | Get-Volume |
         Select-Object -ExpandProperty
         DriveLetter
         $UnattendFile = $DriveLetter +
         ":\Windows\Panther\Unattend.xml"
        
         $xml = [xml](gc $UnattendFile)
         $child =
         $xml.CreateElement
         ("TimeZone",
         $xml.unattend.
         NamespaceURI)
         $child.InnerXml =
         "Central Standard Time"
         $null = $xml.unattend.
         settings.Where{
         ($_.Pass -eq
         'oobeSystem')}
         .component.appendchild
         ($child)
        
         $xml.Save
         ($UnattendFile)
         Dismount-VHD
         -Path $NanoVHDPath

Как мне изменить временную зону сервера Nano в Windows Server 2016?

Временная зона может быть настроена посредством файла unattend.xml на виртуальном диске VHD сервера Nano, который создается до запуска виртуальной машины, а добавление желаемой временной зоны в раздел oobeSystem осуществляется до блока . Например, добавление

Central Standard Time<
   /TimeZone>

выполняется так:


  
   
     
     asdfasdfAA==
     false</PlainText>
     </AdministratorPassword>
   </UserAccounts>
   <TimeZone>Central Standard Time
   </TimeZone>
  </component>
</settings></pre>
<p>
  Другой подход состоит в том, что при запуске виртуальной машины, обеспечивающей активацию режима удаленного управления, необходимо использовать утилиту tzutil для настройки желаемой временной зоны. Я подсоединился к виртуальной машине своего сервера Nano, а затем изменил временную зону:</p>
<pre class="codeblock" style="margin-left: 40px; ">
PS D:\NanoTP4>
   Enter-PSSession -ComputerName NanoVM
                             
         [NanoVM]: PS C:\Users\Administrator\
         Documents>
         [NanoVM]: PS C:\Users\Administrator\
         Documents> tzutil /g
         Pacific Standard Time
         [NanoVM]: PS C:\Users\Administrator\
         Documents> tzutil /s
         "Central Standard Time"
                             
         [NanoVM]: PS C:\Users\Administrator\
         Documents> tzutil /g
         Central Standard Time

         [NanoVM]: PS C:\Users\Administrator\
         Documents> exit
</pre>
<p>
  Теперь я могу видеть свою новую временную зону (см. экран 1).</p>
<p>
   </p>
<table align="center" border="0" class="imgTemplate" style="width: 150px; ">
  <tbody>
    <tr>
      <td>
        <img alt="Просмотр временной зоны на сервере Nano" src="/FileStorage/ARTICLE/Windows_IT_Pro_RE/2016-02/02_16/13183549/Windows_IT_Pro_RE_50_(4275).jpg" /></td>
    </tr>
    <tr>
      <td>
        <strong>Экран 1. Просмотр временной зоны на сервере Nano</strong></td>
    </tr>
  </tbody>
</table>
<h3>
  Я получаю сообщения об ошибках от утилиты DISM, когда пытаюсь создать файл VHD для сервера Nano. Что предпринять?</h3>
<p>
  Если ошибки есть, то будет указан файл журнала, в котором дается больше информации о конкретном виде ошибки. Вероятнее всего, если вас извещают об ошибках, то вы пытаетесь работать на системе, которая не является Windows Server 2016, и ее DISM не понимает параметры сервера Nano. Убедитесь, что вы используете компьютер с Windows 10 или хост Windows Server 2016 для создания образов сервера Nano.</p>
<h3>
  Я не вижу варианта установки сервера Nano для Windows Server 2016. Как мне установить сервер Nano?</h3>
<p>
  Windows Server 2016 имеет три варианта развертывания: сервер с рабочим столом Server with Desktop Experience, основные серверные компоненты Server Core и специализированный сервер Nano Server. Server with Desktop Experience и Server Core доступны в качестве вариантов установки, но Nano Server недоступен, поскольку создан для модели массового развертывания, в которой применяется какой-либо автоматизированный метод развертывания. Образ сервера нужно подстроить под требования и активировать функции (ни одна из них не включена по умолчанию), необходимые для функционирования сервера. Материалы проектирования сервера Nano можно найти в папке NanoServer на носителе Windows Server 2016. У Microsoft есть отличная статья по адресу: https://technet.microsoft.com/en-us/library/mt126167.aspx. В ней рассматривается все, что необходимо знать для проектирования собственного виртуального или физического сервера Nano. Приведу код PowerShell, который я использовал для создания своего сервера:</p>
<pre class="codeblock" style="margin-left: 40px; ">
$adminPass = ConvertTo-SecureString
   "Pa55word" -AsPlainText -Force

      Import-Module &#39;S:\OS Images\
      Windows Server 2016 TP4\NanoServer\
      NanoServerImageGenerator.psm1&#39;

            New-NanoServerImage -MediaPath
            &#39;S:\OS Images\Windows Server 2016
             TP4&#39; `
                  -BasePath .\Base -TargetPath .\
                  NanoServerVM.vhd -ComputerName
                  NanoVM `
                  -GuestDrivers -Storage -Defender
                  -Compute -EnableRemote
                  ManagementPort `
                  -AdministratorPassword
                  $adminPass -DomainName
                  savilltech #-ReuseDomainNode</pre>
<p>
  Обратите внимание, что в данном примере я настраиваю простой пароль, для того чтобы избежать участия пользователя. Я скопировал два нужных файла в папку, которая является моей текущей рабочей папкой (как и сказано в статье Microsoft). Затем я создаю новый VHD для Nano, у которого есть система хранения, антивирусная программа, вычислительный модуль (Hyper-V), гостевые драйверы для Hyper-V, включенный режим удаленного управления и подключение с моим локальным доменом. Я запускаю этот код PowerShell на хосте Windows Server 2016, который является членом домена, к которому я подсоединяю сервер Nano. В документе Microsoft содержится детальная информация об использовании команды djoin, если хост не является частью домена, к которому вы хотите подсоединить сервер Nano.</p>
<p>
  Указанный выше код PowerShell создает виртуальный диск VHD типа Generation 1, который я впоследствии использую для создания виртуальной машины. После запуска экземпляр подсоединен к домену и будет использовать DHCP. Вы также можете выполнить базовую настройку параметров IP и системы управления сетевым экраном с помощью консоли сервера Nano (см. экран 2).</p>
<p>
   </p>
<table align="center" border="0" class="imgTemplate" style="width: 150px; ">
  <tbody>
    <tr>
      <td>
        <img alt="Консоль сервера Nano" src="/FileStorage/ARTICLE/Windows_IT_Pro_RE/2016-02/02_16/13183549/Windows_IT_Pro_RE_51_(2787).jpg" /></td>
    </tr>
    <tr>
      <td>
        <strong>Экран 2. Консоль сервера Nano</strong></td>
    </tr>
  </tbody>
</table>
<p>
   </p>
										
										<div class='likes-block'>
	    <script type="text/javascript" src="http://platform.twitter.com/widgets.js" async></script>
    <script type="text/javascript" async>
        document.write(
        	'<a href="http://twitter.com/share" class="twitter-share-button" data-text="Вопросы о сервере Nano" data-url="http://www.osp.ru/winitpro/2016/02/13048339/" data-count="horizontal">Tweet</a>'
    	);
    </script>
	<!-- 
	<div class='google-plus'>
		<g:plusone size="medium"></g:plusone>
	</div>
	 -->
	<div class='fb-like'>
		<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.osp.ru%2Fwinitpro%2F2016%2F02%2F13048339%2F&amp;layout=standard&amp;show_faces=true&amp;width=300&amp;action=like&amp;font&amp;colorscheme=light&amp;height=30" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:100%; height:30px;" allowTransparency="true">
		</iframe>
	</div>
	<!-- 
    <div class="vklike_wrap">
    	<div id="vk_like" class="vklike"></div>
	</div>
	 -->
	<script src="//vk.com/js/api/openapi.js?122" type="text/javascript"></script>
	<script type="text/javascript">
		VK.init({apiId: 5555129, onlyWidgets: true});
	</script>
	<div id="vk_like"></div>
	<script type="text/javascript">
		VK.Widgets.Like("vk_like", {type: "button"});
	</script>
</div>



<!-- google plus -->
<!-- 
<script type="text/javascript">
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/assets/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>
 -->

<!-- VK -->
<!-- 
<script type="text/javascript" src="//vk.com/assets/js/api/openapi.js?116"></script>
 -->
<!-- 
<script type="text/javascript">
  VK.init({apiId: 4653947, onlyWidgets: true});
</script>
 -->
<!-- 
<script type="text/javascript" async>
	$(function(){ 
		VK.Widgets.Like(
			"vk_like", 
			{
				type: "mini", 
				pageUrl: ""
			}
		); 
	});
</script>
 -->

									
					<!-- Купить номер с этой статьей -->
																<div style='padding-left: 1px;padding-bottom: 20px;padding-top: 10px;
						'>
							<a class='pdf-link' href="/store/winitpro/2016/02/">Купить номер с этой статьей в PDF</a>
						</div>
									</div>
				<br><br>
									<div style=''>
						<!-- Банер для десктопов -->
																			<div class='a_bc_wrapper hide-on-mobile'>
								<script async type='text/javascript' src='//s.luxadv.com/t/common_3.js'></script>
<script class='__lxGc__' type='text/javascript'>
((__lxGc__=window.__lxGc__||{'s':{},'b':0})['s']['_205442']=__lxGc__['s']['_205442']||{'b':{}})['b']['_603754']={'i':__lxGc__.b++};
</script>							</div>
											</div>
					<!-- End банер для десктопов -->

					<!-- Банер для мобил -->
																<div class='a_bc_wrapper mobile-only'>
							<!-- R-11261-2 Яндекс.RTB-блок  -->
<div id="yandex_ad_R-11261-2"></div>
<script type="text/javascript">
    (function(w, d, n, s, t) {
        w[n] = w[n] || [];
        w[n].push(function() {
            Ya.Context.AdvManager.render({
                blockId: "R-11261-2",
                renderTo: "yandex_ad_R-11261-2",
                async: true
            });
        });
        t = d.getElementsByTagName("script")[0];
        s = d.createElement("script");
        s.type = "text/javascript";
        s.src = "//an.yandex.ru/system/context.js";
        s.async = true;
        t.parentNode.insertBefore(s, t);
    })(this, this.document, "yandexContextAsyncCallbacks");
</script>						</div>
										<!-- End Банер для мобил -->
								<br><br>
								<br><br>
								<div id="disqus_thread"></div>
				<script type="text/javascript">
					/* * * CONFIGURATION VARIABLES * * */
					var disqus_shortname = 'ospru';

					/* * * DON'T EDIT BELOW THIS LINE * * */
					(function() {
						var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
						dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
						(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
					})();
				</script>
				<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
				
									<!-- Банер для десктопов -->
																<div class='a_ac_wrapper hide-on-mobile'>
							<!-- Яндекс.Директ -->
<div id="yandex_ad"></div>
<script type="text/javascript">
(function(w, d, n, s, t) {
    w[n] = w[n] || [];
    w[n].push(function() {
        Ya.Direct.insertInto(11261, "yandex_ad", {
            ad_format: "direct",
            font_size: 0.9,
            type: "horizontal",
            limit: 3,
            title_font_size: 1,
            links_underline: true,
            site_bg_color: "FFFFFF",
            header_bg_color: "FEEAC7",
            title_color: "0000CC",
            url_color: "006600",
            text_color: "000000",
            hover_color: "0066FF",
            sitelinks_color: "0000CC",
            favicon: true,
            no_sitelinks: false
        });
    });
    t = d.getElementsByTagName("script")[0];
    s = d.createElement("script");
    s.src = "//an.yandex.ru/system/context.js";
    s.type = "text/javascript";
    s.async = true;
    t.parentNode.insertBefore(s, t);
})(window, document, "yandex_context_callbacks");
</script>						</div>
										<!-- End Банер для десктопов -->

					<!-- Банер для мобил -->
																<div class='a_bc_wrapper mobile-only'>
							Рекламный код для банера, расположенного на странице статьи в нижней части непосредственно ПОСЛЕ комментария на мобильной версии сайта						</div>
										<!-- End Банер для мобил -->
				
			</div> <!--end article-full -->

			
		</div> <!--end left-wide-column -->
		<div class='right-column'>
			<!--<div class='rightsidebar-baner'>
	</div>-->


<div class="modal fade" id='subscribeModal'>
    <div class="modal-dialog" style='margin-top:100px;'>
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                        aria-hidden="true">&times;</span></button>
                <h4 class="modal-title"></h4>
            </div>
            <div class="modal-body">
                <p>

                </p>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-info" data-dismiss="modal">Закрыть</button>
            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->


<div class="panel panel-default">
    <div class="panel-body">
        <form class="footer-subscribe-form" style="margin:0px" id='addToMaillistForm'>
            <div class="input-group">
                                    <input type='hidden' name='magazineID' value='5'>
                
                
                <input type='hidden' name='magazineName' value='Windows IT Pro/RE'>
                <input type='hidden' name='subscribeFor' value='Анонс содержания'>

                                    <input type="text" name="email" required="" style="font-size: 12px" class="form-control"
                           placeholder="Новости на email">
                    
                <span class="input-group-btn">
					<button type="button" id="addToMaillist" class="btn btn-success btn-custom"
                            style="background-color: #3398df;border-color:#3398df ;">
                        Подписаться
                    </button>
				</span>
            </div>
            <div class="alert alert-info messages-place" style="display: none;margin:0px;margin-top:20px"></div>
        </form>
    </div>
</div>


<script type="text/javascript">
    function addToMailList(button) {
        var data = $('#addToMaillistForm').serialize();

        $.ajax({
                url: '/ajax/addToMaillist',
                dataType: 'json',
                type: 'post',
                data: data,
            })
            .done(
                function (data, textStatus, jqXHR) {
                    if (data.status == 'err') {
                        $('#subscribeModal .modal-body').html('<p>' + data.errorMessage + '</p>');
                        $('#subscribeModal').modal();
                        // console.log(data.errorMessage);
                    } else if (data.status == 'OK') {
                        $('.panel-body').html(data.html);
                    }
                    console.log(data);
                })
            .fail(
                function (jqXHR, textStatus, errorThrown) {
                    alert('Ошибка!! См. консоль.');
                    console.log(textStatus);
                    console.log(jqXHR);
                    console.log(errorThrown);
                });
        console.log(data);
    }
</script>


<div class='rightsidebar-baner' style='margin-top:0px'>
    <!--  AdRiver code START. Type:extension Site: OSP BN:1 -->
<script type="text/javascript">
(function(L){if(typeof(ar_cn)=="undefined")ar_cn=1;
var S='setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);',
    j=' type="text/javascript"',t=0,D=document,n=ar_cn;L='' + ('https:' == document.location.protocol ? 'https:' : 'http:') + ''+L+escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999);
function _(){if(t++<100){var F=D.getElementById('ar_container_'+n);
    if(F){try{var d=F.contentDocument||(window.ActiveXObject&&window.frames['ar_container_'+n].document);
    if(d){d.write('<sc'+'ript'+j+'>var ar_bnum='+n+';'+S+'<\/sc'+'ript><sc'+'ript'+j+' src="'+L+'"><\/sc'+'ript>');t=0}
    else setTimeout(_,100);}catch(e){try{F.src="javascript:{document.write('<sc'+'ript"+j+">var ar_bnum="+n+"; document.domain=\""
    +D.domain+"\";"+S+"<\/sc'+'ript>');document.write('<sc'+'ript"+j+" src=\""+L+"\"><\/sc'+'ript>');}";return}catch(E){}}}else setTimeout(_,100);}}
D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_'+ar_cn
    +'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0><\/iframe><\/div><div id="ad_ph_'+ar_cn
    +'" style="display:none;"><\/div>');_();ar_cn++;
})('//ad.adriver.ru/cgi-bin/erle.cgi?sid=122831&bn=1&target=blank&bt=43&pz=0&tail256=');
</script>
<!--  AdRiver code END  --></div>


<div class='sb-last-news'>

		<div class='links-header' style='background:#3398df'>
			Хроника дня
		</div>
	<br>
	<ul class='last-news-list'>
													<h5>
								29 сентября 2016			</h5>
					<li class='last-news-item'>
			<a href="http://www.computerworld.ru/news/Blagodarya-FPGA-uskoritelyam-v-Microsoft-pereveli-vsyu-Vikipediyu-s-angliyskogo-na-ispanskiy-za-dolyu-sekundy"  target='_blank'  >
				Благодаря FPGA-ускорителям в Microsoft перевели всю Википедию с английского на испанский за долю секунды			<!--	<span class='news-time'>
									</span>-->
			</a>
		</li>
											<h5>
								27 сентября 2016			</h5>
					<li class='last-news-item'>
			<a href="http://www.computerworld.ru/news/Katapulta-iskusstvennogo-intellekta"  target='_blank'  >
				«Катапульта» искусственного интеллекта			<!--	<span class='news-time'>
									</span>-->
			</a>
		</li>
							<li class='last-news-item'>
			<a href="http://www.computerworld.ru/news/Microsoft-i-Nissan-podklyuchat-avtomobili-k-oblaku-Azure"  target='_blank'  >
				Microsoft и Nissan подключат автомобили к облаку Azure			<!--	<span class='news-time'>
									</span>-->
			</a>
		</li>
											<h5>
								25 сентября 2016			</h5>
					<li class='last-news-item'>
			<a href="http://www.computerworld.ru/news/Bento-Cloud-pomozhet-RRC-organizovat-distributsiyu-oblachnyh-servisov"  target='_blank'  >
				Bento Cloud поможет RRC организовать дистрибуцию облачных сервисов			<!--	<span class='news-time'>
									</span>-->
			</a>
		</li>
											<h5>
								19 сентября 2016			</h5>
					<li class='last-news-item'>
			<a href="http://www.computerworld.ru/news/Liderom-po-obemu-uchastiya-v-proektah-otkrytogo-koda-na-GitHub-stala-Microsoft"  target='_blank'  >
				Лидером по объему участия в проектах открытого кода на GitHub стала Microsoft			<!--	<span class='news-time'>
									</span>-->
			</a>
		</li>
											<h5>
								9 сентября 2016			</h5>
					<li class='last-news-item'>
			<a href="http://www.computerworld.ru/news/Sluh-Microsoft-namereny-vypustit-sobstvennyy-nastolnyy-PK"  target='_blank'  >
				Слух: В Microsoft намерены выпустить собственный настольный ПК			<!--	<span class='news-time'>
									</span>-->
			</a>
		</li>
											<h5>
								6 сентября 2016			</h5>
					<li class='last-news-item'>
			<a href="http://www.computerworld.ru/news/LG-predstavlyaet-holodilnik-s-prozrachnoy-dvertsey-ekranom-upravlyaemyy-Windows-10"  target='_blank'  >
				LG представляет холодильник с прозрачной дверцей-экраном, управляемый Windows 10			<!--	<span class='news-time'>
									</span>-->
			</a>
		</li>
											<h5>
								30 августа 2016			</h5>
					<li class='last-news-item'>
			<a href="http://www.computerworld.ru/news/-Gadzhety-Lenovo-pod-upravleniem-Android-budut-postavlyatsya-s-ofisnymi-prilozheniyami-Microsoft"  target='_blank'  >
				 Гаджеты Lenovo под управлением Android будут поставляться с офисными приложениями Microsoft			<!--	<span class='news-time'>
									</span>-->
			</a>
		</li>
											<h5>
								29 августа 2016			</h5>
					<li class='last-news-item'>
			<a href="http://www.computerworld.ru/news/V-C-70-poyavyatsya-kortezhi-i-sopostavlenie-s-obraztsom"  target='_blank'  >
				В C# 7.0 появятся кортежи и сопоставление с образцом			<!--	<span class='news-time'>
									</span>-->
			</a>
		</li>
											<h5>
								23 августа 2016			</h5>
					<li class='last-news-item'>
			<a href="http://www.computerworld.ru/news/Obolochka-Microsoft-PowerShell-vypuschena-v-otkrytyh-kodah-i-v-versiyah-dlya-Linux-i-Mac"  target='_blank'  >
				Оболочка Microsoft PowerShell выпущена в открытых кодах и в версиях для Linux и Mac			<!--	<span class='news-time'>
									</span>-->
			</a>
		</li>
			</ul>
		<a href="/news/archive/">Вся хроника &gt;</a>
	</div>


<div class='marketing-vertical'>
		<div  class='marketing-block'>
		<div class='marketing-img-wrap'>
			<a href='http://ad.adriver.ru/cgi-bin/click.cgi?sid=1&bt=21&ad=593944&pid=2429298&bid=4653089&bn=4653089&rnd=751707138'><img src="http://www.osp.ru/netcat_files/1511/1645/original_ibm3.jpg" class='marketing-img'></a>
			<a href='http://ad.adriver.ru/cgi-bin/click.cgi?sid=1&bt=21&ad=593944&pid=2429298&bid=4653089&bn=4653089&rnd=751707138' class='marketing-overlay'>

			</a>
		</div>
		<div class='marketing-text'>
			<h2 class='article-title'>
				<a href="http://ad.adriver.ru/cgi-bin/click.cgi?sid=1&bt=21&ad=593944&pid=2429298&bid=4653089&bn=4653089&rnd=751707138">
					Фундамент облачной разработки				</a>
			</h2>
			<p>Платформа IBM Bluemix предельно упрощает реализацию облачных проектов, чтобы максимально быстро создавать новые сервисы, соответствующие динамично меняющимся требованиям рынка<img alt="" src="http://ad.adriver.ru/cgi-bin/rle.cgi?sid=1&amp;bt=21&amp;ad=593944&amp;pid=2429298&amp;bid=4653089&amp;bn=4653089&amp;rnd=751707138" style="width: 1px; height: 1px;" />.</p>		</div>
        <div class="clearfix"></div>
	</div>
	</div>


<div class='rightsidebar-baner' style='margin-top:0px'>
    <!--  AdRiver code START. Type:extension Site: OSP BN:2 -->
<script type="text/javascript">
(function(L){if(typeof(ar_cn)=="undefined")ar_cn=1;
var S='setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);',
    j=' type="text/javascript"',t=0,D=document,n=ar_cn;L='' + ('https:' == document.location.protocol ? 'https:' : 'http:') + ''+L+escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999);
function _(){if(t++<100){var F=D.getElementById('ar_container_'+n);
    if(F){try{var d=F.contentDocument||(window.ActiveXObject&&window.frames['ar_container_'+n].document);
    if(d){d.write('<sc'+'ript'+j+'>var ar_bnum='+n+';'+S+'<\/sc'+'ript><sc'+'ript'+j+' src="'+L+'"><\/sc'+'ript>');t=0}
    else setTimeout(_,100);}catch(e){try{F.src="javascript:{document.write('<sc'+'ript"+j+">var ar_bnum="+n+"; document.domain=\""
    +D.domain+"\";"+S+"<\/sc'+'ript>');document.write('<sc'+'ript"+j+" src=\""+L+"\"><\/sc'+'ript>');}";return}catch(E){}}}else setTimeout(_,100);}}
D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_'+ar_cn
    +'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0><\/iframe><\/div><div id="ad_ph_'+ar_cn
    +'" style="display:none;"><\/div>');_();ar_cn++;
})('//ad.adriver.ru/cgi-bin/erle.cgi?sid=122831&bn=2&target=blank&bt=43&pz=0&tail256=');
</script>
<!--  AdRiver code END  --></div>

<div class='links-wrapper'>
		<div class='links-header' style='background:#3398df'>
		Самое читаемое	</div>
		<noindex>
		<div class='links-items'>
			<ul>
								<li class='link-item'>
																			<a href="/winitpro/2016/08/13050079/" rel='nofollow'>
						Органическая ИТ-платформа SharePoint					</a>
								</li>
								<li class='link-item'>
																			<a href="/winitpro/2016/07/13049928/" rel='nofollow'>
						Методы проверки подлинности Windows 10					</a>
								</li>
								<li class='link-item'>
																			<a href="/winitpro/2016/09/13050298/" rel='nofollow'>
						Предотвращение потери данных для SharePoint локально и в сети					</a>
								</li>
								<li class='link-item'>
																			<a href="/winitpro/2016/09/13050297/" rel='nofollow'>
						Основная инфраструктура SharePoint 2016					</a>
								</li>
								<li class='link-item'>
																			<a href="/winitpro/2016/09/13050296/" rel='nofollow'>
						Решение проблем с производительностью средствами Query Store					</a>
								</li>
								<li class='link-item'>
																			<a href="/winitpro/2016/09/13050295/" rel='nofollow'>
						Совместное использование зарегистрированных записей сервера в среде SQL Server Management Studio					</a>
								</li>
							</ul>
		</div>
	</noindex>
</div>


<div class='rightsidebar-baner' style='margin-top:0px'>
    <!--  AdRiver code START. Type:extension Site: OSP BN:3 -->
<script type="text/javascript">
(function(L){if(typeof(ar_cn)=="undefined")ar_cn=1;
var S='setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);',
    j=' type="text/javascript"',t=0,D=document,n=ar_cn;L='' + ('https:' == document.location.protocol ? 'https:' : 'http:') + ''+L+escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999);
function _(){if(t++<100){var F=D.getElementById('ar_container_'+n);
    if(F){try{var d=F.contentDocument||(window.ActiveXObject&&window.frames['ar_container_'+n].document);
    if(d){d.write('<sc'+'ript'+j+'>var ar_bnum='+n+';'+S+'<\/sc'+'ript><sc'+'ript'+j+' src="'+L+'"><\/sc'+'ript>');t=0}
    else setTimeout(_,100);}catch(e){try{F.src="javascript:{document.write('<sc'+'ript"+j+">var ar_bnum="+n+"; document.domain=\""
    +D.domain+"\";"+S+"<\/sc'+'ript>');document.write('<sc'+'ript"+j+" src=\""+L+"\"><\/sc'+'ript>');}";return}catch(E){}}}else setTimeout(_,100);}}
D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_'+ar_cn
    +'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0><\/iframe><\/div><div id="ad_ph_'+ar_cn
    +'" style="display:none;"><\/div>');_();ar_cn++;
})('//ad.adriver.ru/cgi-bin/erle.cgi?sid=122831&bn=3&target=blank&bt=43&pz=0&tail256=');
</script>
<!--  AdRiver code END  --></div>

<div class='sb-events'>
	<div class='links-header' style='background:#3398df'>
		События
	</div>
	<br>
	<ul class='events-list'>
				<li class='event-item'>
						<a href="/events/agenda/events_5950.html/" class='sb-event-link'>
				ClearOne приглашает  28 и 29 сентября 2016 года на обучающий семинар в Москве			</a>
			<span class='sb-event-date'> 
				28 сентября 2016			</span>
		</li>
				<li class='event-item'>
						<a href="/events/agenda/events_5919.html/" class='sb-event-link'>
				III Международная выставка-конференция «Интернет вещей»			</a>
			<span class='sb-event-date'> 
				29 сентября 2016			</span>
		</li>
				<li class='event-item'>
						<a href="www.naviconforum.ru" class='sb-event-link'>
				Navicon. Data Talks форум пройдет в Москве			</a>
			<span class='sb-event-date'> 
				29 сентября 2016			</span>
		</li>
				<li class='event-item'>
						<a href="http://itsmfcon.ru/2016" class='sb-event-link'>
				VII Всероссийская конференция itSMF «Планета ITSM: от проторенных дорог – к новым горизонтам!»			</a>
			<span class='sb-event-date'> 
				4 октября 2016			</span>
		</li>
				<li class='event-item'>
						<a href="/events/agenda/events_5998.html/" class='sb-event-link'>
				DIF 2016: Сonnect!			</a>
			<span class='sb-event-date'> 
				5 октября 2016			</span>
		</li>
			</ul>
</div>
<div class='rightsidebar-baner' style='margin-top:0px'>
    <!--  AdRiver code START. Type:extension Site: OSP BN:4 -->
<script type="text/javascript">
(function(L){if(typeof(ar_cn)=="undefined")ar_cn=1;
var S='setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);',
    j=' type="text/javascript"',t=0,D=document,n=ar_cn;L='' + ('https:' == document.location.protocol ? 'https:' : 'http:') + ''+L+escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999);
function _(){if(t++<100){var F=D.getElementById('ar_container_'+n);
    if(F){try{var d=F.contentDocument||(window.ActiveXObject&&window.frames['ar_container_'+n].document);
    if(d){d.write('<sc'+'ript'+j+'>var ar_bnum='+n+';'+S+'<\/sc'+'ript><sc'+'ript'+j+' src="'+L+'"><\/sc'+'ript>');t=0}
    else setTimeout(_,100);}catch(e){try{F.src="javascript:{document.write('<sc'+'ript"+j+">var ar_bnum="+n+"; document.domain=\""
    +D.domain+"\";"+S+"<\/sc'+'ript>');document.write('<sc'+'ript"+j+" src=\""+L+"\"><\/sc'+'ript>');}";return}catch(E){}}}else setTimeout(_,100);}}
D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_'+ar_cn
    +'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0><\/iframe><\/div><div id="ad_ph_'+ar_cn
    +'" style="display:none;"><\/div>');_();ar_cn++;
})('//ad.adriver.ru/cgi-bin/erle.cgi?sid=122831&bn=4&target=blank&bt=43&pz=0&tail256=');
</script>
<!--  AdRiver code END  --></div>

<div class='links-wrapper'>
		<div class='links-header' style='background:#3398df'>
		Популярные теги	</div>
		<div class='links-items'>
		<div class='hot-topic-tags-sidebar'>
			<ul>
									<li class='hot-topic-item'  ">
						<a href='/winitpro/articles/tag/11012198' style="background-color:#3398df">
							Windows 10						</a>
					</li>
									<li class='hot-topic-item'  ">
						<a href='/winitpro/articles/tag/11006588' style="background-color:#3398df">
							Skype						</a>
					</li>
									<li class='hot-topic-item'  ">
						<a href='/winitpro/articles/tag/11000633' style="background-color:#3398df">
							Office 365						</a>
					</li>
									<li class='hot-topic-item'  ">
						<a href='/winitpro/articles/tag/11013934' style="background-color:#3398df">
							Microsoft Edge						</a>
					</li>
									<li class='hot-topic-item'  ">
						<a href='/winitpro/articles/tag/11000643' style="background-color:#3398df">
							Microsoft Azure						</a>
					</li>
									<li class='hot-topic-item'  ">
						<a href='/winitpro/articles/tag/11002378' style="background-color:#3398df">
							Exchange Server						</a>
					</li>
									<li class='hot-topic-item'  ">
						<a href='/winitpro/articles/tag/11012097' style="background-color:#3398df">
							Dynamics CRM						</a>
					</li>
									<li class='hot-topic-item'  ">
						<a href='/winitpro/articles/tag/11011038' style="background-color:#3398df">
							Bing						</a>
					</li>
								<li class='hot-topic-item last-item'>
					<a href="/winitpro/articles/tags">Все темы</a>
				</li>
			</ul>
		</div>
	</div>
</div>








			
		</div>
	</div>



        
        <div class='clear'></div>
        <footer class="wrapper oh hidden-xs" >
            <div class='video-banner desktop-only' style='margin: 20px auto;width:970px;'>
        <!--  AdRiver code START. Type:extension Site: OSP BN:6 -->
        <script type="text/javascript">
        (function(L){if(typeof(ar_cn)=="undefined")ar_cn=1;
        var S='setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);',
            j=' type="text/javascript"',t=0,D=document,n=ar_cn;L='' + ('https:' == document.location.protocol ? 'https:' : 'http:') + ''+L+escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999);
        function _(){if(t++<100){var F=D.getElementById('ar_container_'+n);
            if(F){try{var d=F.contentDocument||(window.ActiveXObject&&window.frames['ar_container_'+n].document);
            if(d){d.write('<sc'+'ript'+j+'>var ar_bnum='+n+';'+S+'<\/sc'+'ript><sc'+'ript'+j+' src="'+L+'"><\/sc'+'ript>');t=0}
            else setTimeout(_,100);}catch(e){try{F.src="javascript:{document.write('<sc'+'ript"+j+">var ar_bnum="+n+"; document.domain=\""
            +D.domain+"\";"+S+"<\/sc'+'ript>');document.write('<sc'+'ript"+j+" src=\""+L+"\"><\/sc'+'ript>');}";return}catch(E){}}}else setTimeout(_,100);}}
        D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_'+ar_cn
            +'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0><\/iframe><\/div><div id="ad_ph_'+ar_cn
            +'" style="display:none;"><\/div>');_();ar_cn++;
        })('//ad.adriver.ru/cgi-bin/erle.cgi?sid=122831&bn=6&target=blank&bt=43&pz=0&tail256=');
        </script>
        <!--  AdRiver code END  -->
    </div>
        <div class='row'>
        <div class='footer-content'>
            <div class='col-md-12 col-sm-12 this-site-part'>
                <div class='col-md-8 col-md-offset-4 col-sm-12 col-xs-12'>
                    <div class='this-upper-line'>
                                    <a href="/winitpro/" class='this-logo'>
        <img src="/assets/img/new-logo/WP2.png">
    </a>
     
        <ul class='this-socials'>
                <li class='social-item fb'> 
            <a href="https://www.facebook.com/WindowsITProRE/" rel='nofollow' target='_blank'></a>
        </li>
                <li class='social-item vk'> 
            <a href="https://vk.com/club18661021" rel='nofollow' target='_blank'></a>
        </li>
                <li class='social-item tw'> 
            <a href="https://twitter.com/osp_ru" rel='nofollow' target='_blank'></a>
        </li>
            </ul>
                    </div>
                    <div class='this-lower-line'>
                        <nav>
	<ul class='this-menu'>
								<li class='this-menu-item'>
				<a href="/about/info">Об издательстве</a>
			</li>
								<li class='this-menu-item'>
				<a href="/winitpro/about/">Об издании</a>
			</li>
								<li class='this-menu-item'>
				<a href="/support/winitpro">Обратная связь</a>
			</li>
								<li class='this-menu-item'>
				<a href="/about/finding-us">Как нас найти</a>
			</li>
								<li class='this-menu-item'>
				<a href="/about/contacts">Контакты</a>
			</li>
								<li class='this-menu-item'>
				<a href="/about/republication">О републикации</a>
			</li>
								<li class='this-menu-item'>
				<a href="/tags">Теги</a>
			</li>
								<li class='this-menu-item'>
				<a href="/archive-issues/">Архив изданий</a>
			</li>
			</ul>
</nav>
                    </div>
                </div>
            </div>
            <div class='col-md-12' style='padding-bottom: 10px;'>
                <div class='col-md-4 col-sm-12 col-xs-12 partner-part'>
                    <a class='partner-logo' href='http://www.osp.ru'><img src="/assets/img/footer/osp_logo.png"></a>
                    <p class='partner-desc'>
                        «Открытые системы» - ведущее российское издательство, выпускающее широкий спектр журналов для профессионалов и активных пользователей в сфере ИТ, цифровых устройств, телекоммуникаций, медицины и полиграфии, журналы для детей
                    </p>
                    <p class='partner-rights'>
                        © «Открытые системы», 1992-2016. <br> Все права защищены. 
                    </p>
                </div>
                <div class='col-md-8 col-sm-12 osp-part'>
                    <p>
                        Проекты издательства «Открытые системы»
                    </p>
                    <nav>
	<ul class='osp-projects'>
					<li>
								<a href='http://www.computerworld.ru'  target='_blank'>Computerworld Россия</a>
			</li>
					<li>
								<a href='/os'  target='_blank'>Открытые системы.СУБД</a>
			</li>
					<li>
								<a href='/lan'  target='_blank'>LAN</a>
			</li>
					<li>
								<a href='http://www.cio.ru/'  target='_blank'>CIO.RU</a>
			</li>
					<li>
								<a href='/winitpro'  target='_blank'>Windows IT Pro</a>
			</li>
					<li>
								<a href='/pcworld'  target='_blank'>Мир ПК</a>
			</li>
					<li>
								<a href='http://www.dgl.ru'  target='_blank'>DGL.RU</a>
			</li>
					<li>
								<a href='http://www.lvrach.ru'  target='_blank'>Лечащий врач</a>
			</li>
					<li>
								<a href='http://www.publish.ru'  target='_blank'>Publish</a>
			</li>
					<li>
								<a href='http://www.whathifi.com/ru' rel="nofollow" target='_blank'>What Hi-Fi</a>
			</li>
					<li>
								<a href='http://www.classmag.ru'  target='_blank'>Классный журнал</a>
			</li>
					<li>
								<a href='http://www.ponymashka.ru'  target='_blank'>Понимашка</a>
			</li>
			</ul>
</nav>


                    <nav>
	<ul class='osp-centers'>
					<li>
								<a href='/dcworld/'  target='_blank'>Мир ЦОД</a>
			</li>
					<li>
								<a href='http://www.osp.ru/iz/bigdata'  target='_blank'>BIG DATA</a>
			</li>
					<li>
								<a href='http://www.osp.ru/iz/rusnet'  target='_blank'>RUS.NET</a>
			</li>
					<li>
								<a href='http://www.osp.ru/bvideo/'  target='_blank'>Бизнес-Видео</a>
			</li>
					<li>
								<a href='http://www.osp.ru/itsm/'  target='_blank'>ITMF</a>
			</li>
					<li>
								<a href='http://www.osp.ru/iz/smart-company'  target='_blank'>SMART COMPANY</a>
			</li>
					<li>
								<a href='http://www.osp.ru/iz/mscf'  target='_blank'>МСКФ</a>
			</li>
			</ul>
</nav>
                </div>
            </div>
            <div class='col-md-12 col-sm-12 media-info'>
               Средство массовой информации - www.osp.ru. Свидетельство о регистрации СМИ сетевого издания Эл.№ ФС77-62008 от 05 июня 2015 г. Выдано Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзором) 
            </div>
            <div style="position: absolute;right: 20px;bottom: 60px;">

                <!--LiveInternet counter--><script type="text/javascript"><!--
                document.write("<a href='//www.liveinternet.ru/click' "+
                "target=_blank><img src='//counter.yadro.ru/hit?t17.3;r"+
                escape(document.referrer)+((typeof(screen)=="undefined")?"":
                ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth?
                screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+
                ";h"+escape(document.title.substring(0,80))+";"+Math.random()+
                "' alt='' title='LiveInternet: показано число просмотров за 24"+
                " часа, посетителей за 24 часа и за сегодня' "+
                "border='0' width='88' height='31'><\/a>")
                //--></script><!--/LiveInternet-->

                <!-- tns-counter.ru -->
                <script type="text/javascript">
                    var img = new Image();
                    img.src = 'http://www.tns-counter.ru/V13a***R>' + document.referrer.replace(/\*/g,'%2a') + '*osp_ru/ru/CP1251/tmsec=osp_total/';
                </script>
                <noscript>
                    <img src="http://www.tns-counter.ru/V13a****osp_ru/ru/CP1251/tmsec=osp_total/" width="1" height="1" alt="" />
                </noscript>
                <!--/ tns-counter.ru -->

                <script type='text/javascript'>
                    $(function(){
                        $('#code_check').click(function(){
                            var input = $('#action_code'), code = input.val(), link;
                            if(code!='')
                            {
                                postman.drop(
                                    'checkPromoCode',
                                    {
                                        'Code'  : code
                                    },
                                    function(){
                                        if (this.used!='0')
                                        {
                                            input.addClass('invalid').val('Код использован');
                                        }
                                        else if(this.discount.length>0)
                                        {
                                            link = this.discount[0].Code;
                                            link = reverse(link);
                                            window.location.href = "/subscribe/discount/"+link+"/?promo="+code;
                                        }
                                        else if (this.action.length>0)
                                        {
                                            window.location.href='/subscription?promo='+code;
                                        }
                                        else
                                        {
                                            input.addClass('invalid').val('Неверный код');
                                        }
                                    }
                                );
                            }
                        });
                        $('#action_code').focus(function(){
                            $(this).removeClass('invalid');
                            $(this).val('');
                        });
                    });
                </script>
                <!-- Yandex.Metrika counter -->
                <div style="display:none;"><script type="text/javascript">
                        (function(w, c) {
                            (w[c] = w[c] || []).push(function() {
                                try {
                                    w.yaCounter4520146 = new Ya.Metrika({id:4520146,
                                        clickmap:true,
                                        trackLinks:true, trackHash:true, webvisor:true});
                                }
                                catch(e) { }
                            });
                        })(window, "yandex_metrika_callbacks");
                    </script></div>
                <script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript" defer="defer"></script>
                <noscript><div><img src="//mc.yandex.ru/watch/4520146" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
                <!-- /Yandex.Metrika counter -->
     

                                    <!-- start Vibrant Media IntelliTXT script section -->
                 <script type="text/javascript" src="http://osp.ru.intellitxt.com/intellitxt/front.asp?ipid=13644"></script>
                 <!-- end Vibrant Media IntelliTXT script section -->                            </div>
        </div>
    </div>
</footer>
            </body>
</html>