- PVSM.RU - https://www.pvsm.ru -

Обновляем Skype 8 без участия администратора

Со времен выхода ПО Skype восьмой версии многие столкнулись с проблемой обновления в случае если конечный пользователь не имеет прав на установку приложений в системе. Обновляется он достаточно часто и естественно требует от рядовых пользователей ввод данных Администратора через UAC.

Поиск в интернете приводит ко не совсем удобным для админа способам:

  • Повышение прав пользователя до Администратора? Не вариант, это в большинстве случаев приводит к тому, что из решения одной проблемы со Скайп Вы можете нажить себе множество других проблем из-за неграмотности рядового пользователя (а их неграмотных большинство, это статистика)!

  • Использование встроенной в Windows команды 'runas' не совсем подходит. При ее использовании все равно необходим пароль, а при использовании ключа /savecred Вы делаете огромную дыру в безопасности своей системы!

  • Можно использовать сторонний софт, что то вроде AdmiLink Алексея Курякина, или ExecAs. Как вариант, но не совсем удобно распространять дополнительное ПО если у Вас большое количество рабочих станций в сети!

  • Отключить обновление Скайп. Компания Microsoft известа и тем, что добровольно принудительно заставляет пользоваться свежими версиями ПО и здесь встает вопрос времени, сколько проработает программа неактуальной версии!

  • Компания Microsoft не рекомендует использовать домашнюю версию Скайп в корпоративной среде и мило предлагает перейти на платную версию Скайп для Бизнеса!

image

Поехали…

Имеем установленный Скайп 8 версии, при очередной попытке запуска cтановится понятно, что Скайп закачивает exe-инсталятор в папку, где размещаются данные приложений того пользователя от которого выполнен запуск Скайп:

Обновляем Skype 8 без участия администратора - 2

Создаем bat-файл:

echo off

set SKYPE=

:: Поиск 'exe' файла 
for /f "tokens=*" %%i in ('where /R %HOMEDRIVE%Users Skype-Setup.exe') do (set SKYPE=%%i)

:: Проверка переменной на "пустоту" (если файл не найден)
if "%SKYPE%"=="" goto quit

:: Запуск инсталятора с ключом /silent
"%SKYPE%" /silent

:: Удаляем 'exe' файл чтобы избежать циклическую установку одной и той же версии при запуске сценария (сам Скайп его не удаляет после обновления)
del "%SKYPE%" /F /Q

:: Завершаем процесс skype.exe от админа, автоматом запускаемый после обновления
taskkill /F /IM skype.exe

:quit
exit

Суть проста — сценарий ищет файл Skype-Setup.exe. В случае работы нескольких пользователей в одной системе, мы не знаем в каком профиле лежит инсталятор, поэтому ищем его в папке где хранятся все профили пользователей (справедливо для Windows Vista и выше, для Windows XP путь размещения данных приложений другой). Если Вы знаете конкретного пользователя замените значение переменной SKYPE на "%HOMEDRIVE%Users<имя пользователя>AppdataRoamingMicrosoftSkype for DesktopSkype-Setup.exe", я лишь привел обобщенный пример. Записываем результат команды 'where' (путь включая имя файла) в переменную SKYPE, запускаем его добавляя ключ /silent для режима «тихой» установки.

Запускаем встроенный планировщик заданий от админа и помещаем в расписание выполнение созданного bat-файла следующим образом:

Обновляем Skype 8 без участия администратора - 3

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

Для удобства можно создать ярлык на рабочем столе пользователя для ручного запуска задания руководствуясь вот этой статьей [1].

Способ актуален для Windows Vista/7, в Windows 10 ПО Skype является универсальным APPX-приложением, для обновления которых прав Администратора не требуется.

Автор: rusheff86

Источник [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/skype/291884

Ссылки в тексте:

[1] статьей: https://habr.com/sandbox/35923/

[2] Источник: https://habr.com/post/422657/?utm_campaign=422657