Установка и обновление Skype с помощью групповой политики

Skype Как Вы уже знаете, 1 сентября 2018 года будет прекращена поддержка Skype 7.xx (Skype Classic), в связи с чем всем пользователям мессенджера рекомендуется обновить его до версии 8.xx. Если у Вас несколько компьютеров, разумнее всего обновить Skype вручную, в противном случае имеет смысл автоматизировать развертывание мессенджера на всех необходимых рабочих станциях. Как решить данную задачу в пределах домена Active Directory с учетом того, что официальные MSI-пакеты Skype больше не выпускаются?

Развертывание Skype без MSI-пакетов

Как и в случае Mozilla Thunderbird, Mozilla Firefox и OpenOffice инсталлятор Skype поддерживает режим «тихой» установки, позволяющий организовать установку и обновление мессенджера на множестве компьютеров, работающих под управлением любых операционных систем семейства Microsoft Windows, соответствующих системным требованиям (следует отметить, что вопреки официальной информации, инсталлятор Skype не работает в среде Microsoft Windows XP SP3 со всеми существующими обновлениями, включая Microsoft Internet Explorer 8). Как Вы уже догадались, для автоматизации развертывания мессенджера в пределах домена Active Directory в очередной раз будет достаточно подготовить единственный сценарий «тихой» установки Skype и назначить его сценарием запуска компьютера с помощью любого объекта групповой политики (далее — GPO), действие которого распространяется на соответствующие рабочие станции. С одной стороны, все делается по очень привычному сценарию, с другой — всегда имеются нюансы, которые стоит учитывать.

Общие сведения об инсталляторе Skype

Инсталлятор последней версии мессенджера, представляющий из себя исполняемый файл с именем Skype-НомерВерсии.exe, всегда доступен для загрузки на соответствующей странице официального сайта. В связи с тем, что мессенджер является 32-разрядным приложением, указанный файл подойдет для установки и обновления Skype на всех компьютерах, не зависимо от разрядности установленных на них операционных систем. Как и во всех подобных ситуациях Вам нужно загрузить и сохранить инсталлятор мессенджера в общей папке, доступной для чтения Всем на уровне файловой системы NTFS и на уровне общей папки.
По умолчанию процедура «тихой» установки Skype обеспечивает инсталляцию мессенджера в папку %ProgramFiles%\Microsoft\Skype for Desktop в среде 32-разрядных операционных систем или %ProgramFiles (x86)%\Microsoft\Skype for Desktop — в среде 64-разрядных, а также последующее добавление соответствующих ярлыков на Рабочий стол и в меню Пуск. Для выполнения такого типа установки мессенджера необходимо запустить его инсталлятор с ключами /VERYSILENT и /NORESTART, первый из которых выключает отображение каких-либо окон, а второй запрещает перезагрузку операционной системы.
Если на компьютере установлен Skype версии ≤ 7.41, то процедура «тихой» установки инсталлирует мессенджер версии 8.xx параллельно со старым, при наличии более ранней версии 8.xx — обновит его. В связи с этим перед переходом на Skype 8.xx следует удалить с рабочих станций мессенджер версии ≤ 7.41.
Также нужно отметить, что при переходе с классического Skype на версию 8.xx и при последующих обновлениях мессенджера процедура «тихой» установки никак не влияет на настройки пользователей, хранящиеся в папках %APPDATA%\Skype пользовательских профилей.

Сценарий «тихой» установки Skype

Как и в большинстве подобных случаев сценарий «тихой» установки Skype должен проверять, что мессенджер разворачиваемой версии не был установлен ранее, и, если приложение еще не установлено или имеет не совпадающую с разворачиваемой (более старую) версию, запускать процедуру «тихой» установки.
В нашем случае для выяснения версии Skype применяется утилита командной строки WMI — wmic (она доступна во всех современных операционных системах семейства Microsoft Windows), выполняющая запрос версии исполняемого файла мессенджера (возьмите на заметку этот способ получения информации о версии файлов, он пригодится Вам для организации «тихой» установки любых приложений, которые не добавляют соответствующие сведения в реестр, например, QIP’а), разрядность операционной системы определяется по значению стандартной переменной окружения PROCESSOR_ARCHITECTURE, для поиска строки используется команда find с последующим анализом кода ее завершения ERRORLEVEL. С учетом всех перечисленных особенностей сценарий «тихой» установки мессенджера InstallSkype.cmd имеет следующий вид (обязательно учтите, что применение двойных бекслешей в выделенных строках является обязательным):

set VERSION=8.27.0.85
if %PROCESSOR_ARCHITECTURE% == x86 (
  set FILENAME="C:\\Program Files\\Microsoft\\Skype for Desktop\\Skype.exe"
) else (
  set FILENAME="C:\\Program Files (x86)\\Microsoft\\Skype for Desktop\\Skype.exe"
)
wmic datafile where name=%FILENAME% get version | find "%VERSION%"
if ERRORLEVEL 1 \\local.company.com\SHARES\PACKAGES\Skype-%VERSION%.exe /VERYSILENT /NORESTART

