tag:blogger.com,1999:blog-36571641115647961682024-03-13T01:25:35.636-07:00Заметки о системном администрированииDmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.comBlogger14125tag:blogger.com,1999:blog-3657164111564796168.post-8833267535430547112010-10-02T05:32:00.001-07:002010-10-02T05:32:43.459-07:00Хранение учетных данных в скриптах и групповых политиках на примере задачи по смене пароля локального администратора<h2><span class="MsoHyperlink"></span></h2> <h2>Введение</h2> <p><a href="http://lh3.ggpht.com/_hQlyOrWxVDM/TKcmaSQ-XGI/AAAAAAAAAHE/Smln1j7aTtU/s1600-h/clip_image001%5B6%5D.gif"><img style="display: inline; margin-left: 0px; margin-right: 0px" title="clip_image001" hspace="12" alt="clip_image001" align="left" src="http://lh6.ggpht.com/_hQlyOrWxVDM/TKcmaik40hI/AAAAAAAAAHI/39LW1BCWDZY/clip_image001_thumb%5B3%5D.gif?imgmax=800" width="77" height="75" /></a>С точки зрения безопасности пароль локального администратора должен соответствовать следующим требованиям:</p> <p>· быть известным только ограниченному кругу лиц;</p> <p>· обладать достаточной сложностью;</p> <p>· регулярно изменяться.</p> <p>В связи с этим периодически возникает задача централизованной передачи учетных данных на рабочие станции пользователей. Решать данную задачу в домене Active Directory можно как минимум несколькими способами:</p> <p>1) при помощи стартап-скриптов;</p> <p>2) используя предпочтения групповых политик;</p> <p>3) запуском скрипта на выделенном компьютере.</p> <p>Наиболее традиционным способом автоматизации решений подобного рода является использование скриптов. Однако, хранение пароля в открытом виде не очень хорошо с точки зрения безопасности. В этом случае одним из вариантов защиты является кодирование скрипта. К сожалению, этот способ нельзя назвать на 100% безопасным, т.к. закодированные скрипты достаточно легко декодируются в исходное состояние. Об этом и пойдет речь в первом разделе статьи. Во второй части описаны альтернативные способы централизованной смены пароля локального администратора. </p> <h2>Стартап-скрипты</h2> <p>Стартап-скриптов зачастую используется для автоматизированного выполнения задач, требующих административных привилегий, на компьютерах пользователей. Допустим, что перед нами стоит задача привести к единому стандарту пароль локального администратора на части компьютеров домена. </p> <p>Для решения применим скрипт, позаимствованный с блога <a href="http://blogs.technet.com/b/heyscriptingguy/archive/2004/10/15/how-can-i-change-a-user-s-password.aspx">«Hey, Scripting Guy!»</a>, и немного отредактируем его. В итоге получится что-то вроде:</p> <p>strComputer = "."</p> <p>Set objUser = GetObject("WinNT://" & strComputer & "/Administrator,user")</p> <p>objUser.SetPassword "12345-as" '</p> <p>objUser.SetInfo</p> <p>Сам скрипт не идеален. Например, в него можно добавить:</p> <p>1) привязку к SID встроенного администратора (это необходимо если учётная запись была переименована);</p> <p>2) логирование в журнале событий системы;</p> <p>3) отправку оповещений об ошибках выполнения по электронной почте. </p> <p>Однако скрипт нужен нам лишь в качестве примера, поэтому нет смысла усложнять его структуру.</p> <p>Теперь для автоматического изменения пароля администратора нам необходимо:</p> <p>1) создать групповую политику;</p> <p>2) добавить туда наш скрипт в качестве стартап-скрипта (более подробно об этом написано в <a href="http://support.microsoft.com/kb/198642">KB198642</a>);</p> <p>3) прикрепить групповую политику к контейнеру с компьютерами, на которых должен изменяться пароль.</p> <p>При этом следует учитывать, что доступ к этому скрипту будет у любого аутентифицированного пользователя. Как следствие, любой пользователь домена при желании и минимуме технических знаний сможет узнать пароль локального администратора. Причем не только для своей рабочей станции, но и для всех остальных. Это не очень хорошо с точки зрения безопасности.</p> <h3>Кодирование</h3> <p>Для решения данной проблемы мы можем воспользоваться утилитой <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyId=E7877F67-C447-4873-B1B0-21F0626A6329&displaylang=en">Script Encoder</a> от компании Microsoft. Эта утилита позволяет преобразовать vbs-скрипт в формат vbe. В результате, тело скрипта хранится в закодированном виде и это никак не сказывается на возможности его исполнения. Рассмотрим это более подробно на нашем примере:</p> <p>1) Скачиваем установочный файл с сайта Microsoft. </p> <p>2) Распаковываем его. </p> <p>3) В результате получаем несколько файлов. Один из них - нужная нам утилита screnc.exe. Синтаксис использования следующий: </p> <p>SRCENC [switches] inputfile outputfile. </p> <p>Здесь <b>inputfile</b> – исходный vbs-скрипт, <b>outputfile</b> – его зашифрованный аналог, <b>[switches]</b> – необязательные параметры, которые нам не понадобятся. </p> <p>4) В итоге тело скрипта будет иметь вид:</p> <p>«#@~^mQAAAA==dDD/K:aEYD,xPrRE@#@&?nO,W4Ni/DP{~!+Dr(LnmOcrrxgP)JzE~LP/O.;Whw!OD~LPrzb9:bUkkY.lDW.S!/+ME#@#@&W(%i/Dc?nYKCk/AWM[PrF+fW*OCdrPv@#@&G(Lik+MR?Y&U0K@#@&Ly4AAA==^#~@»</p> <p>Полученный vbe-файл можно использовать в качестве стартап-скрипта и он, также как и исходный скрипт, будет менять пароль локального администратора. </p> <h3>Декодирование</h3> <p>Казалось бы теперь учетные данные защищены и системный администратора может спать спокойно. Однако существуют vbs-скрипты, с помощью которых можно легко раскодировать зашифрованный вариант. Пример такого скрипта можно получить по следующему адресу: <a href="http://www.interclasse.com/scripts/decovbe.php">http://www.interclasse.com/scripts/decovbe.php</a>. </p> <p>Для его использования, скопируем код в файл decode.vbs и запустим его из командной строки. В качестве аргумента будет путь и имя закодированного vbe-файла:</p> <p>decode.vbs output.vbe</p> <p>В результате выполнения должно появиться окно, содержащее текст исходного vbs-скрипта. Как следствие учетные данные администратора опять могут стать известны потенциальному злоумышленнику.</p> <h2>Альтернативные варианты</h2> <p>Рассмотрим альтернативные способы решения задачи передачи учетных данных на рабочие станции. К таковым можно отнести:</p> <p>1) Group Policy Preferences;</p> <p>2) централизованное изменение пароля со стороны сервера;</p> <p>3) усложнение структуры скрипта и ограничение доступа к нему.</p> <h3>Group Policy Preferences (GPP)</h3> <p>Предпочтения групповых политик это своего рода замена скриптам в групповых политиках. Данная технология активно рекламируется Microsoft и действительно значительно упрощает работу системного администратора. Изменение пароля локального администратора при помощи GPP довольно подробно описано в статье: «<a href="http://www.frickelsoft.net/blog/?p=116">Change local administrator passwords with Group Policy Preferences</a>». Ключевая мысль этой статьи: «Не рекомендуется изменять пароли локального администратора и сервисных учетных записей при помощи GPP». Связано это с тем, что ни смотря на то, что пароль администратора хранится в зашифрованном виде, для его получения достаточно 256bit AES ключа находящегося на рабочей станции. Таким образом, этот способ также не является безопасным.</p> <h3>Централизованное изменение пароля</h3> <p>Еще одним вариантом изменения пароля является выполнение скрипта не на рабочей станции, а непосредственно на сервере. Пример скрипта для осуществления этого можно найти в статье:</p> <p>«<a href="http://blogs.technet.com/b/heyscriptingguy/archive/2004/10/15/how-can-i-change-a-user-s-password.aspx">How Can I Change a User’s Password?</a>». Предложенный там скрипт:</p> <p>Set objOU = GetObject("LDAP://OU=Finance, DC=fabrikam, DC=com")</p> <p>objOU.Filter = Array("Computer")</p> <p>For Each objItem in objOU</p> <p>strComputer = objItem.CN</p> <p>Set objUser = GetObject("WinNT://" & strComputer & "/Administrator")</p> <p>objUser.SetPassword("i5A2sj*!")</p> <p>Next</p> <p>берет информацию о компьютерах из контейнера Active Directory и поочередно подключаясь к каждому из них меняет пароль администратора. Из минусов такого варианта можно отметить: </p> <p>· необходимость удаленного подключения к компьютерам (а они не всегда могут быть доступны);</p> <p>· организацию автоматического запуска скрипта по расписанию.</p> <h3>Усложнение структуры скрипта</h3> <p>Достаточно много вариантов с применением скриптов изложено в обсуждение «<a href="http://social.technet.microsoft.com/forums/ru-RU/windowsserverru/thread/4b622090-b7cf-4701-950e-ccdc2a8a4e1e/">Смена пароля локального администратора</a>» на форумах Microsoft Technet. Особенно интересен вариант с веб-сервером. При его использовании компьютер во время загрузке обращается к серверу, на котором выполняется скрипт по изменению пароля локального администратора. Таким образом этот способ удачно сочетает в себе двух других вариантов, основанных на использовании startup-скриптов и централизованной смены пароля.</p> <h2>Заключение</h2> <p>В статье предложены различные способы централизованной автоматической смены пароля локального администратора на рабочих станциях домена Active Directory. Для каждого рассмотрена возможность получения учетных данных потенциальным злоумышленником. В конце статье предложен наиболее безопасный, с точки зрения автора, алгоритм.</p> <h2>Ссылки:</h2> <p>· <a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyId=E7877F67-C447-4873-B1B0-21F0626A6329&displaylang=en">Script Encoder</a>;</p> <p>· <a href="http://blogs.technet.com/b/grouppolicy/archive/2008/08/04/passwords-in-group-policy-preferences.aspx">Passwords in Group Policy Preferences</a>;<u></u></p> <p>· <a href="http://www.frickelsoft.net/blog/?p=116">Change local administrator passwords with Group Policy Preferences</a>;<u></u></p> <p>· <a href="http://blogs.technet.com/b/heyscriptingguy/archive/2004/10/15/how-can-i-change-a-user-s-password.aspx">How Can I Change a User’s Password?</a> ;</p> <p>· <a href="http://social.technet.microsoft.com/Forums/ru-RU/scrlangru/thread/ff37eb08-31ad-4495-9403-f6bf71e463ab">Форумы Technet: Смена пароля локального администратора</a>.</p> Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com1tag:blogger.com,1999:blog-3657164111564796168.post-31846880843856679682010-05-10T04:17:00.001-07:002010-05-10T04:19:01.547-07:00Прозрачная авторизация на терминальных серверах<h4>Введение</h4> <p>Одним из основных неудобств для пользователя при запуске удаленного рабочего стола или опубликованного на терминальном сервере приложения является необходимость ввода своих учетных данных. Ранее для решения этой проблемы использовался механизм сохранения учетных данных в настройках клиента удаленного рабочего стола. Однако данный способ имеет несколько существенных недостатков. Например, при периодической смене пароля приходилось изменять его вручную в настройках терминального клиента.</p> <p>В связи с этим, для упрощения работы с удаленным рабочим столом в Windows Server 2008 появилась возможность использования технологии прозрачной авторизации Single Sign-on (SSO). Благодаря ей пользователь при входе на терминальный сервер может использовать учетные данные, введенные им при логине на свой локальный компьютер, с которого происходит запуск клиента удаленного рабочего стола.</p> <p>В статье приведен обзор алгоритма работы технологии прозрачной авторизации Single Sign-On и поставщика услуг безопасности Credential Security Service Provider (CredSSP). Рассмотрен способ настройки клиентской и серверной частей. Также освещен ряд практических вопросов связанных с прозрачной авторизацией для служб удаленных рабочих столов.</p> <h4></h4> <h4>Теоретическая информация</h4> <p>Технология SSO позволяет сохранение учетных данных пользователя и автоматическую передачу их при соединении с терминальным сервером. С помощью групповых политик можно определить сервера, для которых будет использоваться данный способ авторизации. В этом случае, для всех остальных терминальных серверов вход будет осуществляться традиционным образом: посредством ввода логина и пароля.</p> <p>Впервые механизмы прозрачной авторизации появились в Windows Server 2008 и Windows Vista. благодаря новому поставщику услуг безопасности CredSSP. С его помощью кэшированные учетные данные передавались через безопасный канал (используя Transport Layer Security (TLS)). Впоследствии Microsoft выпустила соответствующие обновления для Windows XP SP3. </p> <p>Рассмотрим это более подробно. CredSSP может использоваться в следующих сценариях:</p> <p>· для сетевого уровня аутентификации (NLA), позволяя пользователю быть узнанным до полной установки соединения;</p> <p>· для SSO, сохраняя учетные данные пользователя и передавая их на терминальный.</p> <p>При восстановлении сеанса внутри фермы, CredSSP ускоряет процесс установки соединения, т.к. терминальный сервер определяет пользователя без установки полноценного соединения (по аналогии c NLA). </p> <p>Процесс аутентификации происходит по следующему алгоритму.</p> <p>1. Клиент инициирует установку безопасного канал с сервером, используя TLS. Сервер передает ему свой сертификат, содержащий имя, удостоверяющий центр и публичный ключ. Сертификат сервера может быть самоподписанным.</p> <p>2. Между сервером и клиентом устанавливается сессия. Для неё создается соответствующий ключ, который в дальнейшем будет участвовать в шифровании. CredSSP использует протокол Simple and Protected Negotiate (SPNEGO) для взаимной аутентификации сервера и клиента так, чтобы каждый из них мог доверять друг другу. Этот механизм позволяет клиенту и серверу выбрать механизм аутентификации (например, Kerberos или NTLM).</p> <p>3. Для защиты от перехвата, клиент и сервер поочередно шифруют сертификат сервера, используя ключ сессии, и передают его друг другу. </p> <p>4. Если результаты обмена и исходный сертификат совпадают, CredSSP на клиенте посылает учетные данные пользователя на сервер.</p> <p>Таким образом, передача учетных данных происходит по зашифрованному каналу с защитой от перехвата.</p> <h4>Настройка</h4> <p>Поставщик услуг безопасности CredSSP является частью операционной системы и входит в состав Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2. Кроме того, он может быть установлен в качестве отдельного обновления на Windows XP SP3. Этот процесс подробно описан в статье «<a href="http://support.microsoft.com/kb/951608">Description of the Credential Security Support Provider (CredSSP) in Windows XP Service Pack 3</a>». Для установки и включения CredSSP на Windows XP SP3 необходимо выполнить следующие действия.</p> <p>1. Запустить редактор реестра regedit и перейти в ветку: <b>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa</b>.</p> <p>2. Добавить значение <b>tspkg</b> к ключу <b>Security </b><b>Packages</b> (остальные значения этого ключа следует оставить неизменными).</p> <p>3. <b>Перейти</b><b> в</b><b> ветку</b><b> реестра</b><b>: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders</b>.</p> <p>4. Добавить значение <b>credssp.dll</b> к ключу <b>SecurityProviders</b> (остальные значения этого ключа следует оставить неизменными).</p> <p>После того как CredSSP включен, необходимо настроить его использование с помощью групповых политик или соответствующих им ключей реестра. Для настройки SSO на клиентских компьютерах используются групповые политики из раздела:</p> <p><b>Computer Configuration\Administrative Templates\System\Credentials Delegation</b>.</p> <p>В русскоязычных версиях операционных систем это выглядит следующим образом (рис. 1).</p> <p><a href="http://lh5.ggpht.com/_hQlyOrWxVDM/S-frRqnrO1I/AAAAAAAAAGc/jBgbdVblT9E/s1600-h/clip_image002%5B4%5D.jpg"><img style="border: 0px none; display: inline;" title="clip_image002" alt="clip_image002" src="http://lh5.ggpht.com/_hQlyOrWxVDM/S-frSOrh4uI/AAAAAAAAAGg/DC70U7kC_LY/clip_image002_thumb%5B1%5D.jpg?imgmax=800" width="644" border="0" height="313" /></a></p> <p>Рис. 1. Управление передачей учетных данных при помощи групповых политик</p> <p>Для использования SSO следует включить политику:</p> <p><b>Разрешить передачу учетных данных, установленных по умолчанию</b>.</p> <p>Кроме того, после включения, следует установить для каких именно серверов будет использоваться данный способ авторизации. Для этого необходимо выполнить следующие действия.</p> <p>В окне редактирования политики (рис. 2) нажать кнопку «<b>Показать</b>»</p> <p><a href="http://lh4.ggpht.com/_hQlyOrWxVDM/S-frS0Sx6UI/AAAAAAAAAGk/IvHvEYCubI4/s1600-h/clip_image004%5B4%5D.jpg"><img style="border: 0px none; display: inline;" title="clip_image004" alt="clip_image004" src="http://lh3.ggpht.com/_hQlyOrWxVDM/S-frTSwq2yI/AAAAAAAAAGo/-GGHhSkTPeQ/clip_image004_thumb%5B1%5D.jpg?imgmax=800" width="523" border="0" height="484" /></a></p> <p>Рис. 2. Окно редактирования групповой политики</p> <p>Добавить список терминальных серверов (рис. 3).</p> <p><a href="http://lh3.ggpht.com/_hQlyOrWxVDM/S-frT4C8fOI/AAAAAAAAAGs/kf8oAhvy-0k/s1600-h/clip_image006%5B6%5D.jpg"><img style="border: 0px none; display: inline;" title="clip_image006" alt="clip_image006" src="http://lh3.ggpht.com/_hQlyOrWxVDM/S-frUZKuYvI/AAAAAAAAAGw/wu2ZrwmNfHo/clip_image006_thumb%5B3%5D.jpg?imgmax=800" width="374" border="0" height="233" /></a></p> <p>Рис. 3. Добавление терминального сервера для прозрачной авторизации</p> <p>Строка добавления сервера имеет следующий формат: </p> <p><b>TERMSRV/имя_сервера</b>.</p> <p>Также можно задать сервера по маске домена. В этом случае строка приобретает вид: </p> <p><b>TERMSRV/*.имя_домена</b>.</p> <p>Если нет возможности использовать групповые политики, соответствующие настройки можно установить при помощи редактора реестра. Например, для настройки Windows XP Sp3 можно использовать следующий файл реестра:</p> <p>Windows Registry Editor Version 5.00</p> <p>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]</p> <p>"Security Packages"=hex(7):6b,00,65,00,72,00,62,00,65,00,72,00,6f,00,73,00,00,\</p> <p>00,6d,00,73,00,76,00,31,00,5f,00,30,00,00,00,73,00,63,00,68,00,61,00,6e,00,\</p> <p>6e,00,65,00,6c,00,00,00,77,00,64,00,69,00,67,00,65,00,73,00,74,00,00,00,74,\</p> <p>00,73,00,70,00,6b,00,67,00,00,00,00,00</p> <p>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders]</p> <p>"SecurityProviders"="msapsspc.dll, schannel.dll, digest.dll, msnsspc.dll, credssp.dll"</p> <p>[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation]</p> <p>"AllowDefaultCredentials"=dword:00000001</p> <p>"ConcatenateDefaults_AllowDefault"=dword:00000001</p> <p>[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefaultCredentials]</p> <p>"1"="termsrv/*.mydomain.com"</p> <h4>Здесь вместо mydomain.com следует подставить имя домена. В этом случае при подключении к терминальным серверам по полному доменному имени (например, termserver1.mydomain.com) будет использоваться прозрачная авторизация.</h4> <p>Для использования технологии Single Sign-On на терминальном сервере необходимо выполнить следующие действия.</p> <p>1. Открыть консоль настройки служб терминалов (<b>tsconfig.msc</b>).</p> <p>2. В разделе подключения перейти в свойства <b>RDP-Tcp</b>.</p> <p>3. На вкладке «<b>Общие</b>» установить уровень безопасности «<b>Согласование</b>» или «<b>SSL (TLS 1.0)</b>» (рис. 4).</p> <p><a href="http://lh3.ggpht.com/_hQlyOrWxVDM/S-frVIbnngI/AAAAAAAAAG0/O83RSd4pciI/s1600-h/clip_image007%5B3%5D.png"><img style="border: 0px none; display: inline;" title="clip_image007" alt="clip_image007" src="http://lh6.ggpht.com/_hQlyOrWxVDM/S-frVkgYc9I/AAAAAAAAAG4/cFE83dxgBGY/clip_image007_thumb.png?imgmax=800" width="190" border="0" height="244" /></a></p> <p>Рис. 4. Настройка уровня безопасности на терминальном сервере</p> <p>На этом настройку клиентской и серверной части можно считать законченной.</p> <h4>Практическая информация</h4> <p>В этом разделе рассмотрим ограничения на использование технологии прозрачной авторизации и проблемы, которые могут возникнуть при её применении. </p> <p>1. Технология Single Sign-On работает только при соединении с компьютеров под управлением операционной системы не Windows XP SP3 и более старших версий. В качестве терминального сервера могут быть использованы компьютеры с операционной системой Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2.</p> <p>2. Если терминальный сервер, к которому устанавливается соединение, не может быть аутентифицирован через Kerberos или SSL-сертификат, SSO работать не будет. Это ограничение можно обойти с помощью политики:</p> <p><b>Разрешить делегирование учетных данных, установленных по умолчанию с проверкой подлинности сервера «только </b><b>NTLM»</b>.</p> <p>3. Алгоритм включения и настройки данной групповой политики аналогичен представленному выше. Файл реестра, соответствующей данной настройке имеет следующий вид.</p> <p>[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation]</p> <p>"AllowDefCredentialsWhenNTLMOnly"=dword:00000001</p> <p>"ConcatenateDefaults_AllowDefNTLMOnly"=dword:00000001</p> <p>[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowDefCredentialsWhenNTLMOnly]</p> <p>"1"="termsrv/*.mydomain.com"</p> <p>Аутентификация данным способом менее безопасна, чем при использовании сертификатов или Kerberos.</p> <p>4. Если для какого-либо сервера сохранены учетные данные в настройках терминального клиента, то они имеют более высокий приоритет, чем текущие учетные данные.</p> <p>5. Single Sign-On работает только при использовании доменных аккаунтов.</p> <p>6. Если подключение к терминальному серверу идет через TS Gateway, в некоторых случаях возможен приоритет настроек сервера TS Gateway над настройками SSO терминального клиента.</p> <p>7. Если терминальный сервер настроен каждый раз запрашивать учетные данные пользователей, SSO работать не будет.</p> <p>8. Технология прозрачной авторизации работает только с паролями. В случае использования смарт-карт, она работать не будет.</p> <p>Для корректной работы SSO на Windows XP SP рекомендуется установить два исправления из KB953760: «<a href="http://support.microsoft.com/kb/953760">When you enable SSO for a terminal server from a Windows XP SP3-based client computer, you are still prompted for user credentials when you log on to the terminal server</a>».</p> <p>В некоторых случаях возможна ситуация когда на одном и том же терминальном клиенте технология прозрачной авторизации может работать или не работать в зависимости от профиля подключающегося пользователя. Проблема решается пересозданием профиля пользователя. Если это является слишком трудоемкой задачей можно попробовать воспользоваться советами из обсуждения: «<a href="http://social.technet.microsoft.com/Forums/en-US/winserverTS/thread/8df8d5b0-58e5-4917-b8c6-9fceabbf1df7">RemoteApp Single Sign On (SSO) from a Windows 7 client</a>» форумов <b>Microsoft </b><b>Technet</b>. В частности, рекомендуется сбросить настройки Internet Explorer или одобрить соответствующую надстройку для него.</p> <p>Еще одним серьезным ограничением технологии SSO является то, что она не работает при запуске опубликованных приложений через TS Web Access. При этом пользователь вынужден дважды вводить учетные данные: при входе на веб-интерфейс и при авторизации на терминальном сервере.</p> <p>В Windows Server 2008 R2 ситуация изменилась в лучшую сторону. Более подробную информацию об этом можно получить в статье: «<a href="http://blogs.msdn.com/rds/archive/2009/08/11/introducing-web-single-sign-on-for-remoteapp-and-desktop-connections.aspx">Introducing Web Single Sign-On for RemoteApp and Desktop Connections</a>"».</p> <h4>Заключение</h4> <p>В статье рассмотрена технология прозрачной авторизации на терминальных серверах Single Sign-On. Её использование позволяет сократить время, затрачиваемое пользователем для входа на терминальный сервер и запуск удаленных приложений. Кроме того, с её помощью достаточно единожды вводить учетные данные при входе на локальный компьютер и затем использовать их при соединении с терминальными серверами домена. Механизм передачи учетных данных достаточно безопасен, а настройка серверной и клиентской части предельно проста. </p> <h4>Дополнительные ресурсы</h4> <p>· <a href="http://technet.microsoft.com/en-us/library/cc772108%28WS.10%29.aspx">Single Sign-On for Terminal Services</a></p> <p>· <a href="http://blogs.msdn.com/rds/archive/2007/04/19/how-to-enable-single-sign-on-for-my-terminal-server-connections.aspx">How to enable Single Sign-On for my Terminal Server connections</a></p> <p>· <a href="http://blogs.msdn.com/rds/archive/2009/08/11/introducing-web-single-sign-on-for-remoteapp-and-desktop-connections.aspx">Introducing Web Single Sign-On for RemoteApp and Desktop Connections</a></p> <p>· <a href="http://support.microsoft.com/kb/951608">Description of the Credential Security Support Provider (CredSSP) in Windows XP Service Pack 3</a></p> <p>· <a href="http://support.microsoft.com/kb/953760">When you enable SSO for a terminal server from a Windows XP SP3-based client computer, you are still prompted for user credentials when you log on to the terminal server</a></p>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com0tag:blogger.com,1999:blog-3657164111564796168.post-88728164135264454202010-03-31T02:25:00.001-07:002010-03-31T02:25:38.584-07:00Корпоративная активация Office 2010<h4>Введение</h4> <p>Для корректного использования Microsoft Office 2010 необходимо своевременно активировать данный продукт. В статье рассматриваются механизмы корпоративной активации Microsoft Office 2010 такие как</p> <p>· активация при помощи KMS-сервера;</p> <p>· активация посредством ввода ключа MAK.</p> <p>В зависимости от размеров организации рекомендуется выбрать один из этих способов.</p> <p>Механизм активации аналогичен используемому при активации операционных систем таких как Windows Vista, Windows 7, Windows 2008 и Windows 2008 R2. Однако в отличии от операционных систем, в случае несвоевременной активации, программный продукт не потеряет своей функциональности. При этом пользователь будет получать предупреждения о необходимости активации в процессе эксплуатации.</p> <h4>Возможные механизмы активации</h4> <p>Для корпоративных пользователей существует два способа активации:</p> <p>· активация посредством ввода ключа MAK;</p> <p>· активация при помощи KMS-сервера.</p> <p>Рассмотрим каждый из них более подробно</p> <h5>MAK</h5> <p>Этот способ активации наиболее подходит для организаций с небольшим числом компьютеров. При его использовании для активации требуется многократный ключ, состоящий из двадцати пяти символов. Данный ключ можно добавить в установочный пакет Microsoft Office 2010 через центр развертывания Office или файл config.xml. При каждой активации при помощи MAK число возможных активаций для организации уменьшается на единицу.</p> <p>Также как и для случая операционных систем активацию можно проводить удаленно при помощи средства VAMT 2.0. В этом случае для клиентского компьютера необязательно соединение с интернетом (этот доступ должен присутствовать на сервере с установленным VAMT). </p> <p>По умолчанию изменение ключа активации с KMS на MAK запрещено для пользователя. Для изменения этого поведения и предоставления пользователю возможности активировать данный продукт необходимо в раздел реестра </p> <p>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform</p> <p>добавить ключ UserOperations со значением 00000001 (тип ключа DWORD). Если значение данного ключа равняется нулю – изменение ключа и активация Office 2010 запрещена для обычных пользователей.</p> <h5>KMS</h5> <p>Данный способ активации используется по умолчанию. Для его использования требуется отдельный сервер, принимающий запросы на активацию. В качестве такового может быть использован сервер занимающийся лицензированием операционных систем. От пользователя не требуется никаких дополнительных действий для активации продукта. Сам сервер не требует постоянного доступа в интернет (он требуется лишь на момент активации). KMS-клиенту требуется периодическое соединение с севером активации (этот интервал может быть настроен). В случае недоступности сервера более 180 дней при запуске офиса появится предупреждение о том, что продукт не активирован. При этом функциональность его сохранится.</p> <p>Также как и в случае с операционными системами существует порог активации. Для того чтобы сервер начал успешно активировать Office 2010 необходимо не менее 5 запросов от различных компьютеров.</p> <p>Для управления KMS-сервером можно использовать скрипт slmgr.vbs. Более подробную информацию о синтаксисе и возможностях данного скрипта можно получить в статье «<a href="http://technet.microsoft.com/ru-ru/library/ee624359%28office.14%29.aspx">Краткое руководство по многопользовательской активации для Office 2010</a>».</p> <h4>Заключение</h4> <p>В статье кратко рассмотрены преимущества и недостатки двух способов корпоративной активации Microsoft Office 2010. </p> <h4>Дополнительные ресурсы</h4> <p><a href="http://technet.microsoft.com/ru-ru/library/ee624349%28office.14%29.aspx">Обзор многопользовательской активации Office 2010</a></p> <p><a href="http://technet.microsoft.com/ru-ru/library/ee624359%28office.14%29.aspx">Краткое руководство по многопользовательской активации для Office 2010</a></p> <p><a href="http://www.thevista.ru/page.php?id=12313">Полезные советы по многопользовательской активации Office 2010</a></p> <p><a href="http://technet.microsoft.com/en-us/office/ee691939.aspx">Volume Activation for Microsoft Office 2010 (Beta)</a></p> Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com1tag:blogger.com,1999:blog-3657164111564796168.post-45157122005144825852010-03-15T05:31:00.001-07:002010-03-15T05:47:10.119-07:00TS Easy Print на практике<h3>TS Easy Print на практике</h3> <h4>Введение</h4> <p>В качестве альтернативы использования традиционной системы печати в Windows 2008 появилась технология TS Easy Print, позволяющая избежать установки драйверов для перенаправленных принтеров на терминальном сервере. Благодаря этому значительно повышается стабильность работы как службы диспетчера очереди печати, так и всего терминального сервера в целом. </p> <p>Внедрение TS Easy Print не требуется дополнительной установки серверной и клиентской части. Достаточно лишь наличие на рабочей станции клиента удаленного рабочего стола версии 6.1 (или старше) и .NET Framework 3.0 SP1 (или старше).</p> <p>Статья разделена на два основных раздела. </p> <p>Первая часть посвящена способам настройки и управления технологией TS Easy Print при помощи групповых политик и консоли управления печатью.</p> <p>Во втором разделе собран практический опыт автора по использованию TS Easy Print, а также приведен ряд примеров из форумов Microsoft Technet.</p> <h4>Настройка</h4> <p>Для управления настройками печати на терминальном сервере в Windows Server 2008 существует несколько групповых политик. Найти их можно в следующем контейнере: </p> <p><b>Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Printer Redirection</b>.<b> </b></p> <p>В русскоязычном интерфейсе это</p> <p><b>Конфигурация компьютера\Административные шаблоны\Компоненты </b><b>Windows\Службы терминалов\Сервер терминалов\Перенаправление принтеров</b> (рис. 1).</p> <p><a href="http://lh4.ggpht.com/_hQlyOrWxVDM/S54sAEW1b7I/AAAAAAAAAF0/dxjjbn4xzQA/s1600-h/image%5B20%5D.png"><img style="border: 0px none ; display: inline;" title="image" alt="image" src="http://lh3.ggpht.com/_hQlyOrWxVDM/S54sAtBaD8I/AAAAAAAAAF4/UXzUFGPxwHA/image_thumb%5B6%5D.png?imgmax=800" width="244" border="0" height="142" /></a> </p> <p>Рис. 1. Групповые политики для управления перенаправленным принтерами</p> <p>Рассмотрим каждую из них более подробно.</p> <p><b>Таблица 1: Политики управления печатью на терминальных серверах </b> <table border="0" cellpadding="0" cellspacing="0"><tbody> <tr> <td width="377" valign="top"> <p><b>Групповая политика (в скобках представлен русский вариант названия)</b></p> </td> <td width="377" valign="top"> <p><b>Описание функциональности </b></p> </td> </tr> <tr> <td width="377" valign="top"> <p>Do not set default client printer to be default printer in a session (Не устанавливать используемый по умолчанию принтер клиента в качестве принтера для сеанса)</p> </td> <td width="377" valign="top"> <p>Определяет будет ли принтер по умолчанию на клиенте автоматически установлен как принтер по умолчанию в терминальной сессии. Если этот параметр не задан, пользователь может самостоятельно задать принтер по умолчанию в терминальной сессии. </p> </td> </tr> <tr> <td width="377" valign="top"> <p>Do not allow client printer redirection (Не разрешать перенаправление клиентских принтеров) </p> </td> <td width="377" valign="top"> <p>Позволяет запретить подключение клиентских принтеров к терминальной сессии. Включение этой политики отключает перенаправление принтеров.</p> </td> </tr> <tr> <td width="377" valign="top"> <p>Specify terminal server fallback printer driver behavior (Задать поведение сервера терминалов при выборе резервного драйвера принтера) </p> </td> <td width="377" valign="top"> <p>Не смотря на существование этой политики использовать её можно только на Windows Server 2003.</p> </td> </tr> <tr> <td width="377" valign="top"> <p>Use Terminal Services Easy Print driver first (использовать в первую очередь драйвер принтера Easy Print служб терминалов)</p> </td> <td width="377" valign="top"> <p>Если эта политика включена или не настроена, сервер терминалов сначала попытается использовать драйвер принтера TS Easy Print для установки всех клиентских принтеров. Если по какой-либо причине драйвер TS Easy Print не доступен, используется драйвер принтера на терминальном сервере, соответствующий принтеру на клиентском компьютере. Если драйвер не найден на терминальном сервере, этот принтер не может быть перенаправлен.</p> </td> </tr> <tr> <td width="377" valign="top"> <p>Redirect only the default client printer (Перенаправлять только используемы по умолчанию принтер клиента) </p> </td> <td width="377" valign="top"> <p>Включает перенаправление только принтера по умолчанию. Остальные принтеры не перенаправляются.</p> </td> </tr> </tbody></table> </p> <p><a name="Services_Easy"></a>Политики</p> <p><b>Use Terminal Services Easy Print Driver First </b></p> <p>и</p> <p><b>Redirect Only The Default Client Printer </b></p> <p>также можно найти в пользовательском разделе групповых политик в контейнере </p> <p><b>User Configuration\Policies\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Printer Redirection</b>.</p> <p>Отдельно следует упомянуть о способах управления принтерами системными администраторами. По сравнению с Windows Server 2003, изменился механизм отображения доступных принтеров. Во время работы процесса Winlogon, диспетчер очереди печати перечисляет только принтеры, которые доступны пользователю в рамках его текущей сессии (вместо перечисления всех перенаправленных принтеров). </p> <p>Однако, даже не смотря на то, что системный администратор не может видеть принтеры других пользователей, есть обходной маневр для получения информации о перенаправленных принтерах и выполнения с ними ряда административных задач. Члены группы «Print Operators» («Операторы печати») могут увидеть все перенаправленные принтеры в консоли управления печатью «Print Management Console» и панели управления принтерами. Для этого необходимо выполнить следующие действия.</p> <p>1. Добавить себя в группу «Print Operators».</p> <p>2. Установить роль «Print Services» на сервер.</p> <p>3. Запустить консоль «Print Management».</p> <p>По умолчанию администраторы и операторы печати не имеют прав на управление перенаправленными принтерами и могут только видеть их в консоли. Для управления перенаправленными принтерами необходимо предварительно захватить права владельца на него. Это делается следующим образом.</p> <p>1. Открыть консоль управления печатью и щелкнуть правой клавишей мыши по выбранному принтеру.</p> <p>2. Выбрать «Properties».</p> <p>3. Перейти на закладку «Security».</p> <p>4. Нажать «Advanced».</p> <p>5. Перейти на закладку «Owner» (рис. 2).</p> <p><a href="http://lh3.ggpht.com/_hQlyOrWxVDM/S54sBHOguGI/AAAAAAAAAF8/Ubg1a58acxQ/s1600-h/image%5B23%5D.png"><img style="border: 0px none ; display: inline;" title="image" alt="image" src="http://lh6.ggpht.com/_hQlyOrWxVDM/S54sBwCIznI/AAAAAAAAAGA/mDCoGfsEIdY/image_thumb%5B7%5D.png?imgmax=800" width="244" border="0" height="184" /></a> </p> <p>Рис. 2. Захват прав владельца</p> <p>6. Выбрать «Print Operators» и дважды нажать «Ок».</p> <p>7. Закрыть все окна управления принтером.</p> <p>8. Заново открыть окно свойств принтера.</p> <p>9. Перейти на закладку «Security»</p> <p>10. Добавить группе «Print Operators» право «Manage Printer».</p> <p><a href="http://lh3.ggpht.com/_hQlyOrWxVDM/S54sCXJjfHI/AAAAAAAAAGE/MGuvEziIqjI/s1600-h/image%5B26%5D.png"><img style="border: 0px none ; display: inline;" title="image" alt="image" src="http://lh3.ggpht.com/_hQlyOrWxVDM/S54sCzj5lqI/AAAAAAAAAGI/nU_3ZNjD9V8/image_thumb%5B8%5D.png?imgmax=800" width="212" border="0" height="244" /></a> </p> <p>Рис. 3. Добавление прав управления</p> <p>Члены группы Print Operators должны использовать право Manage Printers только для выполнения следующих задач:</p> <p>· удаление перенаправленного принтера;</p> <p>· открытие очереди печати перенаправленных принтеров;</p> <p>· управление заданиями на печать для перенаправленных принтеров.</p> <p>Остальные действия, такие как переименование, установка для принтера свойств по умолчанию и предпочтений печати не поддерживаются.</p> <p>В моей практике это понадобилось для решения проблемы с уходом в отключенное состояние после рестарта службы диспетчера очереди печати.</p> <h4>Особенности практического использования</h4> <p>В этой части я хотел бы рассказать о проблемах которые могут возникнуть в процессе использования технологии TS Easy Print и способах их решения. Информация представлена в виде описания проблемы и возможного способа её решения. По возможности, проблема проиллюстрирована примерами из форумов Microsoft Technet.</p> <h5>Проблема 1. Нестабильность службы диспетчера очереди печати</h5> <p>Основной предпосылкой внедрения TS Easy Print являются сбои в службе диспетчера очереди печати при использовании драйверов для принтеров на терминальном сервере. Эта проблема также актуальна и в «смешанной» среде. Если на терминальном сервере параллельно используются как TS Easy Print, так и традиционная система печати, проблемы могут только усугубиться. Это связано с тем, что при перезапуске службы диспетчера очереди печати, перенаправленные принтеры переходят в состояние offline и становятся недоступными для печати. Для наиболее быстрого решения этой проблемы требуется переподключение терминального сеанса. Всё это вызывает массу негативных отзывов (пример на <a href="http://social.technet.microsoft.com/Forums/en-US/winserverTS/thread/b7d6d72f-cc2f-4e73-9474-4935b56b8b8c">форумах Microsoft Technet</a>) со стороны конечных пользователей. </p> <p>В качестве глобального решения этой проблемы можно рассмотреть полное удаление драйверов принтеров и сопутствующих им элементов с терминального сервера. Однако и эта операция может вызвать массу проблем (пример на <a href="http://social.technet.microsoft.com/Forums/ru-RU/ws2008ru/thread/ff6a05ee-901c-45da-a115-1680c920731d">форумах Microsoft Technet</a>), так как вместе с драйверами принтеров могут удалиться драйвера Terminal Services Easy Print и Microsoft XPS Document Writer. Без них перенаправление принтеров по технологии TS Easy Print работать не будет. </p> <p>В связи с этим, необходимо крайне осторожно относиться к удалению драйверов на терминальном сервере при помощи специальных утилит: </p> <p>· <a href="http://support.microsoft.com/kb/2000007">KB2000007</a>;</p> <p>· <a href="http://support.microsoft.com/kb/324757">KB324757</a>.</p> <p>Перед их использованием настоятельно сделать резервное копирование системы.</p> <p>Альтернативным способом является ручное удаление драйверов. Это делается следующим образом. </p> <p>1. Перейти в «Панель Управления».</p> <p>2. Выбрать «Принтеры»</p> <p>3. Щелкнуть «Свойства Сервера» (рис. 4)</p> <p><a href="http://lh4.ggpht.com/_hQlyOrWxVDM/S54sDZLMWWI/AAAAAAAAAGM/29To0fiFNC8/s1600-h/image%5B29%5D.png"><img style="border: 0px none ; display: inline;" title="image" alt="image" src="http://lh6.ggpht.com/_hQlyOrWxVDM/S54sD1DkQmI/AAAAAAAAAGQ/rT4KzTBPYyQ/image_thumb%5B9%5D.png?imgmax=800" width="244" border="0" height="55" /></a> </p> <p>Рис. 4. Свойства сервера печати</p> <p>4. Перейти на закладку «Драйверы» (рис .5)</p> <p><a href="http://lh5.ggpht.com/_hQlyOrWxVDM/S54sESSBCNI/AAAAAAAAAGU/aDkA3roVOKk/s1600-h/image%5B32%5D.png"><img style="border: 0px none ; display: inline;" title="image" alt="image" src="http://lh4.ggpht.com/_hQlyOrWxVDM/S54sE5baIWI/AAAAAAAAAGY/IjaA_rfTDlY/image_thumb%5B10%5D.png?imgmax=800" width="220" border="0" height="244" /></a> </p> <p>Рис. 5. Драйверы принтеров</p> <p>5. Поочередно удалить все драйверы кроме Terminal Services Easy Print и Microsoft XPS Document Writer. </p> <p>Кроме того, можно дополнительно удалить данные из реестра и файловой системы. Более подробную информацию об этом можно получить в статье <a href="http://blogs.technet.com/perfguru/archive/2008/08/06/print-spooler-crash-troubleshooting-steps.aspx">Print Spooler Crash Troubleshooting Steps</a>.</p> <p>Если терминальные сервера находятся терминальной ферме, и для соединения с ними используется ключ /admin, то при проверке нужно учитывать, что при таком типе подключения TS Easy Print не работает по умолчанию (<a href="http://support.microsoft.com/kb/947723">KB947723</a>). </p> <h5>Проблема 2. Печать «иероглифов» на перенаправленных принтерах»</h5> <p>При печати по технологии TS Easy Print могут отображаться «иероглифы». Обычно это вызывается старой версией .Net Framework. Установка более новой версии данного программного продукта может решить данную проблему. Данная проблема актуальна для старых версий клиентских операционных систем. Для Windows 7 дополнительная установка .Net Framework необязательна.</p> <h5>Проблема 3. Перенаправление принтеров не работает</h5> <p>Для решения данной проблемы следует проверить настройки перенаправления для клиента удаленного рабочего стола, на терминальном сервере, результирующие групповые политики и параметр реестра: </p> <p><b>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\<strong>fEnablePrintRDR</strong></b>. </p> <h5>Проблема 4. Пользователи не могут печатать на перенаправленных принтерах при совмещении ролей терминального сервера и контроллера домена</h5> <p>При совмещении ролей терминального сервера и контроллера домена у пользователей могут возникнуть проблемы с печатью (пример на <a href="http://social.technet.microsoft.com/Forums/ru-RU/ws2008ru/thread/4d1ae8fa-f249-47af-afa5-1c62db1ce0d8">форумах Microsoft Technet</a>). </p> <p>Для решения нужно дать права modify для группы everyone на папку: C:\Windows\System32\spool или воспользоваться статьей <a href="http://support.microsoft.com/kb/968605/EN-US">KB968605</a>.</p> <h5>Проблема 5. Снижение скорости печати</h5> <p>Скорость печати может существенно снизиться после применения обновления <a href="http://support.microsoft.com/kb/954744">KB954744</a>, решающего проблему с некорректной ориентацию страниц при печати на перенаправленых принтерах. Для решения этого надо установить дополнительное обновление <a href="http://support.microsoft.com/kb/954743/">KB954773</a>.</p> <h5>Проблема 6. Не все принтеры перенаправляются в терминальную сессию</h5> <p>По умолчанию число перенаправляемых принтеров ограничено 20. Это поведение можно исправить добавив в раздел реестра </p> <p><b>HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services </b></p> <p>ключ <b>MaxPrintersPerSession</b> и задав в нем максимальное число перенаправляемых принтеров.</p> <h5>Проблема 7. Поддержка тонких клиентов</h5> <p>Одним из основных минусов технологии TS Easy Print являются требования к версии клиента удаленного рабочего стола и установке .Net Framework. Достаточно много тонких клиентов (особенно произведенных несколько лет назад) не имеют достаточно дискового пространства для использования операционной системы, содержащей данные программные продукты. Для остальных можно воспользоваться новой версией <a href="http://www.microsoft.com/windowsembedded/en-us/products/westandard/default.mspx">Windows Embedded 2009</a>. </p> <h4>Заключение</h4> <p>В статье рассмотрена практическая сторона использования технологии TS Easy Print. Особое внимание уделено проблемам, которые могут возникнуть при переходе на новую систему печати. Не смотря на достаточно большое число перечисленных проблем, следует отметить, что технология TS Easy Print уже зарекомендовала себя с самой лучшей стороны и может быть использована в производственных целях. В качестве альтернативы TS Easy Print могут использоваться сторонние программные продукты (например, <a href="http://www.thinprint.com/">ThinPrint</a>). Однако следует учитывать, что большинство таких продуктов платные и требуют установки дополнительного программного обеспечения.</p> <h4>Дополнительные ресурсы</h4> <p>· <a href="http://www.microsoft.com/learning/en/us/book.aspx?ID=12716&locale=en-us">Windows Server 2008 Terminal Services Resource Kit</a></p> <p>· <a href="http://technet.microsoft.com/en-us/library/cc753853%28WS.10%29.aspx">Terminal Services Printing</a></p> <p>· <a href="http://blogs.technet.com/perfguru/archive/2008/06/25/terminal-server-easy-print.aspx">Terminal Server Easy Print</a></p> <p>· <a href="http://blogs.technet.com/askperf/archive/2008/02/17/ws2008-terminal-services-printing.aspx">WS2008: Terminal Services Printing</a></p> <p>· <a href="http://blogs.msdn.com/rds/archive/2007/04/26/introducing-terminal-services-easy-print-part-1.aspx">Introducing Terminal Services Easy Print: Part 1</a></p> <p>· <a href="http://blogs.technet.com/askperf/archive/2008/02/14/ws2008-terminal-services-architecture.aspx">WS2008: Terminal Services Architecture</a></p> <p>· <a href="http://blogs.msdn.com/rds/archive/2009/09/28/using-remote-desktop-easy-print-in-windows-7-and-windows-server-2008-r2.aspx">Using Remote Desktop Easy Print in Windows 7 and Windows Server 2008 R2</a></p> <p>· <a href="http://technet.microsoft.com/en-us/library/cc775315%28WS.10%29.aspx">Terminal Services Printer Redirection</a></p> <p>· <a href="http://technet.microsoft.com/en-us/library/cc731963%28WS.10%29.aspx">Printer Redirection</a></p> <p>· <a href="http://blogs.technet.com/perfguru/archive/2008/08/06/print-spooler-crash-troubleshooting-steps.aspx">Print Spooler Crash Troubleshooting Steps</a></p>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com0tag:blogger.com,1999:blog-3657164111564796168.post-40077582133337307462010-03-15T05:26:00.001-07:002010-03-15T05:30:42.976-07:00Сравнение TS Easy Print и традиционной системы печати<h4>Введение</h4> <p>В Windows Server 2008 появилась относительно новая технология печати на перенаправленных принтерах из терминальных сессий – TS Easy Print. С её помощью можно избавиться от необходимости установки и использования драйверов для принтеров на терминальных серверах. В результате этого значительно улучшается стабильность службы диспетчера очереди печати и как следствие удобство работы для конечных пользователей. В статье предлагается сравнительный обзор алгоритмов работы традиционной модели системы печати и технологии TS Easy Print. Представленная информация собрана из немногочисленных публичных источников, приведенных в конце статьи. В связи с этим, автор заранее просит прощения в случае неверной интерпретации доступной ему информации.</p> <h4>Традиционная модель системы печати</h4> <p>Вначале рассмотрим традиционную модель системы печати.</p> <p>Основными компонентами, участвующими в перенаправлении принтеров и печати на них являются:</p> <p>· winlogon.exe – процесс, отвечающий за создание и завершение сеанса, а также запуск оболочки пользователя; </p> <p>· winsta.dll – библиотека, используемая для настройки терминальной сессии;</p> <p>· termsrv.dll – диспетчер удаленных подключений;</p> <p>· rdpwsx.dll – компонент, работающий в режиме пользователя и отвечающий за подключение/отключение удаленных соединений по протоколу RDP;</p> <p>· rdpdr.sys – драйвер перенаправления RDP-устройств, работающий в режиме ядра;</p> <p>· spoolsv.exe – диспетчер очереди печати на терминальном сервере;</p> <p>· usbmon.dll – компонент управления динамическими портами принтеров на терминальном сервере;</p> <p>· mstscax.dll – компонент терминального сервера, собирающий информацию о принтерах на клиентской рабочей станции (имя, драйвер, настройки и.т.п.);</p> <p>· System Event Notification Service (SENS) – служба терминального сервера, отслеживающая такие системные события, как подключение\отключение сессий и создание\завершение сеансов на терминальном сервере, а также передающая информацию о них в приложения.</p> <p>Автоматическое перенаправление принтеров клиента в терминальную сессию происходит по следующему алгоритму.</p> <p>1) Пользователь при помощи клиента удаленного рабочего стола (mstsc.exe) подключается к терминальному серверу. В сессии пользователя создается процесс winlogon.exe. Компонент winsta.dll настраивает терминальную сессию. </p> <p>2) Компонент rdpwsx.dll (при помощи winsta.dll и termsrv.dll) обнаруживает новое соединение и уведомляет об этом драйвер перенаправления устройств (rdpdr.sys).</p> <p>3) Драйвер перенаправления устройств посылает запрос на составление списка принтеров для дальнейшего подключения их в сессию пользователя.</p> <p>4) Клиент удаленного рабочего стола (mstsc.exe) собирает информацию с рабочей станции и через rdpwsx.dll посылает её драйверу перенаправления устройств. На терминальный сервер передаются следующие данные:</p> <p>a) конфигурация принтера (имя принтера, имя драйвера, ориентация бумаги, статус и.т.п.);</p> <p>b) имена очередей печати (очередь печати – это представление физического принтера в операционной системе Microsoft Windows) и соответствующих им портов;</p> <p>c) очереди печати, находящиеся в разделе реестра HKCU\Software\Microsoft\Terminal Server Client\Default\Add Ins\RDPDR на клиентском компьютере (рис. 1). </p> <p><a href="http://lh6.ggpht.com/_hQlyOrWxVDM/S54nfVc6_3I/AAAAAAAAAFk/4Owq44tDbXI/s1600-h/clip_image002%5B3%5D.jpg"><img style="border-width: 0px; display: inline;" title="clip_image002" alt="clip_image002" src="http://lh3.ggpht.com/_hQlyOrWxVDM/S54nf6XZzkI/AAAAAAAAAFo/iWATAYFKHpc/clip_image002_thumb.jpg?imgmax=800" width="244" border="0" height="126" /></a></p> <p>Рис. 1. Пример реестра</p> <p>5) Для каждой очереди печати при помощи драйвера перенаправления устройств создается соответствующий порт. Порты называются TSXXX, где XXX – номер, начинающийся с 001 (рис. 2). При этом учитываются заданные в групповых политиках настройки. Например, проверяется нужно ли перенаправлять все принтеры или только принтер по умолчанию. </p> <p><a href="http://lh5.ggpht.com/_hQlyOrWxVDM/S54nhHIuQII/AAAAAAAAAFs/8FLag2xNtwY/s1600-h/clip_image003%5B3%5D.png"><img style="border-width: 0px; display: inline;" title="clip_image003" alt="clip_image003" src="http://lh6.ggpht.com/_hQlyOrWxVDM/S54nhukR_bI/AAAAAAAAAFw/0pV86Z3NzKs/clip_image003_thumb.png?imgmax=800" width="222" border="0" height="244" /></a></p> <p>Рис. 2. Порты перенаправленных принтеров</p> <p>6) Драйвер перенаправления устройств через API уведомляет службу диспетчера очереди печати о появлении новых принтеров. Указанная служба с помощью Usbmon.dll добавляет созданные ранее порты в список доступных, а также производит соответствующие обновления в реестре клиентского компьютера.</p> <p>7) Процесс winlogon.exe уведомляет службу SENS о создании терминальной сессии. С помощью этой службы удаляются созданные ранее порты при отключении и завершении сеанса.</p> <p>8) Служба SENS выполняет следующие действия:</p> <p>a) убеждается, что для принтера есть соответствующий драйвер на терминальном сервере;</p> <p>b) устанавливает принтер по умолчанию на клиентской рабочей станции, принтером по умолчанию на терминальном сервере;</p> <p>c) добавляет очередь печати в список устройств;</p> <p>d) устанавливает права безопасности по умолчанию на очередь печати для подключившегося пользователя (чтение, запись, печать) и группы администраторов (полный доступ).</p> <p>Процесс печати происходит по следующему алгоритму. </p> <p>1. Пользователь запускает печать документа из какого-либо приложения.</p> <p>2. При помощи интерфейса графического устройства (GDI), создается файл формата EMF (enhanced metafile format). Метафайл данного формата не зависит от устройства печати и содержит в себе инструкции необходимые для вывода изображения на принтер. Также, в зависимости от настроек принтера, файл может создаваться в RAW-формате (в этом случае GDI не используется).</p> <p>3. Созданный файл передается в диспетчер печати на терминальном сервере. Он может быть сохранен на диск, если большое число заданий на печать становятся в очередь для одного принтера. </p> <p>4. Постановленное в очередь задание возвращается в GDI. С помощью драйвера принтера, работающего в режиме пользователя, GDI преобразовывает задание на печать в RAW-формат, который может быть обработан выбранным принтером.</p> <p>5. Задание на печать отправляется на перенаправленный порт (определенный как TSXXX). </p> <p>6. Диспетчер печати посылает задание на печать на монитор динамического порта (Usbmon.dll). </p> <p>7. Монитор динамического порта передает файл компоненту Rdpdr.sys, который посылает данные в готовом для печати растровом формате на соответствующий терминальный клиент и уже затем на нужный принтер.</p> <p>Суммируя вышесказанное, следует отметить, что большая часть процесса обработки задания на печать происходит на терминальном сервере. Драйвер должен быть установлен на терминальном сервере (так как GDI форматирует данные в соответствии с выбранным принтером). </p> <h4>Архитектура TS Easy Print</h4> <p>Возможности печати на перенаправленных принтерах при подключении к удаленному рабочему столу существенно расширены благодаря универсальному драйверу печати TS Easy Print и Microsoft .NET Framework. С их помощью системные администраторы могут избежать следующих типовых проблем.</p> <p>1. Критические сбои в работе терминального сервера из-за драйверов, работающих в режиме ядра. </p> <p>2. Сопоставление имен драйверов. Иногда имена драйверов, установленных на рабочих станций, не совпадали с именами драйверов на терминальном сервере. Для работы перенаправленного принтера приходилось вручную делать сопоставление в соответствующем inf-файле.</p> <p>3. Распространение драйверов. Необходимо было протестировать драйвер на одном из серверов и лишь затем распространять его на другие терминальные сервера.</p> <p>4. Большой объем информации передаваемой по сети при печати на перенаправленный принтер из терминальной сессии.</p> <p>Для решения указанных проблем, вместо традиционной системы печати предлагается использовать новую архитектуру, основанную на формате печати XML Paper Specification (XPS). С её помощью при печати на перенаправленном принтере можно использовать драйвера клиентского компьютера, не устанавливая их на терминальный сервер.</p> <p>Для функционирования TS Easy Print на клиентском компьютере должны быть установлены клиент удаленного рабочего стола версии 6.1 или старше и .NET Framework 3.0 SP1 или последующих версий. Указанным требованиям удовлетворяют наиболее распространенные версии клиентских операционных систем, такие как Windows XP Sp3, Windows Vista, Windows 7. Следует отметить, что старая система печати также поддерживается и может использоваться параллельно с технологией TS Easy Print для работы с более старыми версиями терминальных клиентов.</p> <p>Также как и традиционная система печати, TS Easy Print должна переводить данные в специальный формат и передавать их от терминального сервера к клиенту, на котором находится принтер. Основное отличие заключается в процессах преобразования и обработки заданий на печать. </p> <p>При печати по технологии Easy Print создается XML файл, который в точности соответствует печатаемому документу. Основное отличие от формата EMF состоит в том, что данный файл может быть обработан XPS-совместимым драйвером без преобразования в RAW-формат. В связи с этим, большую часть времени файл, содержащий задание на печать гораздо меньше аналогичного EMF файла и как следствие требует меньше вычислительных ресурсов на обработку.</p> <p>В основном, процесс обработки задания при использовании Easy Print сводится к получению заданию на печать и передаче его клиенту.</p> <p>Печать происходит по следующему алгоритму.</p> <p>1. Пользователь запускает задание на печать из какого-либо приложения в удаленной сессии.</p> <p>2. В зависимости от типа приложения, задание на печать либо сразу же преобразуется в формат XPS (для приложений класса Windows Presentation Foundation), либо предварительно преобразуется в формат GDI (для Win32-приложений). </p> <p>3. XPS-файл отправляется в надстройку клиента удаленного рабочего стола, отвечающую за технологию TS Easy Print.</p> <p>4. XPS-файл без изменений передается напрямую драйверу печати на клиентском компьютере как XPS-обработанный файл. </p> <p>5. XPS-файл, предназначенный для GDI принтера, превращается в формат EMF.</p> <p>6. Задание на печать уходит на принтер. </p> <p>Как видно из алгоритма, TS Easy Print использует универсальный драйвер печати для передачи заданий на печать клиенту. Вследствие этого, уже нет необходимости устанавливать драйвер для принтера на терминальном сервере. </p> <p>Кроме того, TS Easy Print использует виртуальные каналы, предоставляя возможность настройки свойств печати непосредственно на клиенте. Когда пользователь входит в предпочтения печати в терминальной сессии, драйвер TS Easy Print на терминальном сервере перехватывает этот запрос и посылает его надстройке TS Easy Print на терминальном клиенте. Клиент опрашивает установленный локально драйвер и локальные настройки принтера. Таким образом, они полностью совпадают как на клиенте, так и на сервере. Дополнительным преимуществом TS Easy Print является то, что при передаче не добавляется информации связанной с драйвером печати.</p> <h4>Заключение</h4> <p>В статье рассмотрены две альтернативные технологии печати из терминальной сессии на перенаправленных принтерах. Благодаря своей архитектуре, TS Easy Print в большинстве случаев существенно превосходит традиционную систему печати по таким ключевым параметрам как</p> <p>· стабильность службы диспетчера очереди печати;</p> <p>· объем передаваемых при печати данных;</p> <p>· необходимость установки драйверов для принтеров на терминальные сервера;</p> <p>· скорость печати.</p> <p>Однако и старая технология печати также имеет права на жизнь, т.к. не всегда удается выполнить условия функционирования TS Easy Print. Особенно это актуально для старых версий тонких терминальных клиентов. </p> <p>Статья носит преимущественно теоретический характер. Особенности практического использования технологии TS Easy Print будут представлены в следующей статье.</p> <h4>Дополнительные ресурсы</h4> <p>· <a href="http://www.microsoft.com/learning/en/us/book.aspx?ID=12716&locale=en-us">Windows Server 2008 Terminal Services Resource Kit</a></p> <p>· <a href="http://technet.microsoft.com/en-us/library/cc753853%28WS.10%29.aspx">Terminal Services Printing</a></p> <p>· <a href="http://technet.microsoft.com/ru-ru/library/cc738316%28WS.10%29.aspx">Процесс печати</a></p> <p>· <a href="http://technet.microsoft.com/en-us/library/cc958185.aspx">Printing</a></p> <p>· <a href="http://blogs.msdn.com/rds/archive/2006/12/13/terminal-server-plug-and-play-device-redirection-framework-in-vista-and-longhorn-part-3.aspx">Terminal Server Plug and Play Device Redirection Framework in Vista and Longhorn: Part 3</a></p>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com0tag:blogger.com,1999:blog-3657164111564796168.post-28266016241094395022010-02-10T00:57:00.001-08:002010-02-10T01:01:43.104-08:00TS RemoteApp<h4>Введение</h4><p>Достаточно часто работа пользователя на терминальном сервере ограничивается запуском одного или нескольких приложений и не требует полноэкранной сессии. <b>Технология </b><b>Terminal </b><b>Services </b><b>RemoteApp </b>(удаленные приложения) упрощает работу по такому сценарию. Удаленные приложения могут распространяться с помощью msi-пакетов и интегрироваться с локальной операционной системой. В частности, ярлыки этих приложений будут находиться в меню "Пуск" или на рабочем столе локального компьютера, а также использоваться при открытии ассоциированных с ними типов файлов.</p><h4>Системные требования</h4><p>Для использования технологии RemoteApp, клиент удаленного рабочего стола должен быть версии 6.0 или выше. В данный момент доступен клиент версии 7.0 для операционных систем: Windows XP, Windows Vista, Windows 2003/2008 Server. Установить его можно при помощи системы обновлений. В Windows 7 и Windows 2008 R2 он используется по умолчанию.</p><h4>Принцип работы</h4><p>В связи с необходимостью более полной интеграции с локальной системой, принцип работы удаленных приложений отличается от работы в полноэкранной сессии. Рассмотрим это более подробно (рис. 1). Информация позаимствована из <a href="http://www.microsoft.com/learning/en/us/book.aspx?ID=12716&locale=en-us">Windows Server 2008 Terminal Services Resource Kit</a>. </p><p><a href="http://lh6.ggpht.com/_hQlyOrWxVDM/S3J03z4IcbI/AAAAAAAAAE4/gevGlp3KZ9E/s1600-h/StartRemoteApp%5B2%5D.png"><img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="StartRemoteApp" border="0" alt="StartRemoteApp" src="http://lh5.ggpht.com/_hQlyOrWxVDM/S3J04bolHGI/AAAAAAAAAE8/HJKBduWwZYg/StartRemoteApp_thumb.png?imgmax=800" width="244" height="204" /></a> </p><p>Рис. 1. Схема запуска удаленного приложения</p><ol><li>Пользователь запускает клиент удаленного рабочего стола mstsc.exe и соединяется с сервером. </li><li>Создается терминальная сессия. Открывается процесс <b>Userinit.exe</b>. Он стартует <b>Rdpinit.exe</b>, управляющий <b>Rdpshell.exe</b>. Rdpshell.exe - это оболочка, используемая при работе в удаленных приложениях вместо Windows Explorer (explorer.exe). </li><li>Между клиентской и серверной составляющей устанавливается виртуальный канал. Он используется для передачи данных между сервером и клиентом. </li><li>Rdpinit.exe проверяет список разрешенных для запуска приложений. Если приложение разрешено, терминальный сервер запускает его. </li><li>Создается окно приложения. </li><li>Rdpshell.exe взаимодействует с окном приложения и передает данные терминальному клиенту. </li><li>Терминальный клиент создает окно, которое полностью идентично невидимому окну приложения на терминальном сервере. С этого момента пользователь может работать с приложением в обычном режиме. </li></ol><p>За корректное отображение удаленных приложений отвечают следующие серверные компоненты:</p><ul><li><b>Rdpinit.</b><b>exe</b>, </li><li><b>Rdpshell.</b><b>exe</b>, </li><li><b>Rdpdll.</b><b>dll</b>. </li></ul><p>Rdpinit.exe - это аналог Userinit.exe. С его помощью запускаются логон-скрипты и создается оболочка пользователя. Rdpinit.exe отвечает за запуск Rdpshell.exe и обновление значков в панели уведомлений на стороне клиента через Rdpdd.dll. Кроме того, Rdpinit.exe управляет процессом завершения сеанса. </p><p>Rdpshell.exe на сервере отслеживает изменения, происходящие в окне приложения (например, открытие или закрытие) и передает их клиенту. Также, Rdpshell.exe обнаруживает соединение\отключение\переподключение терминальной сессии и соответственно закрывает или открывает окно приложения на стороне клиента.</p><p>Rdpdd.dll получает от Rdpinit.exe и Rdpshell.exe значки из панели уведомлений и обновляет их отображение на клиенте. Кроме того, Rdpdd.dll отслеживает изменения на стороне клиента и передает их приложению, запущенному на сервере.</p><p>Со стороны клиента, ключевой технологией при работе с удаленными приложениями является <b>RemoteApps </b><b>Integrated </b><b>Locally</b> (<b>RAIL</b>). Это расширение RDP-протокола, позволяющее более полную интеграцию с рабочим столом пользователя. </p><p>RAIL-клиент запускается на локальном компьютере пользователя и создает окно или значок оповещения для соответствующих им элементов приложения выполняемого на RAIL-сервере. Созданные окна\оповещения точно повторяют поведение окон\оповещений на терминальном сервере. Когда пользователь вводит какие-либо данные в Rail-окна\оповещения это захватывается RAIL-клиентом и передается на сервер. Аналогично данные передаются и в обратную сторону: все изменения отображения захватываются сервером и перенаправляются клиенту. </p><p>Более подробно взаимодействие между отдельными компонентами терминальных служб рассмотрено в статье <a href="http://blogs.technet.com/askperf/archive/2008/02/22/ws2008-terminal-services-remoteapps.aspx">WS2008: Terminal Services RemoteApps</a>.</p><p>Установка и настройка<br />Пошаговую инструкцию по установке и настройке RemoteApp можно найти на сайте <a href="http://technet.microsoft.com/ru-ru/library/cc730673(WS.10).aspx">Microsoft Technet</a>.</p><p>Здесь же остановимся на некоторых ключевых деталях настройки удаленных приложений.</p><p>При настройке удаленных приложений в консоли <b>TS RemoteApp Manager</b> можно выбрать разрешен или запрещен запуск неопубликованных приложений (рис. 2). </p><p><a href="http://lh6.ggpht.com/_hQlyOrWxVDM/S3J05dRqanI/AAAAAAAAAFA/LPneieUscEM/s1600-h/remoteapp1%5B2%5D.png"><img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="remoteapp1" border="0" alt="remoteapp1" src="http://lh5.ggpht.com/_hQlyOrWxVDM/S3J06EVOYEI/AAAAAAAAAFE/RH3CbWM7W-s/remoteapp1_thumb.png?imgmax=800" width="235" height="244" /></a> </p><p>Рис. 2. Параметры настройки развертывания удаленных приложений</p><p>Рассмотрим действие этой настройки на следующем примере. </p><p>На терминальном сервере опубликован исключительно Microsoft Word и пользователь при работе в нем открывает гиперссылку, содержащуюся в документе. В зависимости от указанной настройки, он сможет или нет запустить Internet Explorer в той же терминальной сессии.</p><p>При принятии решения следует учитывать тот факт, что в случае разрешения, пользователь может самостоятельно создать и использовать rdp-файл в котором будет указано любое приложение на терминальном сервере. В связи с этим, рекомендуется запретить запуск неопубликованных программ.</p><p>В целях безопасности, рекомендуется подписывать rdp-файлы удаленных приложений с помощью сертификатов. Это позволит клиентам при подключении проверить терминальный сервер и защититься от потенциальных атак. Дополнительным преимуществом является отсутствие предупреждения безопасности при подключении с помощью подписанного rdp-файла.</p><p>При запуске удаленного приложения, вместо значка самого приложения отображается значок клиента удаленного рабочего стола. Для предоставления пользователю более полной информации о запускаемых приложений можно воспользоваться статьей <a href="http://blogs.msdn.com/rds/archive/2009/04/06/how-to-make-remoteapp-show-the-application-icon-when-starting.aspx">How to make RemoteApp show the application icon when starting</a>. </p><p>При установке службы удаленных приложений на странице "<b>Метод проверки подлинности</b>" следует указать, каким образом будет проверяться клиент перед подключением. Если все клиенты используют операционные системы, поддерживающие протокол <b>CredSSP</b> (например, Windows 7 или Windows Vista), рекомендуется установить требование проверки на уровне сети. В противном случае рекомендуется выбрать параметр "<b>Не требовать проверку подлинности на уровне сети</b>".</p><p>Удаленные приложения можно совмещать с балансировкой нагрузки при помощи посредника служб терминалов. Для этого на каждом из терминальных серверов должен быть установлен одинаковый набор программного обеспечения, публикуемого в качестве удаленных приложений.</p><p>Удаленные приложения можно совмещать с технологией прозрачной авторизации <b>Single Sign-On</b>. В этом случае пользователю не нужно будет вводить пароль при первом запуске приложения.</p><p>Для простоты распространения удаленных приложений можно использовать <b>TS WebAccess</b>. Это позволяет публиковать подготовленные rdp-файлы на корпоративном веб-сайте.</p><p>Если пользователь с административными правами запускает удаленное приложение, то в его сессии вместе с приложением могут появиться Диспетчер Сервера и окно первоначальной настройки. Запретить это можно с помощью групповых политик</p><p><b>Do not display Initial Configuration Tasks window automatically at logon</b>,</p><p><b>Do not display Server Manager automatically at logon</b>,</p><p>находящихся в разделе <b>Computer Configuration\Administrative Templates\System\Server Manager</b>.</p><p>В русской версии операционной системы данные политики (рис. 3) называются </p><ul><li><b>Не отображать окно "Задачи начальной настройки" автоматически при входе</b>, </li><li><b>Не отображать диспетчер сервера автоматически при входе</b>. </li></ul><h4></h4><p><a href="http://lh6.ggpht.com/_hQlyOrWxVDM/S3J06g090VI/AAAAAAAAAFI/7-yjgrYrFI4/s1600-h/remoteapp2%5B2%5D.png"><img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="remoteapp2" border="0" alt="remoteapp2" src="http://lh4.ggpht.com/_hQlyOrWxVDM/S3J07B9RJGI/AAAAAAAAAFM/OuY3loNtfIQ/remoteapp2_thumb.png?imgmax=800" width="244" height="116" /></a> </p><p>Рис. 3. Групповые политики, отвечающие за отображение Диспетчера Сервера и окна первоначальной настройки </p><h4>Особенности использования</h4><p>При работе с удаленным приложениями важно учитывать, что пользователь не может самостоятельно завершить свой сеанс также как при работе с полноэкранным рабочим столом. В связи с этим, рекомендуется настроить своевременное отключение и завершение неиспользуемых сессий. Рассмотрим это более подробно.</p><p>Сессия автоматически отключается когда все запущенные пользователем окна удаленных приложений и значки в панели уведомлений закрыты. Алгоритм принятия решения об отключении сессии приведен ниже (рис. 4).</p><p><a href="http://lh4.ggpht.com/_hQlyOrWxVDM/S3J07qu__OI/AAAAAAAAAFQ/nR8-qRfmYig/s1600-h/TerminateRemoteApp%5B2%5D.png"><img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="TerminateRemoteApp" border="0" alt="TerminateRemoteApp" src="http://lh3.ggpht.com/_hQlyOrWxVDM/S3J08LW4RhI/AAAAAAAAAFU/lXE4i1Cma2c/TerminateRemoteApp_thumb.png?imgmax=800" width="64" height="244" /></a> </p><p>Рис. 4. Алгоритм отключения сессии </p><p>Сессия удаленного приложения остается активной до тех пока существует хотя бы одно видимое или активное окно в этой сессии. Активное окно может быть в любом состоянии (развернутое, свернутое, восстановленное). Кроме того, удаленное приложение, которому принадлежит окно, может быть запущено как непосредственно пользователем, так и в результате работы с уже запущенным приложением. Рассмотрим это на следующем примере.</p><p>Пользователь запускает удаленный Microsoft Outlook и открывает из него документ Microsoft Word, находившийся во вложении. Microsoft Word запускается в той же терминальной сессии отдельным удаленным приложением. Сессия будет оставаться активной до тех пор пока не закроются как Microsoft Outlook, так и Microsoft Word.</p><p>Кроме того, сессия остается активной до тех пор пока, в панели уведомлений находится как минимум один значок удаленного приложения запущенного пользователем. Рассмотрим это на следующих примерах.</p><p>Пользователь запускает удаленный Microsoft Office Communicator. После открытия приложения в панели уведомлений появляется значок приложения. Он остается там даже если закрыть главное окно приложения. Соответственно, сессия также будет оставаться активной.</p><p>Однако, это справедливо не для всех случаев. Если пользователь открывает удаленный Microsoft Outlook вместе с ним может запуститься клиент антивируса, создающий свой значок в панели уведомления. Если закрыть окно Microsoft Outlook, значок антивируса будет игнорироваться при решении об отключении сессии, т.к. это приложение не было запущено пользователем.</p><p>В случае если выявлено, что в сессии нет запущенных удаленных приложений, следует 20-ти секундная пауза. В течении её пользователь может запустить другое удаленное приложение на том же самом сервере. Если приложений не запущенно в течении этого периода, сессия будет отключена.</p><p>Открытие отключенной сессии происходит гораздо быстрее чем создание новой. По умолчанию, сессии RemoteApp могут бесконечно оставаться в отключенном состоянии. Для более рационального использования ресурсов сервера, можно определить интервал ожидания перед автоматическим завершением отключенных сессий.</p><p>Сделать это можно с помощью политики «<b>Set </b><b>time </b><b>limit </b><b>for </b><b>logoff </b><b>of </b><b>RemoteApp </b><b>sessions</b>», находящейся в разделе </p><p><b>Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Session Time Limits</b></p><p>В русскоязычных версиях операционной системы данная политика называется «<b>Задать предел времени для выхода из сеансов </b><b>RemoteApp</b>» (рис. 5).</p><p><a href="http://lh3.ggpht.com/_hQlyOrWxVDM/S3J08sPuOhI/AAAAAAAAAFY/L_2IDeW5TcA/s1600-h/gp_ra%5B2%5D.png"><img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title="gp_ra" border="0" alt="gp_ra" src="http://lh6.ggpht.com/_hQlyOrWxVDM/S3J09EJnm9I/AAAAAAAAAFc/Silj-9Cc6IU/gp_ra_thumb.png?imgmax=800" width="244" height="110" /></a> </p><p>Рис. 5. Настройка ограничения по времени терминальных сессий</p><p>В том же разделе можно задать ограничение по времени для отключенных полноэкранных сеансов. Рекомендуется устанавливать его больше чем для RemoteApp, т.к. в противном случае возможен конфликт политик.</p><p>Внедрение удаленных приложений может привести к увеличению нагрузки на терминальные сервера из-за того, что пользователи будут использовать их параллельно с полноэкранным удаленным рабочим столом. Даже если на сервере выставлено ограничение пользователя одной терминальной сессией, это не будет действовать при использовании удаленных приложений. Другими словами пользователю будет разрешено параллельно открыть как полноэкранный рабочий стол, так и удаленное приложение.</p><p>Для устранения этой проблемы можно ограничить права пользователей удаленных приложений и запретить им использование полноэкранного рабочего стола. Сделать это можно следующим образом. </p><ol><li>Создать организационную единицу в оснастке Active Directory Users and Computers </li><li>Переместить туда терминальный сервер </li><li>Создать объект групповой политики и связать его с созданной ранее организационной единицей </li><li>Создать группу безопасности. Включить в неё терминальный сервер и пользователей, которым запрещен доступ к полноэкранному рабочему столу </li><li>В фильтрах безопасности объекта групповой политики удалить группу Authenticated users и добавить созданную ранее группу. </li><li>В групповой политике установить следующие настройки: </li><li><b>Computer Configuration\Policies\Administrative Templates\System\Group Policy\User Group Policy loopback processing mode</b> - <b>Enabled</b> , mode - <b>Merge</b> </li><li><strong>User</strong> <b>Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Remote Session Environment\Start a program on connection</b> - <b>%systemroot%\system32\logoff.exe</b> </li><li>Обновить групповые политики командой<b>: gpupdate /force</b> </li></ol><p>В результате, полноэкранные сеансы пользователей удаленных приложений будут завершаться сразу же после установки соединения.</p><h3>Дополнительные ресурсы</h3><ul><li><a href="http://blogs.msdn.com/rds/archive/2007/05/07/using-terminal-services-remoteapp-programs-on-multi-monitor-client-computers.aspx">Using Terminal Services RemoteApp™ programs on multi-monitor client computers</a> </li><li><a href="http://www.blogger.com/How%20to%20make%20RemoteApp%20show%20the%20application%20icon%20when%20starting">How to make RemoteApp show the application icon when starting</a> </li><li><a href="http://blogs.msdn.com/rds/archive/2007/09/28/terminal-services-remoteapp-session-termination-logic.aspx">Terminal Services RemoteApp Session Termination Logic</a> </li><li><a href="http://blogs.technet.com/askperf/archive/2008/02/22/ws2008-terminal-services-remoteapps.aspx">WS2008: Terminal Services RemoteApps</a> </li><li><a href="http://msdn.microsoft.com/en-us/library/cc239612(PROT.10).aspx">Remote Desktop Protocol: Remote Programs Virtual Channel Extension</a> </li><li><a href="http://www.virtualizationadmin.com/articles-tutorials/terminal-services/general/working-terminal-services-remote-applications-part3.html">Working With Terminal Services Remote Applications</a> </li></ul>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com4tag:blogger.com,1999:blog-3657164111564796168.post-803901921032625622010-01-24T06:04:00.001-08:002010-01-24T06:04:07.374-08:00TS Session Broker (Посредник служб терминалов)<h4>Введение</h4> <p>Terminal Services Session Broker (посредник сеансов служб терминалов) - служба, позволяющая объединить несколько терминальных серверов в ферму. В предыдущей версии операционной системы подобной функциональностью обладала служба Terminal Server Session Directory. Она позволяла восстанавливать незавершенные сеансы при повторном соединении пользователя. В Windows Server 2008 эта служба была переименована, а также в ней добавился функционал по балансировке подключений. С помощью TS Session Broker можно обеспечить не только равномерную (по числу сессий) нагрузку на терминальные сервера, но и задать удельный вес сервера в ферме. Это позволяет направить большее число сессий на более производительные серверы.</p> <h4>Принцип работы</h4> <p>При подключении пользователя к ферме терминальных серверов следует разделять два этапа балансировки. На этапе первоначального подключения терминальные сессии распределяются на один или несколько серверов фермы. Это можно сделать встроенными средствами ДНС при использовании технологии round robin. В этом случае создается несколько записей с одним и тем же именем, ссылающихся на IP-адреса различных терминальных серверов. Также можно использовать NLB-кластер или аппаратную балансировку нагрузки.</p> <p>После ввода пользователем учетных данных, наступает второй этап балансировки. Сервер авторизует пользователя и посылает запрос посреднику сеансов служб терминалов. Там определяется сервер для подключения. К нему перенаправляется пользовательская сессия.</p> <p>При выборе сервера проверяется наличие у пользователя незавершенного сеанса. Если такой сеанс найден, терминальная сессия восстанавливается. Если у пользователя нет сеансов ни на одном из серверов фермы, он будет перенаправлен на сервер с наименьшим числом сессий. Сравнение числа сессий происходит с учетом удельного веса каждого сервера. Например, если в ферме находится два сервера с удельными весами 50 и 100, то на первый сервер будет перенаправляться в два раза меньше сессий чем на второй.</p> <p>Файлы TS Session Broker находятся в каталоге: %systemroot%\system32\tssesdir. Информация о текущих соединениях хранится в базе данных tsesdir.edb. Для каждого сеанса определены: </p> <ul> <li>имя сервера на котором установлена сессия,</li> <li>идентификатор этой сессии (присваивается терминальным сервером в момент установки соединения),</li> <li>логин пользователя,</li> <li>домен, которому принадлежит пользователь,</li> <li>протокол, использованный при соединении (RDP, ICA и.т.п.),</li> <li>дата и время создания сессии,</li> <li>дата и время отключения сеанса,</li> <li>параметры разрешения (число пикселей по ширине и высоте),</li> <li>глубина цвета,</li> <li>идентификатор, определяющий является ли соединение полноэкранным рабочим столом или оно настроено на запуск единственной программы при открытии сеанса.</li> </ul> <p>Последний параметр, вместе с именем пользователя и доменом, используется при восстановлении сеанса. Если пользователь соединяется с помощью клиента удаленного рабочего стола в котором задан запуск другой программы при старте, он не будет перенаправлен в отключенную сессию.</p> <p>Расположение базы данных tsesdir.edb можно изменить с помощью ключа реестра WorkingDirectory, находящегося в ветке: HKLM\System\CurrentControlSet\Services\Tssdis\Parameters. </p> <p>Иногда терминальные сервера приходится перезагружать в процессе технического обслуживания или по причине сбоя. Посредник сеансов служб терминалов должен определять такие ситуации и прекращать распределять сессии на недоступные сервера. Происходит это по следующему алгоритму.</p> <ol> <li>Посредник сеансов служб терминалов обнаруживает неудачное перенаправление сессии.</li> <li>Через некоторый интервал времени (по умолчанию минуту) он начинает пинговать "подозрительный" сервер.</li> <li>Если сервер остается не доступен (не отвечает на пинги) в течении заданного числа попыток, он удаляется из базы данных посредника сеансов служб терминалов.</li> <li>При перезапуске службы tssdis состояние базы данных восстанавливается.</li> </ol> <p>Параметры этого процесса можно гибко настроить с помощью ключей реестра, находящихся в ветке: HKLM\System\CurrentControlSet\Services\Tssdis\Parameters. Рассмотрим их более подробно.</p> <ul> <li>PingMode. По умолчанию равен 0. Рекомендуется не изменять этот параметр. Остальные значения используются исключительно в целях отладки.</li> <li>TimeServerSilentBeforePing. По умолчанию равен 60. Определяет промежуток времени в секундах по истечении которого посредник сеансов служб терминалов начинает пинговать терминальный сервер после неудачной попытки подключения.</li> <li>TimeBetweenPings. По умолчанию равен 10. Устанавливает число секунд между попытками пинга.</li> <li>NumberFailedPingsBeforePurge. По умолчанию равен 3. Задает число попыток пропинговать сервер перед удалением из базы данных.</li> <li>RecoverWhenStart. По умолчанию равен 1. Определяет необходимость восстановления базы данных при перезапуске службы tssdis.</li> </ul> <p>После внесения изменений службу tssdis необходимо перезапустить. При значениях по умолчанию, неработающий сервер удаляется из базы данных приблизительно за две минуты. Иногда может возникнуть ситуация когда терминальный сервер не в состоянии принимать новые подключения, но может отвечать на пинги. В этом случае посредник сеансов служб терминалов будет работать некорректно.</p> <h4>Установка и настройка</h4> <p>Подробную инструкцию по установке и настройке посредника сеансов служб терминалов можно найти на сайте <a href="http://technet.microsoft.com/en-us/library/cc771419(WS.10).aspx" target="_blank">Microsoft Technet</a>. Условно его можно разбить на три основных этапа.</p> <ol> <li>Установить роль терминального сервера со службой TS Session Broker.</li> <li>Добавить терминальные сервера в группу Session Directory Computers (локальная группа на сервере с установленным TS Session Broker).</li> <li>Настроить терминальные сервера на использование TS Session Broker.</li> </ol> <p>Отдельно хотелось бы рассказать об особенностях балансировки посредником сеансов служб терминалов.</p> <p>При включении сервера в ферму, терминальные подключения к нему начинают распределяться между всеми участниками фермы. В случае если соединение идет по имени сервера и посредник сеансов служб терминалов пытается направить пользователя на другой сервер, возникнет ошибка: </p> <p>"Подключение не удается установить, поскольку удаленный компьютер, с которым установлена связь, отличается от указанного пользователем. Это может быть связано с тем, что запись в кэше DNS устарела. Попробуйте использовать IP-адрес вместо имени компьютера." </p> <p>Подключение по имени сервера возможно лишь в случае если балансировка не потребует перенаправления. При подключении по IP-адресу сервера или по имени фермы сеанс будет распределен посредником сеансов служб терминалов. Единственный способ подключения, минуя балансировку - использование mstsc с ключом /admin. Этот метод аналогичен подключению к консоли на сервере Windows 2003 и требует наличия у пользователя административных прав.</p> <p>В большинстве случаев перенаправление терминального сеанса при балансировке его посредником сеансов служб терминалов идет по IP-адресам терминальных серверов. Указать IP-адрес, используемый для таких подключений, можно в консоли конфигурации терминального сервера. Данный режим перенаправления используется по умолчанию.</p> <p>В некоторых вариантах реализации первоначальной балансировки внутренние IP-адреса терминальных серверов могут быть недоступны для конечных пользователей. Подключения идут исключительно через внешний IP-адрес устройства балансировки. В этом случае, распределение нагрузки можно реализовать с помощью метки перенаправления, которая говорит устройству балансировки о необходимости перенаправления. При этом, данное устройство должно поддерживать указанную технологию балансировки.</p> <h4>Особенности практического использования</h4> <p>Этот раздел посвящен практическим нюансам использования TS Session Broker. Информация получена из практического опыта автора и обсуждений на форумах Technet.</p> <p>При использовании посредника сеансов служб терминалов, от пользователей могут поступать жалобы на необходимость дважды вводить учетные данные при открытии сеанса. Примеры таких тем на форумах Technet:</p> <p><a href="http://social.technet.microsoft.com/Forums/en-US/winserverTS/thread/ed624e86-c692-481c-84eb-f9026b574dd9" target="_blank">http://social.technet.microsoft.com/Forums/en-US/winserverTS/thread/ed624e86-c692-481c-84eb-f9026b574dd9</a></p> <p><a href="http://social.technet.microsoft.com/Forums/en/winserverTS/thread/53cdb3ee-7c73-4cda-aff9-afffec4b94f3" target="_blank">http://social.technet.microsoft.com/Forums/en/winserverTS/thread/53cdb3ee-7c73-4cda-aff9-afffec4b94f3</a></p> <p>Проблема связана с тем, что сервер, получив учетные данные пользователя при первоначальном соединении, перенаправляет его на другой терминальный сервер. При этом учетные данные не передаются и для входа на перенаправленный сервер пользователь вынужден вводить их второй раз. Для Windows XP с пакетом обновлений SP3 и более старших версий операционных систем это может быть решено с помощью Cred SSP. Данная технология позволяет программам передавать учетные данные пользователя с локального компьютера. Прочитать об этом можно в статье: <a href="http://support.microsoft.com/default.aspx/kb/951608" target="_blank">KB951608</a></p> <p>Более подробно это будет рассмотрено в одном из следующих материалов.</p> <p>Иногда возникает ситуация когда посредник сеансов служб терминалов перестает направлять соединения на один или несколько серверов в ферме. Помогает перезапуск службы tssdis, но через некоторое время проблема возникает снова. Для устранения этого можно воспользоваться статьей <a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;955365" target="_blank">KB955365</a>.</p> <p>Суть проблемы заключается в следующем. Во время открытия сеанса нагрузка на сервер обычно выше чем при обычной работе. В связи с этим, для одного сервера по умолчанию возможно не более 16 одновременных запросов на подключение. Это сделано для того, чтобы избежать нехватки ресурсов на терминальном сервере сразу же после его включения в ферму.</p> <p>Счетчик незавершившихся подключений возрастает на единицу в момент перенаправления сеанса с помощью посредника сеансов служб терминалов. Соответственно, после завершения подключения и открытия пользователем сеанса он уменьшается на единицу. Если счетчик одновременных подключений достигает 16, посредник сеансов служб терминалов прекращает направлять к нему сессии.</p> <p>Если сессия отключается в процессе перенаправления, посредник сеансов служб терминалов не уменьшает показания счетчика и со временем на один или несколько серверов перестают направляться новые подключения. </p> <p>В качестве решения можно увеличить число одновременных подключений. Это устанавливается ключом реестра LB_MaxNumberOfPendingRedirections, находящегося в ветке</p> <p>HKLM\SYSTEM\CurrentControlSet\Services\Tssdis\Parameters</p> <p>Если такого ключа нет, его необходимо создать.</p> <p>В некоторых случаях для того чтобы разобраться с проблемами в работе посредника сеансов служб терминалов полезно включить режим логирования. Данный процесс описан в статье <a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;327508" target="_blank">KB327508</a>.</p> <p>Для сохранения лога в файл необходимо добавить ключ TraceOutputMode со значением 3 в ветку HKLM\SYSTEM\CurrentControlSet\Services\Tssdis\Parameters</p> <p>и перезапустить службу. Файл лога по умолчанию находится в каталоге: : %systemroot%\system32\tssesdir. Туда заносятся следующие события:</p> <ul> <li>Запуск службы TS Broker;</li> <li>Остановка службы;</li> <li>Присоединение сервера к ферме;</li> <li>Выход сервера из фермы;</li> <li>Вход пользователя;</li> <li>Отключение пользователя;</li> <li>Восстановление сеанса;</li> <li>Выход пользователя;</li> <li>Сообщения системного журнала событий связанные с работой посредника сеансов служб терминалов.</li> </ul> <p>В обычном режиме работы логирование лучше отключать. Для этого параметр TraceOutputMode надо установить равным 0.</p> <p>Иногда для проведения технических работ на сервере требуется запретить устанавливать новые сессии. Такой запрет не помешает серверу участвовать в распределении поступающих на него подключений. В некоторых случаях это можно делать с целью снижения нагрузки на сервер, отвечающий за первоначальный прием соединений.</p> <p>Посредник сеансов служб терминалов необязательно устанавливать на терминальный сервер. Это может быть любой другой Windows 2008 сервер организации. </p> <p>Контроль за корректным распределением терминальных сессий удобно осуществлять с помощью пакета управления терминальными серверами в System Center Operations Manager. График распределения сессий между терминальными серверами позволяет своевременно заметить сбои в балансировки и принять соответствующие меры для их устранения.</p> <h4>Дополнительные ресурсы</h4> <ul> <li><a href="http://technet.microsoft.com/en-us/library/cc771419(WS.10).aspx" target="_blank">TS Session Broker</a></li> <li><a href="http://blogs.technet.com/askperf/archive/2008/02/24/ws2008-terminal-server-session-broker-overview.aspx" target="_blank">WS2008: Terminal Server Session Broker Overview</a></li> <li><a href="http://blogs.technet.com/askperf/archive/2008/02/25/ws2008-session-broker-load-balancing.aspx" target="_blank">WS2008: Session Broker Load Balancing</a></li> </ul> Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com6tag:blogger.com,1999:blog-3657164111564796168.post-34243112571555049552010-01-23T23:38:00.001-08:002010-01-24T01:47:38.753-08:00Смена файловых ассоциаций на терминальном сервере<h4>Введение</h4><p>Выбор, установка и настройка программного обеспечения на терминальных серверах - чрезвычайно важная и сложная задача. Достаточно много приложений плохо приспособлено для использования на терминальных серверах. Следовательно, их установка может привести к потери производительности и ошибкам при работе на удаленном рабочем столе.</p><p>Данная статья посвящена смене файловых ассоциаций на терминальном сервере. В результате этой операции изменяются приложения, используемые пользователем для открытия заданных типов файлов. Описание процесса изменения файловых ассоциаций основано на примере файлов изображений *.tif и программы Imagine.</p><p>Немного предыстории. В связи с нестабильной работой фотоальбома Windows на терминальных серверах, было принято решение об использовании альтернативного программного обеспечения для просмотра изображений. На серверах уже был установлен Microsoft Office 2007. Однако, Microsoft Office Picture Manager не подходил из-за отсутствия поддержки просмотра многостраничных tif-файлов. Кроме того, при попытке печати из Microsoft Office Picture Manager и фотоальбома Windows возникала загадочная ошибка о недостатке оперативной памяти.</p><p><a href="http://lh6.ggpht.com/_hQlyOrWxVDM/S1wVrRfgFXI/AAAAAAAAAEI/6D5b3MQ3beg/s1600-h/error%5B5%5D.png"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="error" border="0" alt="error" src="http://lh3.ggpht.com/_hQlyOrWxVDM/S1wVryHrYuI/AAAAAAAAAEM/W7Vwvpck6v4/error_thumb%5B1%5D.png?imgmax=800" width="244" height="178" /></a> </p><p>Замена принтера по умолчанию и настройка его параметров не помогали. Удаление профиля, добавление прав, удаление и повторная установка компонента "Возможности рабочего стола" также не смогли решить проблему. В результате было принято решение использовать альтернативное программное обеспечение. </p><p>В качестве такового было выбрано Imagine</p><p>http://en.wikipedia.org/wiki/Imagine_(graphics_software)</p><p>Из его плюсов можно отметить:</p><p>· низкие требования к ресурсам сервера,</p><p>· отсутствие предпросмотра при печати изображений (на терминальных серверах это приводит к излишней трате трафика),</p><p>· русскоязычный интерфейс,</p><p>· поддержку просмотра многостраничных tif,</p><p>· интеграция с проводником Windows.</p><p>После установки, которая заключалась в копировании файлов программы, стало необходимо сменить ассоциации у пользователей.</p><h4>Смена ассоциаций</h4><p>Стандартными утилитами для выполнения подобного рода операций являются:</p><p><a href="http://technet.microsoft.com/en-us/library/bb490865.aspx" target="_blank">assoc</a> и <a href="http://technet.microsoft.com/en-us/library/bb490912.aspx" target="_blank">ftype</a>. </p><p>Для смены ассоциации для открытия файлов с расширением .tif достаточно выполнить следующие команды:</p><p>assoc .tif=Imagine.Document</p><p>ftype Imagine.Document="E:\Program Files\Imagine\Imagine.exe" "%1"</p><p>вместо Imagine.Document можно задать любой другой новый тип файлов. </p><p>К сожалению я, недостаточно хорошо владею искусством написания скриптов. Поэтому мне не удалось добавить в логон-скрипт указанные выше команды. Проблема была в двойных кавычках у параметра команды ftype и том как их передать в скрипт. Поискав в Интернете, наткнулся на статью:</p><p><a href="http://blogs.technet.com/heyscriptingguy/archive/2009/03/27/quick-hits-friday-the-scripting-guys-respond-to-a-bunch-of-questions-03-27-09.aspx" target="_blank">http://blogs.technet.com/heyscriptingguy/archive/2009/03/27/quick-hits-friday-the-scripting-guys-respond-to-a-bunch-of-questions-03-27-09.aspx</a></p><p>в которой рекомендовалось создать vbs-скрипт подобного содержания:</p><p>Set objShell = WScript.CreateObject("WScript.Shell")</p><p>objShell.Run("%comspec% /K ftype TIFImage.Document =""C:\Program Files\MSPVIEW.exe"" ""%1"""), 1, True</p><p>Там же приводилась ссылка на официальную документацию:</p><p><a href="http://technet.microsoft.com/ru-ru/library/ee156605(en-us).aspx" target="_blank">http://technet.microsoft.com/ru-ru/library/ee156605(en-us).aspx</a></p><p>В качестве решения предлагалось использование сдвоенных парных кавычек. Однако, у меня этот скрипт не заработал. В результате его выполнения возникало и не завершалось окно командной строки. Ассоциации при этом оставались неизмененными.</p><p>В качестве еще одного способа моей задачи предлагалось использование Group Policy Prefferences. Однако этот подход меня смутил, т.к. там ассоциации для файла создавались в разделе конфигурации компьютера и требовали указания массы параметров.</p><p>В итоге, решил попробовать сменить ассоциации через реестр. Для этого запустил <a href="http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx" target="_blank">Process Monitor</a> и с его помощью отследил изменения, производимые в реестре. Они происходили в двух местах.</p><p>В ветке: HKEY_CURRENT_USER\Software\Classes\Applications создавался куст реестра, соответствующий Imagine, а ветке HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif</p><p>прописывалось, что файл *.tif надо открывать с помощью описанного выше приложения.</p><p>Собрав все изменения в один reg-файл, проверил его работу по изменению ассоциации. Для этого вручную выбрал Microsoft Office Picture Manager для открытия данного типа файлов и импортировал созданный ранее reg-файл. В результате, получил ошибку о том, что не все данные были импортированы.</p><p><a href="http://lh4.ggpht.com/_hQlyOrWxVDM/S1wVsr3xnNI/AAAAAAAAAEQ/Elusml6Kh_I/s1600-h/error2%5B2%5D.png"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="error2" border="0" alt="error2" src="http://lh4.ggpht.com/_hQlyOrWxVDM/S1wVtCC_UNI/AAAAAAAAAEU/_Flm2SibQ_Y/error2_thumb.png?imgmax=800" width="244" height="57" /></a> </p><p>Причиной подобной ошибки послужил запрет на изменение значений ветки реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\UserChoice.</p><p>Этот запрет автоматически создавался системой после "ручного" выбора программы для открытия tif-файлов. </p><p><a href="http://lh3.ggpht.com/_hQlyOrWxVDM/S1wVttsYVyI/AAAAAAAAAEY/Dg87bHZQotc/s1600-h/registry%5B2%5D.png"><img style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title="registry" border="0" alt="registry" src="http://lh6.ggpht.com/_hQlyOrWxVDM/S1wVuEaFmuI/AAAAAAAAAEc/fLZ1ltfRUHM/registry_thumb.png?imgmax=800" width="244" height="229" /></a> </p><p>С другой стороны, было возможно удалить вышестоящую ветку, чем я и воспользовался. Для этого в reg-файл добавил строчку</p><p>[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\UserChoice]</p><p>После этого осталось написать скрипт, который проверял бы в реестре значение нужного ключа и при необходимости импортировал созданный reg-файл. Скрипт позаимствовал из <a href="http://social.technet.microsoft.com/Forums/ru-RU/scrlangru/thread/f834a107-d8b9-410e-91ee-412e890cb8ac" target="_blank">форумов Technet</a></p><p>После небольшой модификации получил скрипт и reg-файл, который добавил в логон-скрипт групповой политики при входе на терминальный сервер.</p><p>В заключении прилагаю содержимое reg-файла и vbs-скрипта</p><p><strong><em><span style="font-size:130%;">imagine.reg</span></em></strong>:</p><p>Windows Registry Editor Version 5.00</p><p>[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\UserChoice]</p><p>[HKEY_CURRENT_USER\Software\Classes\Applications\Imagine.exe]</p><p>[HKEY_CURRENT_USER\Software\Classes\Applications\Imagine.exe\shell]</p><p>[HKEY_CURRENT_USER\Software\Classes\Applications\Imagine.exe\shell\open]</p><p>[HKEY_CURRENT_USER\Software\Classes\Applications\Imagine.exe\shell\open\command]</p><p>@="\"E:\\Program Files\\Imagine\\Imagine.exe\" \"%1\""</p><p>[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif]</p><p>[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\OpenWithList]</p><p>"a"="Imagine.exe"</p><p>"MRUList"="a"</p><p>[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\OpenWithProgids]</p><p>"TIFImage.Document"=hex(0):</p><p>[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\UserChoice]</p><p>"Progid"="Applications\\Imagine.exe"</p><p> </p><p><strong><em><span style="font-size:130%;">imagine.vbs</span></em></strong>:</p><p>Dim i,Shell,KeyValue,Keys(1,4)</p><p>set Shell = WScript.CreateObject("WScript.Shell")</p><p>Keys(0,0)="Progid"</p><p>Keys(0,1)="HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.tif\UserChoice\"</p><p>Keys(0,2)="Applications\Imagine.exe"</p><p>Keys(0,3)="REG_SZ"</p><p>On Error Resume Next</p><p>For i=0 To UBOUND(Keys)-1</p><p>Shell.RegRead(Keys(i,1)&Keys(i,0))</p><p>if Err.Source="WshShell.RegRead" then</p><p>Set objShell = CreateObject("Wscript.Shell")</p><p>objShell.Run ("regedit /s E:\Program Files\Imagine\imagine.reg")</p><p>KeyValue=Keys(i,2)</p><p>else</p><p>KeyValue= Shell.RegRead(Keys(i,1)&"\"&Keys(i,0))</p><p>end if</p><p>Err.Clear</p><p>If KeyValue<>Keys(i,2) then</p><p>Set objShell = CreateObject("Wscript.Shell")</p><p>objShell.Run ("regedit /s E:\Program Files\Imagine\imagine.reg")</p><p>End If</p><p>Next</p>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com0tag:blogger.com,1999:blog-3657164111564796168.post-72565047470457529742010-01-23T21:41:00.000-08:002010-01-23T22:31:11.932-08:00Обзор Служб Терминалов в Windows 2008 Server<p><span style="color:#3366ff;"><span style="font-size:130%;">Введение</span></span><span style="color:#3366ff;"><br /></span>Организация удаленного доступа к информационным ресурсам является одной из наиболее актуальных задач системных администраторов крупных и средних предприятий. Этот сервис наиболее востребован для пользователей удаленных офисов и филиалов, а также для сотрудников, работающих за пределами корпоративной сети. В большинстве случаев данную проблему можно решить путем внедрения системы терминальных серверов. С их помощью пользователи могут работать с корпоративными приложениями, а также сетевыми ресурсами, расположенными в локальной сети предприятия. Новые компоненты, появившиеся в Windows Server 2008, позволяют выйти за рамки традиционных представлений об удаленном доступе и значительно расширить функциональность терминальных серверов. В качестве ключевых технологий для работы с удаленным рабочим столом можно выделить: </p><ul><li>TS Session Broker; </li><li>TS Gateway; </li><li>TS RemoteApp; </li><li>TS Web Access; </li><li>TS Easy Print; </li><li>Single Sign-on. </li></ul><p>Рассмотрим их более подробно.</p><p></p><p></p><p><span style="font-size:130%;"><span style="color:#3366ff;"></span><span style="color:#3366ff;">TS Session Broker</span></span><br />Если удаленный доступ требуется одновременно многим пользователям, то одного терминального сервера может быть недостаточно. В этом случае можно организовать подключение с помощью Terminal Services Session Broker (посредник сеансов служб терминалов). Эта служба обеспечивает балансировку сеансов между терминальными серверами, находящимися в ферме. Кроме того, в случае если пользователь отсоединился, не завершив работы, при следующем подключении его перенаправит в существующий сеанс. Дополнительным преимуществом является возможность подключения по единому имени. Другими словами, пользователи не должны каждый раз выбирать имя сервера к которому они подключаются. Достаточно в настройках клиента удаленного рабочего стола указать имя фермы терминальных серверов. Всю дальнейшую работу по подключению возьмет на себя TS Session Broker. </p><p><br /><span style="font-size:130%;"><span style="color:#3366ff;">TS Gateway</span><br /></span>Для пользователей, работающих за пределами корпоративной сети, стало возможно более безопасное подключение к терминальному серверу без установки vpn-подключения. В этом случае Terminal Services Gateway (шлюз служб терминалов) выполняет роль посредника. Принимая соединения из вне, он перенаправляет их на нужный пользователю терминальный сервер. С помощью настроек безопасности возможно ограничить набор терминальных серверов к которым разрешено подключаться подобным образом. Интеграция с NAP позволяет задать требования к компьютеру пользователя и перед подключением проверить на нем: актуальность системных обновлений и базы антивируса, состояние брандмауэра. Отдельно следует отметить, что для подключения по умолчанию необходим лишь 443 порт. Это особенно актуально при работе в публичных местах где разрешен лишь доступ по ограниченному набору портов. </p><p><br /><span style="font-size:130%;"><span style="color:#3366ff;">TS RemoteApp</span><br /></span>Terminal Services RemoteApp (удаленные приложения) упрощают работу с приложениями, установленными на терминальном сервере. Теперь они могут использоваться практически так же как и локально установленные программы. Удаленные приложения могут распространяться с помощью msi-пакетов и интегрироваться с локальной операционной системой. В частности, ярлыки этих приложений будут находиться в меню "Пуск" или на рабочем столе локального компьютера, а также использоваться при открытии ассоциированных с ними типов файлов.</p><p><br /><span style="font-size:130%;color:#3366ff;">TS Web Access</span><br />Для предоставления доступа к удаленным приложениям можно использовать TS Web Access (веб-доступ к службам терминалов). В этом случае пользователи могут запускать опубликованные приложения из окна браузера, зайдя на внутренний сайт организации. Это значительно упрощает процесс распространения приложений и делает их доступней для конечного пользователя. Для работы через TS Web Access необходим доступ к терминальному серверу и клиент удаленного рабочего стола (версии не меньше 6.1).</p><p><br /><span style="font-size:130%;color:#3366ff;">TS Easy Print<br /></span>Поддержка системы печати на терминальных серверах традиционно является "головной болью" системных администраторов. Установка различных версий драйверов для множества разнообразных принтеров зачастую приводит к частым сбоям службы диспетчера очереди печати, а в некоторых случаях даже к остановке самого сервера. Технология Terminal Services Easy Print позволяет избежать этого, используя универсальный драйвер. С его помощью, задания на печать формируются в виде xps-файлов и передаются на клиентский компьютер. На компьютере пользователя задание обрабатывается с помощью локально установленных драйверов и посылается на нужный принтер.</p><p><br /><span style="font-size:130%;color:#3366ff;">Single Sign-on</span><br />Одним из основных неудобств для пользователя, при использовании удаленных подключений, является необходимость ввода учетных данных при подключении к серверу. С помощью технологии Single Sign-on возможна автоматическая подстановка логина и пароля, введенных пользователем при локальном входе в систему. Это особенно удобно при использовании удаленных приложений. С помощью групповых политик можно определить для каких серверов может применяться данный способ аутентификации.</p><p><br /><span style="font-size:130%;color:#3366ff;">Заключение</span><br />В статье рассмотрены компоненты, входящие в состав служб терминалов Windows Server 2008. С их помощью значительно расширены возможности использования удаленного доступа. За счет использования новых технологий улучшена стабильность работы терминальных серверов. Кроме того, для конечного пользователя упрощен процесс использования как самих терминальных серверов, так и приложений опубликованных на них.<br />Данная статья носит обзорный характер. Более подробная информация о способе установке и настройке каждого из описанных элементов, а также опыт их практического использования будут изложены в следующих статьях цикла.</p><p><br /><span style="font-size:130%;color:#3366ff;">Дополнительные ресурсы</span><br />При подготовке статьи были использованы следующие интернет-ресурсы:</p><ul><li> <a href="http://technet.microsoft.com/ru-ru/library/cc731263(WS.10).aspx">Русскоязычная документация о роли служб терминалов </a></li><li><a href="http://technet.microsoft.com/en-us/library/dd640164(WS.10).aspx">Английская версия этого документа </a></li><li><a href="http://blogs.msdn.com/rds/">Блог разработчиков</a> </li></ul><p><br /></p>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com0tag:blogger.com,1999:blog-3657164111564796168.post-61921102221920169512010-01-04T01:29:00.000-08:002010-01-04T02:44:36.279-08:00Публикация статей с конкурса Oszone.net<p>Хочу добавить ссылки на статьи, опубликованные мной ранее на сайте <a href="http://oszone.net/">oszone.net</a> в рамках конкурса <a href="http://oszone.net/10324/Windows7_Contest">Наш Выбор - Windows 7</a>. Хотя занять призовое место и не получилось, участие принесло массу положительных эмоций. Особенно хотелось бы поблагодарить организатора конкурса - Вадима Стеркина. Его рецензии позволили значительно улучшить содержание статей и выявить в них массу грамматических ошибок.<br />Список статей:<br /><a href="http://oszone.net/10568/RDP_7">Новые возможности подключения к удаленному рабочему столу в Windows 7 и Windows 2008 R2 </a><br /><br /><a href="http://oszone.net/10723/activation">Windows 7 в корпоративной среде Часть 1: Активация системы</a> </p><p></p><p><a href="http://oszone.net/10746/print">Windows 7 в корпоративной среде Часть 2: Организация системы печати</a><br /></p><p><a href="http://oszone.net/10755/update">Windows 7 в корпоративной среде Часть 3: Обзор системы обновлений</a> </p><p><br /><a href="http://oszone.net/10935/BranchCache1">Технология BranchCache. Часть 1. Краткий обзор.</a> </p><p><br /><a href="http://oszone.net/10934/BranchCache2">Технология BranchCache. Часть 2. Distributed Cache Mode. </a></p><p></p><p><a href="http://oszone.net/10935/BranchCache3">Технология BranchCache. Часть 3. Hosted Cache Mode. </a></p><p><br /><a href="http://oszone.net/10936/BranchCache4">Технология BranchCache. Часть 4. Настройка брандмауэра клиентских рабочих станций.</a> </p><p><br /><a href="http://oszone.net/10937/BranchCache5">Технология BranchCache. Часть 5. Настройка серверов. </a></p><p><br /><a href="http://oszone.net/10997/offline_files">Прозрачное кэширование и автономные файлы в Windows 7 и Windows 2008 R2 </a><br /></p>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com0tag:blogger.com,1999:blog-3657164111564796168.post-74355401569936922952009-12-26T21:44:00.000-08:002009-12-27T00:18:11.626-08:00Установка агента System Center Operations Manager на сервер Forefront TMG, находящийся в рабочей группе<p><span style="font-size:130%;color:#3366ff;">Введение</span></p><p>В статье описывается процесс установки агента <strong>Operations Manager 2007 R2</strong> на сервер <strong>Forefront TMG</strong>, находящийся в рабочей группе. А также способ получения сертификатов для поддержки доверительных отношений между агентом и сервером Operations Manager без участия удостоверяющего центра версии Enterprise.</p><p>Немного предыстории. Недавно руководство поставило задачу настроить мониторинг сервера Forefront Thread Management Gateway 2010. Процесс усложнялся тем, что этот сервер расположен в рабочей группе и не входит в состав домена Active Directory.</p><p>В первую очередь скачал <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0391715a-6355-448d-9686-60e584a03264&displaylang=en">Management Pack for Forefront Threat Management Gateway 2010 Release Candidate </a>. С помощью данного пакета управления можно получать информацию о событиях и предупреждениях, связанных с работой сервера, его компонентов, а также их взаимодействии с другими элементами IT-инфраструктуры. Кроме того, собираются данные о производительности, доступности, конфигурации и текущем статусе сервера Forefront TMG.</p><p>В ходе установки msi-пакета создается каталог с файлами самого Management Pack и прилагающейся к нему документацией. По умолчанию они расположены в:</p><p><em>C:\Program Files (x86)\System Center Management Packs\Microsoft Forefront TMG Management Pack</em></p><p>В первую очередь рекомендуется ознакомиться с документом "<strong><em>Microsoft Forefront Threat Management Gateway Management Pack Guide for Operations Manager 2007</em></strong>". Условно его можно разделить на три основные части</p><ul><li><p>Общая информация о пакете управления. Здесь рассказано о текущей версии продукта, изменениях по сравнению с предыдущими версиями, поддерживаемые сценарии использования.</p></li><li><p>Подготовительные действия. К ним можно отнести настройку серверов ForeFront TMG и Operations Manager, а также процесс установки агентов и пакета управления.</p></li><li><p>Подробная информация об объектах, входящих в состав пакета управления и способах настройки для различных сценариев использования.</p></li></ul><br /><p>Перейдем сразу же ко второй части.</p><p><span style="font-size:130%;color:#3366ff;">Установка агента</span></p><p>В процессе установки следует выполнить следующие действия:</p><p>1. разрешить ручную установки агентов на сервере Operations Manager,</p><p>2. создать правило доступа на сервере ForeFront TMG для разрешения удаленного мониторинга,</p><p>3. установить агента Operations Manager на сервере ForeFront TMG,</p><p>4. сгенерировать и установить сертификаты для поддержки доверительных отношений между серверами (в случае нахождения сервера ForeFront TMG в рабочей группе).</p><p>Рассмотрим это более подробно.</p><p><span style="font-size:130%;color:#3366ff;">Разрешение ручной установки агентов на сервере Operations Manager</span></p><p>В большинстве случаев Operations Manager получает информацию с объектов наблюдения при помощи установленных там агентов. Для мониторинга ForeFront TMG установка агента обязательна, т.к. сценарий использования <strong>Agentless Monitoring</strong> не поддерживается. Чаще всего установка агентов осуществляется при помощи мастера обнаружения (<strong>Discovery Wizard</strong>), запускаемого из консоли администрирования. Однако из-за блокировки трафика файерволом, на Forefront TMG сервере рекомендуется ручная установка агента.</p><p>Для разрешения ручной установки агента на сервере Operations Manager необходимо выполнить следующие действия.</p><p>1. В консоли администрирования перейти на вкладку <strong>Administration</strong>.</p><p>2. Выбрать <strong>Settings</strong>.</p><p>3. Дважды щелкнуть мышью по <strong>Security</strong>.</p><p>4. В открывшемся окне "<strong>Global Management Server Settings - Security</strong>" выбрать "<strong>Review new manual agent installations in pending management view</strong>" (см. рис. 1). Автоматическое одобрение может быть как включено, так и не включено (в зависимости от требований к безопасности).</p><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigoOq6AG9JCq4jy0DYDQrwcXaC3MxMZlNxDRUoGo4v-vGljXQCRVAXsaAkQ_A-yBbO0-oC6hwKfKWa9UPGWt4wn5doQNur424Eq4ZR3OHKU9_P4I489RVI8UOgK2OzbqNXxh3jtSo24hk/s1600-h/fig1.PNG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 185px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5419789306046791938" border="0" alt="Creating " src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigoOq6AG9JCq4jy0DYDQrwcXaC3MxMZlNxDRUoGo4v-vGljXQCRVAXsaAkQ_A-yBbO0-oC6hwKfKWa9UPGWt4wn5doQNur424Eq4ZR3OHKU9_P4I489RVI8UOgK2OzbqNXxh3jtSo24hk/s320/fig1.PNG" /></a><br /><p>Рис. 1. Настройка ручной установки агентов в консоли администрирования</p><br /><p><span style="font-size:130%;color:#3366ff;">Создание правила доступа на сервере ForeFront TMG</span></p><p>Для разрешения удаленного мониторинга необходимо создать соответствующее правило на сервере ForeFront TMG. Для разрешения передачи информации через сетевой экран необходимо выполнить следующие действия.</p><p>1. Запустить консоль управления ForeFront TMG.</p><p>2. Выбрать <strong>"Firewall Policy"</strong>.</p><p>3. Создать новый набор компьютеров (<strong>Computer Set</strong>).</p><p>a. Перейти на закладку "<strong>Toolbox</strong>" и выбрать "<strong>Network Objects</strong>".</p><p>b. Щелкнуть правой кнопкой мыши по пункту <strong>Computer Set</strong> и выбрать "<strong>New Computer Set...</strong>"</p><p>c. Ввести имя для набора (например, "System Center Operations Manager").</p><p>d. Нажать кнопку "<strong>Add</strong>".</p><p>e. Ввести имя сервера Operations Manager и его IP-адрес.</p><p>f. Дважды нажать кнопку "<strong>OK</strong>" для завершения создания.</p><p>4. Перейти на закладку "<strong>Tasks</strong>" и выбрать "<strong>Create Access Rule</strong>" (см. рис. 2).</p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhACQikhMdfBq60afGOYkXawGU8x-g4nOBg0kDVdKBluQoVi-Mubk7B9k_YZ1KjTem0sI4GgPgLspz8NGEsRJ_SrAoEBl_SDtURK_k8n361BhgcwKJOdUAiX8tHI7Ko0Wb75V8x-Y6gXks/s1600-h/fig2.PNG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 221px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5419789621354389602" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhACQikhMdfBq60afGOYkXawGU8x-g4nOBg0kDVdKBluQoVi-Mubk7B9k_YZ1KjTem0sI4GgPgLspz8NGEsRJ_SrAoEBl_SDtURK_k8n361BhgcwKJOdUAiX8tHI7Ko0Wb75V8x-Y6gXks/s320/fig2.PNG" /></a>Рис. 2. Панель управления ForeFront TMG<br /><p>5. Задать имя для правила доступа и нажать кнопку "<strong>Next</strong>".</p><p>6. На странице "<strong>Rule Action</strong>" выбрать "<strong>Allow</strong>".</p><p>7. На странице выбора протоколов</p><p>a. Выбрать "<strong>Selected Protocols</strong>" и нажать кнопку "<strong>Add</strong>".</p><p>b. В появившемся списке развернуть папку "<strong>Infrastructure</strong>".</p><p>c. Выбрать "<strong>System Center Operation Manager Agent</strong>" и нажать "<strong>Add</strong>".</p><p>d. Выбрать "<strong>System Center Operation Manager Agent Installation</strong>", нажать "<strong>Add</strong>" и "<strong>Close</strong>".</p><p>e. Нажать "<strong>Next</strong>".</p><p>8. На странице "<strong>Access Rule Sources</strong>"</p><p>a. Нажать "<strong>Add</strong>".</p><p>b. Развернуть папку "<strong>Network</strong>", выбрать "<strong>Local Host</strong>", нажать "<strong>Add</strong>" и нажать "<strong>Close</strong>".</p><p>c. Нажать "<strong>Next</strong>".</p><p>9. На странице "<strong>Access Rule Destinations</strong>"</p><p>a. Нажать "<strong>Add</strong>".</p><p>b. Развернуть папку "<strong>Computer Sets</strong>", выбрать созданный ранее набор компьютеров ("<strong>System Center Operations Manager</strong>"), нажать "<strong>Add</strong>" и нажать "<strong>Close</strong>".</p><p>c. Нажать "<strong>Next</strong>".</p><p>10. На странице "<strong>User Sets</strong>" нажать "<strong>Next</strong>".</p><p>11. На странице "<strong>Completing the New Access Rule Wizard</strong>" нажать "<strong>Finish</strong>".</p><p>12. Нажать "<strong>Apply</strong>" для сохранения и применения созданного правила.</p><p><span style="font-size:130%;color:#3366ff;">Установка агента Operations Manager на сервере ForeFront TMG</span></p><p>Для ручной установки агента можно воспользоваться пакетом <strong><em>MOMAgent.msi</em></strong>. Найти его можно на сервере управления в папке:</p><p>"<strong><em>Каталог установки Operations Manager\AgentManagement\Архитектуры сервера Forefront TMG</em></strong>"</p><p>Например, в моем случае это:</p><p><strong><em>C:\System Center Operations Manager 2007\AgentManagement\amd64</em></strong>.</p><p>В качестве альтернативного варианта можно воспользоваться диском с дистрибутивом установки System Center Operations Manager.</p><p>Рассмотрим процесс установки msi-пакета. Для этого необходимо выполнить следующие действия</p><p>1. Дважды кликнуть по файлу <strong><em>MOMAgent.msi</em></strong>.</p><p>2. В окне "<strong>Welcome to the System Center Operations Manager 2007 R2 Agent Setup Wizard</strong>" нажать "<strong>Next</strong>".</p><p>3. Выбрать "<strong>Specify Management Group Information"</strong> и нажать "<strong>Next</strong>".</p><p>4. В поле "<strong>Management Group Name</strong>" указать имя группы управления.</p><p>5. В поле "<strong>Management Server Name</strong>" указать имя сервера управления.</p><p>6. Выбрать в качестве учетной записи для действий агента указать <strong>Local System</strong> или другую предварительно созданную запись.</p><p>7. Завершить работу мастера установки агента.</p><p><span style="font-size:130%;color:#3366ff;">Настройка аутентификации при помощи сертифкатов</span></p><p>В случае установки агентов на компьютеры, находящиеся в рабочей группе рекомендуется использование <a href="http://technet.microsoft.com/en-us/library/bb432149.aspx"><strong>Operations Manager Gateway Server</strong></a>.<br />Gateway Server собирает информацию с агентов, находящихся в рабочих группах или доменах с которыми не установлено доверительных отношений, и передает её на центральный сервер управления. Преимуществом такого сервера является передача данных от него к серверу управлению только по одному порту (TCP 5723). Это упрощает настройку сетевых экранов и повышает уровень безопасности системы.</p><p>Однако в некоторых случаях можно обойтись и без установки Gateway Server. Информация об этом изложена в статье <a href="http://support.microsoft.com/default.aspx/kb/947691">KB947691</a></p><p>Рассмотрим это более подробно.</p><p>В случае невозможности использования взаимной аутентификации по протоколу Kerberos, на агенте могут возникать ошибки вида:</p><p>" <em>Event ID : 21007 The OpsMgr connector cannot create a mutually authenticated connection to <Management server> because it is not in a trusted domain. Event ID : 21016 Opsmgr was unable to setup a communication channel to <Management server> and there is no failover hosts</em> "</p><p>Кроме того, сведения об агенте не появляются в консоли Operations Manager. Для устранения подобных проблем необходимо использоваться сертификаты.</p><p>В приведенной выше статье предлагается следующий порядок действий.</p><p>1. Импортировать сертификат корневого удостоверяющего центра на сервер управления и Forefront TMG .</p><p>2. Настроить удостоверяющий центр на поддержку сертификатов Operations Manager.</p><p>3. Запросить сертификаты с сервера управления и Forefront TMG.</p><p>4. Сохранить полученные сертификаты в виде pfx-файлов.</p><p>5. Настроить агента и сервер Operations Manager на использование полученных сертификатов c помощью утилиты <strong>MOMCertImport</strong>.</p><p>К сожалению, в моем случае сервер Operations Manager находился в домене без удостоверяющего центра. Установка его требовала множество согласований и тщательного планирования. Однако, существовал сервер сертификатов тестового домена, установленный на <strong>Windows 2008 Server Standard Edition</strong>. В связи с этим, добавление специализированных шаблонов сертификатов не поддерживалось. Поэтому 2-й шаг, приведенной выше инструкции, был немного модифицирован для адаптации к текущим условиям.</p><p><span style="font-size:130%;color:#3366ff;">Импорт сертификата корневого удостоверяющего центра</span></p><p>1. Запустить браузер и перейти к веб-интерфейсу удостоверяющего центра. Обычно ссылка для этого имеет вид: <strong><em>http://certification_authority_server/certsrv</em></strong>. Вместо <strong>certification_authority_server</strong> следует подставить полное доменное имя сервера сертификатов.</p><p>2. Нажать "<strong>Download a CA certificate, certificate chain, or CRL</strong>".</p><p>3. Выбрать "<strong>Download a CA certificate chain</strong>" (см. рис. 3).</p><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt5WpQBlTOKb9JtR-1Aug0T2EyXJDMnVpGSnAGC8Oez-ErPkA-rvPFdhcS7opU8CsmeFxzg685bzA3aXMm6Mzb9J89dz2MKqbbIYi8VNWQlCyTM0A4zsWQyZe_eMtFGgYHtJ5wjG1mBc4/s1600-h/fig3.PNG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 139px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5419789626509800978" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt5WpQBlTOKb9JtR-1Aug0T2EyXJDMnVpGSnAGC8Oez-ErPkA-rvPFdhcS7opU8CsmeFxzg685bzA3aXMm6Mzb9J89dz2MKqbbIYi8VNWQlCyTM0A4zsWQyZe_eMtFGgYHtJ5wjG1mBc4/s320/fig3.PNG" /></a><br /><p>Рис. 3. Запрос корневого сертификата через web-интерфейс</p><p>4. Сохранить файл с расширением p7b на рабочем столе.</p><p>5. Открыть консоль MMC и добавить в неё оснастку "<strong>Certificates</strong>". В параметрах этой оснастки выбрать "<strong>Computer account</strong>" и "<strong>Local Computer</strong>".</p><p>6. Выбрать пункт "<strong>Trusted Root Certificate Authorities</strong>". Щелкнуть правой кнопкой мыши по "<strong>Certificates</strong>". Перейти к пункту меню "<strong>All Tasks</strong>" и выбрать "<strong>Import</strong>".</p><p>7. В качестве маски файла указать тип: "<strong>PKCS #7 Certificates (*.spc,*.p7b )</strong>" и выбрать файл сертификата, сохраненный ранее на рабочем столе. Нажать кнопку "<strong>Open</strong>" и затем "<strong>Finish</strong>".</p><p><span style="font-size:130%;color:#3366ff;">Запрос сертификата</span></p><p>В связи с тем, что удостоверяющий центр не поддерживал выпуск сертификатов при помощи специализированных шаблонов, запрос происходил по схеме предложенной в статье: "<a href="http://blogs.msdn.com/andrekl/archive/2008/09/24/how-to-generate-a-csr-for-an-iis-website-using-the-windows-vista-server-2008-certificates-mmc-plugin.aspx">Creating "Wildcard" Certificate Requests for IIS using the Windows Vista/Server 2008 Certificates MMC plugin</a>"</p><p>1) Открыть консоль <strong>MMC</strong> и добавить в неё оснастку "<strong>Certificates</strong>". В параметрах этой оснастки выбрать "<strong>Computer account</strong>" и "<strong>Local Computer</strong>".</p><p>2) Щелкнуть правой клавишей мыши по папке "<strong>Personal</strong>". Выбрать "<strong>All Tasks</strong>"; "<strong>Advanced Operations</strong>"; "<strong>Create Custom Request...</strong>".</p><p>3) Нажать дважды "<strong>Next</strong>".</p><p>4) В окне "<strong>Custom Request</strong>" выбрать <strong>"(No template) Legacy Key</strong>" (см. рис. 4). В качестве формата запроса оставить предлагаемый по умолчанию "<strong>PKCS #10</strong>". Нажать "<strong>Next</strong>".</p><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgr1v2-ImdBrqVN1L1Wj533Ep2ixJAFRok81xkhBir8YrDjA7_YAqV_i5oPFTnHrXos4XwqqDRWaao_W6d28Nk6zAXkCxLgr_N4V2CtBo9h0wYIekbGz9glzznmjmqwY3v688ymqpKlZg/s1600-h/fig4.PNG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 219px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5419789632589532610" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgr1v2-ImdBrqVN1L1Wj533Ep2ixJAFRok81xkhBir8YrDjA7_YAqV_i5oPFTnHrXos4XwqqDRWaao_W6d28Nk6zAXkCxLgr_N4V2CtBo9h0wYIekbGz9glzznmjmqwY3v688ymqpKlZg/s320/fig4.PNG" /></a><br /><p>Рис. 4. Формирование запроса на специализированный сертификат</p><p>5) В окне "<strong>Certificate Information</strong>" развернуть значок "<strong>Details</strong>" и нажать кнопку "<strong>Properties</strong>".</p><p>6) Перемещаясь по вкладкам справа налево установить следующие значения параметров запроса.</p><p>a) На закладке "<strong>Private Key</strong>" развернуть "<strong>Key Type</strong>" и выбрать "<strong>Exchange</strong>". Затем, развернуть "<strong>Key Options</strong>" и поставить флажок напротив "<strong>Make private key exportable</strong>".</p><p>b) На закладке "<strong>Extensions</strong>" развернуть "<strong>Extendend Key Usage (applications policies)</strong>", добавить параметры "<strong>Server Authentification" и "Client Authentification</strong>".</p><p>c) На закладке "<strong>Subject</strong>" в поле "<strong>Subject Name</strong>" выбрать тип "<strong>Common Name</strong>" и указать полное доменное имя сервера (FQDN), запрашивающего сертификат. В нашем случае вся процедура запроса сертификата будет повторяться дважды. Один раз для сервера Forefront TMG, другой для сервера управления.</p><p>d) На закладке "<strong>General</strong>" задать имя сертификата. Оно может быть произвольным и будет использоваться при поиске на сервере сертификатов.</p><p>e) Нажать кнопку "<strong>Next</strong>".</p><p>f) Указать имя файла в котором будет сохранен запрос на сертификат и завершить работу мастера, нажав кнопку "<strong>Finish</strong>".</p><p>7) Открыть веб-интерфейс сервера сертификатов (см. пункт 1).</p><p>8) Нажать "<strong>Request a Certificate</strong>".</p><p>9) Выбрать "<strong>advanced certificate request</strong>".</p><p>10) Щелкнуть "<strong>Submit a certificate request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file.</strong>"</p><p>11) Открыть в текстовом редакторе (например блокноте) сохраненный ранее запрос сертифката и полностью скопировать текст запроса в поле "<strong>Base-64-encodedcertificate request(CMC or PKCS #10 or PKCS #7):</strong>". В качестве "<strong>Certificate template</strong>" выбрать "<strong>Web Server</strong>". Нажать кнопку "<strong>Submit</strong>".</p><p>12) Открыть оснастку "<strong>Certification Authoruty</strong>" на сервере сертифкатов.</p><p>13) В случае необходимости одобрения выпускаемого сертификата, перейти в папку "<strong>Pending Requests</strong>". Выбрать созданный ранее запрос. Щелкнуть по нему правой клавишей и нажать "<strong>Issue</strong>" для выпуска сертификата.</p><p>14) Перейти в папку "<strong>Issued Certificates</strong>" (см. рис. 5). Выбрать созданный сертификат. Щелкнуть по нему правой клавишей мыши и выбрать "<strong>Open</strong>".</p><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2-KmlXhu2tyuLyB7H9mmuYhBGZFhyv1pvx_daAJsSd98AtL4g3cgQok4N6m6pfh3egR66QQpvvGUcrQpQNwddmghsFbeWsy-ZYLeWXqfeb7UZLHpQSSjSgObpffDV8xaNQZxEIBAC_m4/s1600-h/fig5.PNG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 224px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5419789630959384802" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2-KmlXhu2tyuLyB7H9mmuYhBGZFhyv1pvx_daAJsSd98AtL4g3cgQok4N6m6pfh3egR66QQpvvGUcrQpQNwddmghsFbeWsy-ZYLeWXqfeb7UZLHpQSSjSgObpffDV8xaNQZxEIBAC_m4/s320/fig5.PNG" /></a><br /><p>Рис. 5. Консоль управления сервера сертифкатов</p><p>15) В окне сертификата перейти на вкладку "<strong>Details</strong>" и нажать кнопку "<strong>Copy to File</strong>" (см. рис. 6).</p><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0xjNu1nOfTcEXhRgg8E6sIs11hUoc0ZLxozu0rF51n3Oo5dBCsPMuJIwHr3ExYbm6OKKY1ocrDUjcBgRM66pfAwSiRHSwafkJ1KGGvawoch5ko8b1J-T_kt06bMoYpdbZJEpaWyqmk-Q/s1600-h/fig6.PNG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 262px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5419789638088444898" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0xjNu1nOfTcEXhRgg8E6sIs11hUoc0ZLxozu0rF51n3Oo5dBCsPMuJIwHr3ExYbm6OKKY1ocrDUjcBgRM66pfAwSiRHSwafkJ1KGGvawoch5ko8b1J-T_kt06bMoYpdbZJEpaWyqmk-Q/s320/fig6.PNG" /></a><br /><p>Рис. 6. Экспорт полученного сертификата</p><p>16) Нажать кнопку "<strong>Next</strong>".</p><p>17) В окне "<strong>Export file format</strong>" оставить параметры по умолчанию и нажать кнопку "<strong>Next</strong>".</p><p>18) В поле "<strong>File name</strong>" указать имя и месторасположение файла сертификата.</p><p>19) Скопировать полученный сертификат на сервер для которого он был запрошен (см. пункт 6.с).</p><p>20) Открыть там оснастку "<strong>Certificates</strong>" по аналогии с пунктом 1.</p><p>21) Перейти в <strong>Certificates</strong>; <strong>Personal</strong>; <strong>Certificates</strong>. Щелкнуть правой клавишей мыши. Из меню "<strong>All Tasks</strong>" выбрать "<strong>Import</strong>".</p><p>22) Нажать "<strong>Next</strong>" и указать путь с к полученному сертификату.</p><p>23) Нажать "<strong>Next</strong>". Оставить параметры по умолчанию и еще раз нажать "<strong>Next</strong>" и завершить работу мастера нажав кнопку "<strong>Finish</strong>".</p><p>24) В списке должен отобразиться полученный сертификат. Щелкнуть по нему правой клавишей мыши. Выбрать "<strong>Open</strong>". Перейти на закладку "<strong>Details</strong>" и нажать кнопку "<strong>Copy to file</strong>".</p><p>25) Нажать "<strong>Next</strong>". Выбрать "<strong>Yes, export the private key</strong>". Нажать "<strong>Next</strong>".</p><p>26) Оставить значения по умолчанию. Нажать "<strong>Next</strong>". Задать пароль для сертификата. Нажать "<strong>Next</strong>".</p><p>27) Указать имя и месторасположение файла сертификата в формате <strong>pfx</strong> и нажать "<strong>Next</strong>".</p><p>28) Завершить работу мастера нажав кнопку "<strong>Finish</strong>".</p><p>В итоге получен сертификат в формате pfx. Далее, с помощью утилиты MOMCertImport, можно настроить его использование в процессе аутентификации агента и сервера управления Operations Manager. </p><p><span style="font-size:130%;color:#3366ff;">Настройка использования сертифкатов с помощью утилиты MomCertImport</span></p><p>Утилиту MOMCertImport можно найти в папке \SupportTools\i386 на установочном диске Operations Manager. Настройка использования сертификата осуществляется командой:</p><p><strong><em>MOMCertImport path_to_pfx_file</em></strong></p><p>Вместо <strong>path_to_pfx_file</strong> необходимо указать путь к созданному ранее pfx-сертифкату и его имя. Например:</p><p><strong><em>MOMCertImport C:\temp\tmg.pfx</em></strong></p><p>После выполнения данной команды необходимо перезапустить службу <strong>health service</strong> для Operations Manager. Сделать это можно из оснастки управления службами или из командной строки:</p><p><strong><em>net stop healthservice</em></strong></p><p><strong><em>net start healthservice</em></strong></p><p>Получение и импорт сертификата необходимо сделать как для сервера управления Operations Manager, так и для сервера Forefront TMG. После выполнения указанных действий агент сможет получить конфигурацию с сервера управления и станет доступен для полноценного использования<br /></p>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com0tag:blogger.com,1999:blog-3657164111564796168.post-21706612380814622752009-10-22T22:07:00.000-07:002009-10-23T01:37:25.308-07:00Быстрое завершение работы Windows 7 в картинках<p align="justify">Вы бережете собственное время и нервы? Хотите научиться блокировать, перезагружать или выключать компьютер посредством одного нажатия клавиш? Тогда эта статья для Вас.</p><p align="justify">Обновив версию операционной системы до <strong>Windows 7</strong> столкнулся с тем, что процедура завершения работы существенно поменялась . Для окончания сеанса надо нажать кнопку "<strong>Пуск</strong>", подвести курсор к "<strong>Завершение работы</strong>" и выбрать из выпадающего меню нужный пункт. Причем очень легко промахнуться и вместо перевода компьютера в спящий режим нажать кнопку "<strong>Завершение работы</strong>". Как результат - несохраненные документы, потерянные данные и испорченное настроение.</p><p>На решение этой проблемы, навел один из вопросов на форуме <strong>Microsoft Technet</strong>:</p><p><a href="http://social.technet.microsoft.com/Forums/ru-RU/windows7ru/thread/190ed7e1-164f-460b-afb6-bd23eb4634fc">http://social.technet.microsoft.com/Forums/ru-RU/windows7ru/thread/190ed7e1-164f-460b-afb6-bd23eb4634fc</a><br /></p><p align="justify">Оказывается завершение работы можно организовать гораздо проще, используя заранее заданное сочетание клавиш. Делается это следующим образом.</p><p align="justify">Создаем ярлык на рабочем столе. Для этого жмем правой клавишей по свободному месту рабочего стола и из меню " <strong>Создать</strong> " выбираем пункт "<strong>Ярлык</strong>" (рис. 1).</p><div align="center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHQM2WVvXRJyykokA6tH3DAwwfE3cK0QQB8X6c3IGdMHfRcobvVUbQaoUlrRz-VLaQdpDLIrc8Rh-oak7dgqtcQ820VXzw2x9nzDCghBKW7PJNeDoYAyayGlTEb3Skby_QazKO_rDUHeY/s1600-h/fig1.JPG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 108px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5395658058509950386" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHQM2WVvXRJyykokA6tH3DAwwfE3cK0QQB8X6c3IGdMHfRcobvVUbQaoUlrRz-VLaQdpDLIrc8Rh-oak7dgqtcQ820VXzw2x9nzDCghBKW7PJNeDoYAyayGlTEb3Skby_QazKO_rDUHeY/s320/fig1.JPG" /></a> <span style="font-size:85%;">Рис. 1. Создание ярлыка</span></div><br /><p>В поле "<strong>Укажите расположение объекта</strong>" (рис. 2) пишем одну из следующих команд:</p><p><strong><em>Shutdown.exe -s -t 00</em></strong> -для выключения;</p><p><strong><em>Shutdown.exe -r -t 00</em></strong> - перезагрузка;</p><p><strong><em>Rundll32.exe User32.dll,LockWorkStation</em></strong> - блокировка;</p><p><strong><em>rundll32.exe PowrProf.dll,SetSuspendState</em></strong> - режим гибернации;</p><p><strong><em>rundll32.exe powrprof.dll,SetSuspendState 0,1,0</em></strong> - спящий режим.</p><p align="center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGaBIQ-IyY_C0m4RM1BGCF7GZxBWqsXvFwnSMwVV5BNRjL3-fYSV5YlLvzV49l8a-3OlTJy2_RknIZizV3N6xYEGIcYyV5Qa47_TrvF8ReUmbXeCPEC4ZQ2A_i9QJhmILQqxU7xWX7Rws/s1600-h/fig2.JPG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 262px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5395658227035147938" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGaBIQ-IyY_C0m4RM1BGCF7GZxBWqsXvFwnSMwVV5BNRjL3-fYSV5YlLvzV49l8a-3OlTJy2_RknIZizV3N6xYEGIcYyV5Qa47_TrvF8ReUmbXeCPEC4ZQ2A_i9QJhmILQqxU7xWX7Rws/s320/fig2.JPG" /></a> <span style="font-size:85%;">Рис.2. Выбор предпочтительного способа завершения работы</span></p><span style="font-size:85%;"></span><p align="justify">Далее называем этот ярлык (рис.3).</p><p align="center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWO2EOVtVvcrPu2OJY-xVqSJONRgx-iG3Z7_OJgsKTGjdvVQAUG0V7RA1OqHD4JjQyyJL18jIQsV4xZ48z-a-KRCwOqT5UWCHKJEfFI81VbsshnkFqNq5Gfo4dJsmEELE49K34mH4bRiI/s1600-h/fig3.JPG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 262px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5395658716469273682" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWO2EOVtVvcrPu2OJY-xVqSJONRgx-iG3Z7_OJgsKTGjdvVQAUG0V7RA1OqHD4JjQyyJL18jIQsV4xZ48z-a-KRCwOqT5UWCHKJEfFI81VbsshnkFqNq5Gfo4dJsmEELE49K34mH4bRiI/s320/fig3.JPG" /> </a><span style="font-size:85%;">Рис. 3. Название ярлыка</span> </p><p>Жмем кнопку "<strong>Готово</strong>" и завершаем работу мастера. Заходим в свойства ярлыка: кликаем правой клавишей и выбираем "<strong>Свойства</strong>" (рис. 4)</p><div align="center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkfxs7bmz6C-4sOQPdhGneZ1ITIbFTOA2W9dAkIgybAYXsvEXkyeq6Y8qjuNVcQmDAvKLPH7r7jEe8ujpVwxkUTUxR3xLRxJmJaTkKnp2FoxGUJWmhcUBwAZe-vq6QU8igkF3iISpcCdA/s1600-h/fig4.JPG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 272px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5395658616986839394" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkfxs7bmz6C-4sOQPdhGneZ1ITIbFTOA2W9dAkIgybAYXsvEXkyeq6Y8qjuNVcQmDAvKLPH7r7jEe8ujpVwxkUTUxR3xLRxJmJaTkKnp2FoxGUJWmhcUBwAZe-vq6QU8igkF3iISpcCdA/s320/fig4.JPG" /></a><span style="font-size:85%;"> Рис. 4. Настройка свойств ярлыка</span><br /><p align="justify">Заходим в поле "<strong>Быстрый вызов</strong>" и нажимаем сочетание клавиш, которое будет использоваться для завершения работы.</p><p align="center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicVRn6HkhdO6AQT_bvrOLaPIOvOMMDcDROtkeGCujN1oECFoxXjocimhIE_x5Tp1scIFI2hvUl_AGg-EXIpvh9wD2eyBOlrIqE38-UFI2Y3YfGzSBzbUow_szG1c_1kDyhjCzHqwgJ-ck/s1600-h/fig5.JPG"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 253px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5395658491072628354" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicVRn6HkhdO6AQT_bvrOLaPIOvOMMDcDROtkeGCujN1oECFoxXjocimhIE_x5Tp1scIFI2hvUl_AGg-EXIpvh9wD2eyBOlrIqE38-UFI2Y3YfGzSBzbUow_szG1c_1kDyhjCzHqwgJ-ck/s320/fig5.JPG" /></a><span style="font-size:85%;"> Рис. 5. Выбор сочетания клавиш</span></p><p align="justify">Например, <strong>Сtrl</strong> + <strong>Alt</strong> + <strong>L</strong>. При желании можно поставить "страшный" значок для нашего ярлыка (кнопка "<strong>Сменить Значок</strong>"). Теперь работа с операционной системой будет завершаться при нажатии заданного нами сочетания клавиш.</p><p align="left">Идея позаимствована отсюда:</p><p align="left"><a href="http://www.howtogeek.com/howto/windows-vista/quick-tip-create-shutdown-restart-lock-icons-in-windows-vista/">http://www.howtogeek.com/howto/windows-vista/quick-tip-create-shutdown-restart-lock-icons-in-windows-vista/</a></p><p align="left"><a href="http://winspark.net/2009/06/30/how-to-create-keyboard-shortcut-of-any-program/">http://winspark.net/2009/06/30/how-to-create-keyboard-shortcut-of-any-program/</a></p></div>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com0tag:blogger.com,1999:blog-3657164111564796168.post-39925326979275622152009-10-11T07:15:00.000-07:002009-10-12T07:04:11.938-07:00Windows 7 XP mode: техническая информация и опыт применения<h2><a name="_Toc243127101"></a><a name="_Toc243124292"></a>Введение</h2><p>Иногда после обновления версии операционной системы мы сталкиваемся с массой неприятных вещей. Привычный набор программ не может быть установлен из-за проблем с совместимостью, а для любимого старого принтера нет драйвера. Зачастую от возможности решения подобных проблем зависит продолжать ли использовать новую операционную систему или не смотря на все её удобства и красоту "откатиться" к более старой версии. Чтобы помочь нам сделать правильный выбор Microsoft предложило качественно новое решение - Windows XP Mode.</p><h2><a name="_Toc243127102"></a>Основные понятия</h2><p>Для удобства понимания предлагаю несколько терминов, которые будут использоваться по ходу всей статьи.</p><p>Родительская операционная система - это операционная система в которой установлено программное обеспечение (виртуальная машина), позволяющее эмулировать физический компьютер. Операционная система используемая на виртуальной машине называется дочерней.</p><h2><a name="_Toc243127103"></a>Что же это за зверь и с чем его едят?</h2><p>XP Mode – виртуальная машина настроенная таким образом, что приложения, установленные в ней доступны пользователю также как и обычные программы. Высокая степень интеграции достигается за счет использования новой версии Virtual PC - Windows Virtual PC. В качестве дочерней операционной системы используется Windows XP SP3. Таким образом, весь спектр программ (в том числе и драйверов USB-устройств), поддерживаемых данной операционной системой, становится доступным в Windows 7.</p><h2>Установка</h2><p>Для установки XP Mode необходимо:</p><ul><li><p>Поддержка процессором технологий виртуализации Intel-VT или AMD-V (должно быть включено в BIOS);</p></li><li><p>Операционная система: Windows 7 Professional, Windows 7 Ultimate или Windows 7 Enterprise;</p></li><li><p>Дистрибутивы Windows Virtual PC и виртуальной машины Windows XP Mode.</p></li></ul><p>Установочные файлы (суммарный размер около 500 Мб) доступны по ссылке: <a href="http://www.microsoft.com/windows/virtual-pc/download.aspx" target="_blank">http://www.microsoft.com/windows/virtual-pc/download.aspx</a></p><h2><a name="_Toc243127105"></a>Конфигурация виртуальной машины</h2><p>Изменение параметров Windows XP Mode производится с помощью настроек Windows Virtual PC (рис. 1).</p><p><br /></p><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 205px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5391349716924355938" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYnUtu76KRMLs7yNGPAHXqpCu8jMZuQZAAJppeBXe1mQSn_nxeMDQ_amHvu8K5at3KPEbG7Oam4PO9b18C5Ph-igU5ZJgv0BlNVAdRofKRWXRkTChEiUnrOqUv_dkB-fku2uwpjiWLNEA/s320/fig1.PNG" /> <p align="center"><span style="font-size:85%;">Рис.1. Окно параметров Windows XP Mode</span><br /></p><p>Например, для повышения производительности можно увеличить объем оперативной памяти выделенной виртуальной машине. Кроме того, полезными в практическом применении могут быть следующие настройки:</p><ul><li><p><strong>Сеть</strong>. Можно выбрать между использованием совместного доступа (NAT), отсутствием сети, внутренней сетью виртуальных машин или одним из физических сетевых адаптеров установленных в родительской операционной системе;</p></li><li><p><strong>Com1</strong> или <strong>Com2</strong>. Перенаправление физического COM-порта в виртуальную машину;</p></li><li><p><strong>Компоненты интеграции</strong>. По умолчанию они включены. При их отключении становится невозможной "прозрачная" интеграция с родительской операционной системой;</p></li><li><p><strong>Учетные данные для входа в систему</strong>. По умолчанию, вход в полноэкранный режим Windows XP Mode происходит автоматически с сохраненными учетными данными пользователя User.</p></li><li><p><strong>Автоматическая публикация приложений</strong>. Определяет будут ли автоматически публиковаться приложения после установки их в виртуальной среде.</p></li></ul><h2><a name="_Toc243127106"></a>Режимы работы Windows XP Mode</h2><p>Виртуальная машина может работать в одном из следующих режимов.<br /></p><ul><li><p><strong>Простой режим</strong>. Практически не применяется. Очень похож на использование старых версий Virtual PC или аналогичных средств виртуализации для рабочих станций. Перейти в него можно отключив компоненты интеграции в настройках Windows Virtual PC. При работе недоступны: общий буфер обмена, жесткие диски родительской машины, перенаправление принтеров.</p></li><li><p><strong>Расширенный режим</strong>. Включен по умолчанию. Стартует при запуске Windows XP Mode из меню "Пуск". Это полноэкранный режим Windows XP. Взаимодействие происходит посредством подключения к удаленному рабочему столу виртуальной машины. Благодаря этому становится доступен весь набор компонентов интеграции. В расширенном режиме происходит установка нужных нам приложений и их публикация в Windows 7.</p></li><li><p>"<strong>Прозрачный</strong>" (английский термин <strong>seamless</strong>) <strong>режим</strong>. Работа с установленными и опубликованными приложениями происходит в этом режиме по аналогии с обычными программами. Например, опубликованный Microsoft Office появится в меню "Пуск". С его помощью станут открываться файлы с расширениями *.doc, *.xls, *.ppt и.т.п. Кроме того будет доступно сохранение документов на локальные диски и в личные каталоги пользователя (например "Мои Документы").</p></li></ul><h2><a name="_Toc243127107"></a>Практические нюансы использования XP Mode</h2><p>Интересными с точки зрения практического использования являются следующие особенности Windows XP Mode.</p><ul><li><p><strong>Одновременнное использование нескольких виртуальных приложений</strong>. Возможен запуск сразу нескольких виртуальных приложений. При этом все они станут выполняться в рамках одной среды, а запуск второго и последующих будет происходить гораздо быстрей;</p></li><li><p><strong>Публикация компонентов Windows XP</strong>. Если нам необходимо опубликовать приложение уже установленное в Windows XP (например, Internet Explorer 6), то в большинстве случаев достаточно скопировать его ярлык в папку: "C:\Documents and Settings\All Users\Главное меню" виртуальной машины. Список опубликованных в Windows 7 приложений находится в "Пуск"->"Все программы"->;"Windows Virtual PC"->;"Windows XP Mode Приложения".</p></li><li><p><strong>Поддержка USB-устройств</strong>. Microsoft заявлена возможность использования USB-устройств в опубликованных приложениях. На деле это означает, что принтеры, съемные диски, цифровые камеры будут подключаться автоматически если драйвер для них есть в родительской и дочерней операционных системах. К сожалению многие производители даже не собираются переписывать драйвера старых моделей устройств для Windows 7 x64. Особенно это актуально для принтеров. Однако, если у нас есть драйвер для 32-х разрядной Windows XP мы сможем заставить его работать через XP Mode. Для этого необходимо нажать кнопку USB в виртуальной машине, выбрать нужное нам устройство и установить его драйвер в виртуальной машине. Устройство при работе по такому сценарию будет доступно либо в дочерней, либо в родительской операционных системах (но не в обоих сразу). Подключение возможно прямо из панели задач Windows 7, без перехода в полноэкранный режим.</p></li></ul><ul><li><p><strong>Рекомендации по поддержке безопасности в XP Mode</strong>. При работе опубликованных приложений в "прозрачном" режиме в области уведомлений появляются значки дочерней операционной системы. Одно из них предупреждение безопасности, которое сигнализирует о том, что дочерняя операционная система нуждается в обновлениях через Windows Update и установленном антивирусном обеспечении. Для соблюдения корпоративных требований безопасности XP Mode можно ввести в домен и применить к ней групповые политики.</p></li></ul><h2><a name="_Toc243127108"></a>Пример установки Cisco VPN Client</h2><p>В заключении хотел бы рассказать о собственном опыте использования XP Mode на примере установки Cisco VPN Client. Данное программное обеспечение устанавливается исключительно на 32-х разрядные операционные системы. Поэтому установив себе на ноутбук Windows 7 x64 я столкнулся с проблемой подключения к корпоративной сети. Именно с этого и началось мое знакомство с XP Mode. Установка и первый запуск без каких-либо проблем. После этого в виртуальной машине корректно установился Cisco VPN Client.).</p><p>Сложности возникли на этапе подключения к удаленному рабочему столу серверов корпоративной сети. Дело в том, что родительская машина ничего не знала об установленном VPN-соединении. В связи с этим, пришлось публиковать клиента удаленного рабочего стола в Windows XP Mode. Сделать это оказалось непросто, т.к. копирования ярлыка mstsc.exe в папку "C:\Documents and Settings\All Users\Главное меню" было недостаточно. Потребовалось исключение данного приложения из списка запрещенных для публикации. Делается это путем удаления из реестра, соответствующего ключа. Находится он следующей ветке реестра гостевой операционной системы:</p><p>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtual Machine\VPCVAppExcludeList.</p><p>После этого ярлык опубликованного клиента удаленного рабочего стола опубликовался, а я снова смог подключаться к корпоративной сети и пользоваться всеми преимуществами Windows 7 x64.</p><h2><a name="_Toc243127109"></a>Краткий обзор ресурсов интернета, посвященных XP Mode</h2><p>Видео презентации:</p><p><a href="http://blogs.technet.com/virtualworld/archive/2009/06/28/windows-xp-mode-for-windows-7.aspx" target="_blank">http://blogs.technet.com/virtualworld/archive/2009/06/28/windows-xp-mode-for-windows-7.aspx</a></p><p>Блог разработчиков:</p><p><a href="http://blogs.technet.com/windows_vpc/" target="_blank">http://blogs.technet.com/windows_vpc/</a></p><p>Ресурс для скачивания:</p><p><a href="http://www.microsoft.com/windows/virtual-pc/download.aspx" target="_blank">http://www.microsoft.com/windows/virtual-pc/download.aspx</a></p>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com1tag:blogger.com,1999:blog-3657164111564796168.post-1383585738230020882009-10-02T23:29:00.000-07:002009-10-11T07:11:57.915-07:00Настройка времени хранения данных в System Center Operations Manager 2007<div align="justify"><span style="font-family:times new roman;">В процессе работы <strong>System Center Operation Manager</strong> собирается масса различной информации от объектов мониторинга. Это могут быть данные полученные от счетчиков производительности, системные события, история изменения состояний и многое другое. Бесконтрольный рост объема информации, хранимой в базах данных (<strong>OperationsManager</strong> и <strong>OperationsManagerDW</strong>), может вызвать потери в производительности и увеличение времени резервного копирования. В связи с этим, важно определить необходимое время хранения информации от различных типов источников и настроить автоматическое удаление устаревших данных. В статье приведено описание процесса настройки, механизмов контроля и алгоритма очистки БД для <strong>System Center Operation Manager 2007 R2</strong>.<br />За хранение данных, полученных в результате мониторинга, отвечают две базы данных <strong>OperationsManager</strong> и <strong>OperationsManagerDW</strong>. В последней хранятся долгосрочные данные необходимые для отчетов.<br />Для <strong>OperationsManager</strong> всё относительно просто. В консоли управления (<strong>Administration</strong> -> <strong>Settings</strong> -> <strong>General</strong> -> <strong>Database Grooming</strong>) есть раздел в котором можно задать сроки хранения информации из различных источников (рис. 1).<br /></span></div><div align="justify"><span style="font-family:times new roman;"></span></div><div align="justify"><span style="font-family:times new roman;"></div><br /><div align="center"></span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM7bh92O7xE9ojeM8ILG_lChvI9zSB3djh5AXhwe-rmCj_ar8G9WwKx33DcCbYqMohxb-yzZsCZxcFbqhQPuB3e1yWomt_qcDOFQShE6092yudKBu1wW4Hz-UxSMfDNpD6gG-TKjsmFdc/s1600-h/fig1.png"><span style="font-family:times new roman;"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 302px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388262115276240770" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiM7bh92O7xE9ojeM8ILG_lChvI9zSB3djh5AXhwe-rmCj_ar8G9WwKx33DcCbYqMohxb-yzZsCZxcFbqhQPuB3e1yWomt_qcDOFQShE6092yudKBu1wW4Hz-UxSMfDNpD6gG-TKjsmFdc/s320/fig1.png" /></span></a><span style="font-family:times new roman;"> </span><span style="font-family:times new roman;"><span style="font-size:85%;">Рис. 1. Окно настройки сроков хранения данных</span></span><br /><div align="justify"><span style="font-family:times new roman;"><br /></span></div><div align="justify"><span style="font-family:times new roman;"></span></div><div align="justify"><span style="font-family:times new roman;">Удаление устаревшей информации происходит автоматически каждую полночь. Для ручного выполнения очистки базы данных необходимо самостоятельно выполнить процедуру <strong>p_partitioningandgrooming</strong>.<br />Через командную оболочку <strong>Operations Manager</strong> посмотреть насколько точно соблюдаются сроки хранения данных:</span></div><div align="justify"><span style="font-family:times new roman;"></div></span><div align="left"><span style="font-family:times new roman;"><em>$Threshold = (Get-Date).ToUniversalTime().AddDays(-(get-defaultsetting)[42].Value).Date;Get-Alert Where {$_.TimeResolved -and $_.TimeResolved.Date -lt $Threshold} Measure-Object </em></span></div><span style="font-family:times new roman;"><div align="justify"><br />Если результат отличен от нуля, то это свидетельствует о том, что сроки не соблюдаются (Рис. 2).</div><div align="justify"><br /></div></span><div align="center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggf0vJYf3_ROkMw6suIxlVxqyPrVMJTALrLmzA9lKyC4_EcjNwBlD5fj49bK-53bwerex4Z54u5_NEU77_Va-BAR9apxo9moor8TRqy7zU7uHiT8fNc5S3MRKXOoSbnbEzUN9a-oNImN0/s1600-h/fig2.png"><span style="font-family:times new roman;"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 91px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388262680573508050" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggf0vJYf3_ROkMw6suIxlVxqyPrVMJTALrLmzA9lKyC4_EcjNwBlD5fj49bK-53bwerex4Z54u5_NEU77_Va-BAR9apxo9moor8TRqy7zU7uHiT8fNc5S3MRKXOoSbnbEzUN9a-oNImN0/s320/fig2.png" /></span></a><span style="font-family:times new roman;"> <span style="font-size:85%;">Рис. 2. Результаты проверки автоматического удаления</span> </span></div><span style="font-family:times new roman;"><div align="justify"><br />В моем случае это оказались алерты, которые хранились 8 дней вместо 7. Вероятнее всего, что они удалились бы при следующем автоматическом запуске процедуры очистки. Чтобы проверить это, сократил срок хранения алертов на один день и запустил процедуру вручную и получил желаемый ноль в числе объектов.<br />С <strong>OperationsManagerDW</strong> все гораздо интереснее. Для неё нет графического интерфейса по настройке через консоль управления. Просмотр сроков хранения возможен через SQL-запрос:</div><div align="left"><br /><em>use OperationsManagerDW;</em><br /><em>SELECT AggregationIntervalDurationMinutes, BuildAggregationStoredProcedureName,<br />GroomStoredProcedureName, MaxDataAgeDays, GroomingIntervalMinutes, MaxRowsToGroom<br />FROM StandardDatasetAggregation</em> </div><div align="justify"><br />Результат выполнения запроса представлен на рис.3. </div><div align="justify"></div><div align="justify"></div></span><br /><div align="center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg81pvixw43JRz92GJ4Kl80zrkvdpeTwrg943cKAwsvGSRK-4-Tqr3K3S-YTH9zwHBMszxp2Qg3hDN_tUv8EupCZfWaWyoR3yFlWHUtgTig1YiqOk1ZLtKM2AsZBVNrn91tyFEAg9kN5Es/s1600-h/fig3.png"><span style="font-family:times new roman;"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 162px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388262809149325058" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg81pvixw43JRz92GJ4Kl80zrkvdpeTwrg943cKAwsvGSRK-4-Tqr3K3S-YTH9zwHBMszxp2Qg3hDN_tUv8EupCZfWaWyoR3yFlWHUtgTig1YiqOk1ZLtKM2AsZBVNrn91tyFEAg9kN5Es/s320/fig3.png" /></span></a><span style="font-family:times new roman;font-size:85%;"> Рис. 3. Таблица сроков хранения различных наборов данных в <strong>OperationsManagerDW</strong> </span></div><span style="font-family:times new roman;"><div align="justify"><br /><strong>AggregationIntervalDurationMinutes</strong> - интервал в течении которого собираются данные, <strong>MaxDataAgeDays</strong> - сколько дней хранится информация, <strong>GroomingInterval Minutes</strong> - интервал между запусками процедуры удаления.<br />Скрипт для изменения сроков хранения: </div><div align="left"><br /><em>USE OperationsManagerDW<br />UPDATE StandardDatasetAggregation<br />SET MaxDataAgeDays = <number><br />WHERE GroomStoredProcedureName = '<procedure>' AND<br />AggregationIntervalDurationMinutes = '<aggregation>'<br />Go<br /></em><br />Кроме того, существует утилита <strong>dwdatarp.exe</strong>. Описание её работы и файл программы можно найти здесь:<br /><a href="http://blogs.technet.com/momteam/archive/2008/05/14/data-warehouse-data-retention-policy-dwdatarp-exe.aspx">http://blogs.technet.com/momteam/archive/2008/05/14/data-warehouse-data-retention-policy-dwdatarp-exe.aspx</a><br />С помощью данной утилиты можно просмотреть и изменить сроки хранения данных в <strong>OperationsManagerDW</strong>.<br />Например, вывод текущей конфигурации осуществляется командой: </div><div align="left"><br /><em>dwdatarp.exe –s “dw servername” –d “dw databasename”</em> </div><div align="justify"><br />У меня получились результаты представленные на рис. 4. </div><div align="justify"><br /></div></span><div align="center"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVYE2poyxkKLwgzvxkuqJEhE9ZYo_lUSlfrnjtY92DCRi3bz2BLRDwgUd8Vz0lmy0IkDFgGAMmK-T-UElkOaxcCcQxdOLA7BnvxURu80MMCbU4m6-6-GNdyPtd2Olai1cyYZ0t8bomq1E/s1600-h/fig4.png"><span style="font-family:times new roman;"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 218px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388262887636586146" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVYE2poyxkKLwgzvxkuqJEhE9ZYo_lUSlfrnjtY92DCRi3bz2BLRDwgUd8Vz0lmy0IkDFgGAMmK-T-UElkOaxcCcQxdOLA7BnvxURu80MMCbU4m6-6-GNdyPtd2Olai1cyYZ0t8bomq1E/s320/fig4.png" /></span></a><span style="font-family:times new roman;"><span style="font-size:85%;">Рис. 4. Просмотр информации с помощью утилиты <strong>dwdatarp.exe</strong></span> </span></div><span style="font-family:times new roman;"><div align="justify"><br />В отличие от предыдущего метода, здесь показан объем хранимых данных и их процентное соотношение.<br />Проверить историю выполнения процедуры очистки можно с помощью запроса:</div><div align="left"><br /><em>use operationsmanager;<br />SELECT * FROM InternalJobHistory Order By InternalJobHistoryId DESC</em> </div><div align="justify"><br />С помощью запроса можно вручную запустить процедуру удаления из <strong>OperationsManagerDW</strong>:</div><div align="left"><br /><em>USE OperationsManagerDW<br />Exec standarddatasetgroom</em></div><div align="justify"><dataset_id><br />Процедура запускается отдельно для каждого набора данных (необходимо указать id). Узнать id можно из таблицы, содержащей информацию о dataset. Например, в моем случае это будет выглядеть так:</div><div align="left"><br /><em>USE OperationsManagerDW<br />SELECT [BaseManagedEntityId] ,[DisplayName_55270A70_AC47_C853_C617_236B0CFF9B4C]<br />FROM [OperationsManager].[dbo].[MTV_DataSet] </em></div><div align="justify"><em></em></span></div><div align="justify"><span style="font-family:times new roman;"><br /></span></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLYwmrTvzkxqfo4QpIF20P6shptXVDdi6-bHqTShseGNfe-OFjz8s1DEc9zfhJEufFzP5swXk12d2jNeJ_91AF9Vomqlg8608kYHC6aV0LqztASZL_K836ch75__s688R2bhCHLjot7qY/s1600-h/fig5.png"><span style="font-family:times new roman;"><img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 320px; DISPLAY: block; HEIGHT: 57px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5388262955373861442" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLYwmrTvzkxqfo4QpIF20P6shptXVDdi6-bHqTShseGNfe-OFjz8s1DEc9zfhJEufFzP5swXk12d2jNeJ_91AF9Vomqlg8608kYHC6aV0LqztASZL_K836ch75__s688R2bhCHLjot7qY/s320/fig5.png" /></span></a><span style="font-family:times new roman;"><br /></span></div><div align="justify"><span style="font-family:times new roman;">Соответственно скрипт для запуска процедуры по всем наборам данных:</span></div><div align="left"><span style="font-family:times new roman;"><br /><em>USE OperationsManagerDW<br />Exec standarddatasetgroom '160230E3-E315-9350-4108-392A28F60AF5'<br />Exec standarddatasetgroom '216D2ABC-6FF9-1CCA-47EC-47A87703DFF0'<br />Exec standarddatasetgroom '53593936-DE62-E265-3764-5F78AF06DE69'<br />Exec standarddatasetgroom '57FEFB45-A835-4787-6092-D43BA2471EF8'<br />Exec standarddatasetgroom '0619FC49-ADAF-F064-554E-E99B4817682A'</em> </span></div><span style="font-family:times new roman;"><div align="justify"><br />В заключении приведу обзор ресурсов в интернете, которые использовались при написании этой статьи.<br />Настройка сроков хранения информации:<br /><a href="http://ops-mgr.spaces.live.com/Blog/cns!3D3B8489FCAA9B51!176.entry">http://ops-mgr.spaces.live.com/Blog/cns!3D3B8489FCAA9B51!176.entry</a> </div><div align="justify"><br />Проверка работы механизмов очистки:<br /><a href="http://blogs.technet.com/jonathanalmquist/archive/2008/11/25/alert-grooming-is-it-working-or-not.aspx">http://blogs.technet.com/jonathanalmquist/archive/2008/11/25/alert-grooming-is-it-working-or-not.aspx</a> </div><div align="justify"><br />Описание процесса удаления устаревших данных:<br /><a href="http://blogs.msdn.com/steverac/archive/2007/12/13/scom-2007-operational-and-datawarehouse-grooming.aspx">http://blogs.msdn.com/steverac/archive/2007/12/13/scom-2007-operational-and-datawarehouse-grooming.aspx</a><br /><a href="http://blogs.technet.com/kevinholman/archive/2007/12/13/how-grooming-and-auto-resolution-work-in-the-opsmgr-2007-operational-database.aspx">http://blogs.technet.com/kevinholman/archive/2007/12/13/how-grooming-and-auto-resolution-work-in-the-opsmgr-2007-operational-database.aspx</a><br /><a href="http://blogs.technet.com/kevinholman/archive/2008/02/13/grooming-process-in-the-operations-database.aspx">http://blogs.technet.com/kevinholman/archive/2008/02/13/grooming-process-in-the-operations-database.aspx</a><br /></div><div align="justify">Утилита конфигурации:<br /><a href="http://blogs.technet.com/momteam/archive/2008/05/14/data-warehouse-data-retention-policy-dwdatarp-exe.aspx">http://blogs.technet.com/momteam/archive/2008/05/14/data-warehouse-data-retention-policy-dwdatarp-exe.aspx</a> </span></div>Dmitry Rudykhhttp://www.blogger.com/profile/02256687093774226863noreply@blogger.com0