Как Вы уже поняли, значение переменной окружения VERSION, заданное в первой строке, должно совпадать с версией инсталлятора мессенджера, используемого в настоящий момент. Например, для установки Skype версии 8.27.0.85 и обновления устаревших мессенджеров до этой версии в соответствующей общей папке должен присутствовать инсталлятор Skype-8.27.0.85.exe, и переменная окружения VERSION должна иметь значение 8.27.0.85. Если Вы пожелаете перейти, например, на мессенджер версии 8.28.76.42 (на момент написания статьи данная версия Skype пребывала в статусе предварительной), придется всего лишь загрузить в соответствующую общую папку инсталлятор Skype-8.28.76.42.exe и изменить значение переменной окружения VERSION на 8.28.76.42. Конечно же, после этого можно спокойно удалить ставший устаревшим инсталлятор Skype-8.27.0.85.exe, который больше не понадобится.

Массовая «тихая» установка Skype

Последним этапом автоматизации установки и обновления Skype в домене Active Directory является назначение сценария InstallSkype.cmd сценарием запуска компьютера с помощью любого существующего или созданного исключительно для развертывания мессенджера GPO, действие которого распространяется на все необходимые рабочие станции. Для того чтобы ограничить область действия выбранного GPO компьютерами с операционными системами от Microsoft Windows 7 до Microsoft Windows 8.1 (у нас нет компьютеров с Windows Vista, поэтому я про нее «забыл»), удобнее всего использовать WMI-фильтр с запросом:

SELECT * FROM Win32_OperatingSystem WHERE (Version LIKE "6.1%" OR Version LIKE "6.2%" OR Version LIKE "6.3%") AND ProductType="1"

После нацеливания выбранного GPO на нужные рабочие станции следует добавить в его список Конфигурация компьютера\ Политики\ Конфигурация Windows\ Сценарии\ Автозагрузка сценарий InstallSkype.cmd. После окончания распространения групповой политики и перезагрузки соответствующих компьютеров на них будет установлен или обновлен мессенджер Skype, при этом никто, кроме Ваших коллег по IT-отделу, не заметит ничего «подозрительного».

Заключение

Я надеюсь, что данная инструкция поможет Вам надолго забыть про развертывание Skype в «ручном» режиме, и Вы сможете потратить освободившееся время на решение более интересных задач. Как только появится свободное время, я постараюсь рассказать Вам про другие способы автоматизации установки, обновления и настройки популярного программного обеспечения, для которого не выпускаются MSI-пакеты.

Понравилась статья?

Подпишитесь на RSS или почтовую рассылку;

Поделитесь ссылкой в социальной сети или блоге:

14 комментариев к “Установка и обновление Skype с помощью групповой политики

  1. Спасибо за статью. Думаю, будет правильнее, если номер версии будет проверяться, и программа будет обновляться только если версия у пользователя ниже предлагаемой.

    • На здоровье. Именно так и сделано. Если не проверять версию, Skype будет переустанавливаться при каждой загрузке компьютера, что не есть хорошо.

  2. А как быть с постоянными обновами для скайпа? Он каждую неделю обновляется, и при запуске требует админские права на юзерских компах.

    • К юзерским компам вообще не нужно подходить. Выкладываете новую версию Skype в общую папку, меняете номер версии в скрипте, все остальное происходит без Вашего участия. Политика компьютера применяется от имени пользователя SYSTEM, имеющего права локального администратора.

  3. Это всё понятно. Но проблема в другом. У меня уже на компах уже развёрнут скайп. И когда майкрософт вдруг решит его обновить, то это выглядит так: юзер включил комп, ввел логин и пароль, а Скайп, если новая версия уже есть, при запуске его обновляет не спрашивая юзера. А при обновлении требует админский пароль, ибо у юзеров нет админских прав. Дык проблема в том, что мне нужно будет постоянно отслеживать, вышла ли новая версия, подсовывать файл и править скрипт. А это уже не совсем похоже на автоматизацию обновления Скайпа. Как бы сделать так, чтобы один раз сделал, как надо и забыл?

    • А это уже не совсем похоже на автоматизацию обновления Скайпа.

      А на что это похоже? В моем понимании автоматизация заключается в том, чтобы сократить до минимума необходимость хождения/удаленного подключения к компьютерам сотрудников. Чем больше компьютеров, тем это становится заметнее 😉

      Как бы сделать так, чтобы один раз сделал, как надо и забыл?

      Если ничего не делать, то слежение за обновлениями заключается в получении первого звонка от пользователя и последующем выкладывании новой версии. Если не хотите «расстраивать» пользователей, запретите загрузку exe-файлов на прокси-сервере (так сделано у нас) или через политику антивируса (например, Kaspersky Endpoint Security это точно умеет, хотя нам удобнее делать такие вещи с помощью Squid’а). Кстати, запрет загрузки exe-файлов пользователями спасает от большого количества неприятностей 😉

  4. Добрый день. «Политика компьютера применяется от имени пользователя SYSTEM, имеющего права локального администратора.» Ваш комментарий. Но все равно требует права администратора.

    • А если прочитать статью внимательнее и сделать InstallSkype.cmd сценарием запуска компьютера (в разделе Параметры компьютера), а не сценарием входа в систему (в разделе Параметры пользователя)?

    • На картинке все правильно. С учетом того, что чудес не бывает, остаются права на папку, в которой лежит инсталлятор Skype. Она должна быть доступна для чтения Всем на уровне NTFS и общей папки.

  5. Сам бился с этими обновами (*%:баный скайп). В общем Скайп проверяет наличие в %appdata%\Microsoft\Skype for Desktop файла Skype-Setup.exe. И если он этот файл находит, то запрашивает админские права для обновления. Как запретить обновления — создать папку (!!!) в %appdata%\Microsoft\Skype for Desktop\ с именем Skype-Setup.exe. Тогда Скайп при обновлении не сможет выкачать этот файл.

Оставьте комментарий