Представленное здесь решение предназначено для обслуживания образов Windows 8, 8.1, 10. Может применяться как к автономным файлам образов в формате *.wim, так и к развёрнутой (установленной) системе. Как и в предыдущих моих скриптах использую средства системы DISM. Однако в ходе разработки выяснилось, что с помощью команды dism нет возможности удалить универсальные приложения из установленной системы (обслуживание онлайн) — только средствами PowerShell. Пришлось делать выбор: либо писать скрипт полностью на PS, либо использую возможности командного интерпретатора (CMD), осуществить вызов отдельных операций из PS. Я выбрал второй вариант, в связи с чем, представленное решение состоит из двух файлов: основного скрипта (сохранить с любым именем *.cmd) и дополнительного (сохранить с именем RemoveAppxes.ps1).
Основной скрипт
@echo off
title Deleting Appxes in Windows image
set _file=install.wim
set _img=Online
set _mnt=mount
dism /English /LogLevel:1 /Get-Help | find "Version: 6.1" > nul && exit
:pre_menu
cls
if not exist %_file% goto :version
dism /English /LogLevel:1 /Get-ImageInfo /ImageFile:%_file%
echo -------------------------------------------------------------------------------
if %ERRORLEVEL% NEQ 0 pause & exit
set /p _ind=Input index or press [Enter] for quit: || exit
if %_ind% EQU 0 goto :version
if %_ind% GTR 0 if %_ind% LEQ 24 goto :ind_menu
goto :pre_menu
:ind_menu
cls
dism /English /LogLevel:1 /Get-ImageInfo /ImageFile:%_file% /Index:%_ind%
echo -------------------------------------------------------------------------------
if %ERRORLEVEL% NEQ 0 pause & goto :pre_menu
choice /c abcdefghijklmnopqrstuvwxyz /n /m "Mount selected image? [m] "
if %ERRORLEVEL% EQU 13 goto :mount
goto :pre_menu
:version
dism /%_img% /English /LogLevel:1 /Get-Help | find "Image Version: 6.1" > nul && goto :unmount
goto :remove
:remove
cls
echo Getting list of Appxes. Please wait...
dism /%_img% /English /LogLevel:1 /Get-ProvisionedAppxPackages > %TEMP%\appxes.txt
echo -------------------------------------------------------------------------------
set _num=1
for /f "skip=8 tokens=3" %%a in (%TEMP%\appxes.txt) do call :filter %%a
del %TEMP%\appxes.txt
echo Removes default application associations
dism /%_img% /English /LogLevel:1 /Remove-DefaultAppAssociations
echo -------------------------------------------------------------------------------
if %_img%==Online (
echo Remove current Appxes for AllUsers
powershell -Command Start-Process powershell -ArgumentList '-NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File RemoveAppxes.ps1' -Verb RunAs
)
if not exist %_file% exit
goto :unmount
:filter
echo %1 | findstr /ric:"Microsoft.*" > nul
if %ERRORLEVEL% EQU 0 call :action %1
exit /b
:action
echo %1 | findstr /ric:"Microsoft.*_" > nul
if %ERRORLEVEL% NEQ 0 (
set /a _num+=1
echo %_num% Remove: %1
) else (
dism /%_img% /English /LogLevel:1 /Remove-ProvisionedAppxPackage /PackageName:%1
echo -------------------------------------------------------------------------------
)
exit /b
:mount
cls
md %_mnt%
dism /English /LogLevel:1 /Mount-Image /ImageFile:%_file% /Index:%_ind% /MountDir:%_mnt%
if %ERRORLEVEL% NEQ 0 rd %_mnt% & pause & exit
set _img=Image:%_mnt%
goto :version
:unmount
cls
if not %_img%==Online (
dism /English /LogLevel:1 /Unmount-Image /MountDir:%_mnt% /Commit
rd %_mnt%
)
set _img=Online
goto :pre_menu
Дополнительный скрипт
Get-AppxPackage -AllUsers | Remove-AppxPackage
Использование
Два файла должны размещаться в одной папке. Если в папке запуска отсутствует файл образа — install.wim, то скрипты выполняют работу в полностью автоматическом режиме. Если в папке запуска присутствует файл образа — install.wim, то скрипт выполняет считывание из него информацию об имеющихся «индексах» и предлагает ввести номер. После этого отображается расширенная информация о выбранном «индексе» выдаётся запрос на монтирование. Нажатие любой клавиши приводит к возврату, а нажатие клавиши [m] запускает следующую цепочку действий: монтирование образа, проверка версии ОС, удаление дистрибутивов приложений (по циклу), удаление всех ассоциаций, деинсталляция установленных приложений (при запуске онлайн), размонтирование образа, возврат в меню выбора «индекса». После чего можно выбрать другой «индекс» образа для удаления приложений. Выбор «индекса» под номером 0 запускает обслуживание онлайн.
Разбор кода
Вначале командой set происходит установка переменных. Можно изменить предполагаемое имя файла образа install.wim (например, на install.esd). Можно изменить имя папки монтирования (по-умолчанию mount) или задать путь, если папка монтирования должна находится за пределами папки запуска.
:pre_menu
Предварительное меню. Получение основной информации о wim-файле с контролем ошибок. Если отсутствует файл образа, то запуск в режиме Online.
:ind_menu
Индексное меню. Получение расширенной информации о выбранном «индексе» в wim-файле с контролем ошибок. Предложение смонтировать «индекс».
:version
Проверка версии целевой системы. Если оказывается, что скрипт пытаются применить к образу Windows 7, то происходит размонтирование. Иначе, выполняется переход к следующей метке.
:remove (:filter, :action)
Основной блок выполнения скрипта. Вначале запрашивается список интегрированных универсальных приложений с сохранением во временный файл appxes.txt. Затем в цикле for из полученного списка последовательно выбираются строки и передаются в псевдофункцию :filter. Строки фильтруются поиском по регулярному выражению «Microsoft.*» — если найдена, то передаются в следующую псевдофункцию :action. Здесь по регулярному выражению «Microsoft.*_» отфильтровываются названия универсальных приложений, передаваемые в дальнейшем утилите dism для удаления. Чтобы лучше понять логику работы нужно взглянуть на содержимое файла appxes.txt. Так как файл удаляется по завершению работы цикла, то чтобы с ним ознакомиться нужно предварительно вручную его получить и сохранить.
Одной командой происходит удаление всех ассоциаций открытия отдельных файлов универсальными приложениями. Для распространённых типов файлов остаются ассоциации со стандартными классическими приложениями Windows.
Удаление (деинсталляция) универсальных приложений на установленной системе происходит вызовом составной команды на языке скриптов PowerShell. Файл дополнительного скрипта RemoveAppxes.ps1 вначале выполняет запрос списка всех универсальных приложений для всех пользователей, а затем «по конвейеру» передаёт их команде на удаление. Вроде бы ничего сложного, однако, чтобы выполнить эту операцию скрипт PS должен быть запущен с повышенными правами, причём работать от имени Администратора не достаточно. Для успешного запуска нужно вставить тот сложный код в команде powershell чтобы получить повышение прав. Защита которая легко обходится! Вот за этот «идиотизм» мне и не приглянулся PowerShell.
:mount
Монтирование образа. Предварительно создаётся папка монтирования. Контроль ошибок. Изменяется переменная определяющая спецификацию образа, теперь указывает на путь к автономному образу.
:unmount
Размонтирование образа. Если выполнялось интерактивное обслуживание (/Online), то размонтировать не нужно. Возвращение переменных к исходным значениям.
Заключение
Я показал простой и быстрый способ удаления приложений Магазина Windows. Считаю, что одно и тоже приложение не может быть одинаково удобным для использования на мобильном устройстве и на ПК. Прежде всего у названных платформ разное функциональное назначение, а значит и требуемые пользователям приложения должные предоставлять разный функционал. После отработки скрипта несколько универсальных приложений всё же остаются, прежде всего это сам Магазин Windows, с помощью которого можно установить то, что было удалено или что-то ещё.
Комментарии (79)
Sergey-S-Kovalev
26.01.2018 07:44Пришлось делать выбор: либо писать скрипт полностью на PS, либо использую возможности командного интерпретатора (CMD), осуществить вызов отдельных операций из PS. Я выбрал второй вариант, в связи с чем, представленное решение состоит из двух файлов: основного скрипта (сохранить с любым именем *.cmd) и дополнительного (сохранить с именем RemoveAppxes.ps1).
Не то что бы я не считал логичным вызывать из командного интерпретатора DISM и командлеты Powershell, но:
вызывать на исполнение из CMD интерпретатор Powershell, что бы запустить Powershell для исполнения скрипта Powershell это какой то новый для меня уровень вложенности. Не говоря уже о том, что конструкцияecho Remove current Appxes for AllUsers powershell -Command Start-Process powershell -ArgumentList '-NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File RemoveAppxes.ps1' -Verb RunAs
удаляет далеко не все.Get-AppxPackage -AllUsers | Remove-AppxPackage
Ostan Автор
26.01.2018 09:15Про автоподнятие прав в PS в курсе? В статье объяснено почему такой «хитрый» способ. Предложи способ (скрипт), который удаляет всё.
Sergey-S-Kovalev
26.01.2018 13:23Ей богу не хотел писать полотенце, но Вы фамильярны и грубоваты.
Я прокомментирую удаление в работающей системе, c WIM не тестировал, не вижу смысла.
Про автоподнятие прав в PS в курсе?
А можно ссылку на официальный мануал? Напомню, актуальная версия Powershell — 5.1+
В статье объяснено почему такой «хитрый» способ.
А Вы сами то соблаговолили протестировать? Я соблаговолил. И на выходе один и тот же результат. После выполнения Вашего скрипта остается 31 appx, и после выполнения
черезGet-AppxPackage -AllUsers | Remove-AppxPackage -Confirm:$False -Verbose
остается 31 апп. Т.е. разницы вообще никакой. Даже статья Дарьи (где кстати тоже указывается «хитрый» способ) Удаление/восстановление Metro-приложений в Windows 10, где очень подробно разжёвано не приводит к другому результату, но там хоть рассказывается как починить.powershell.exe -ExecutionPolicy Bypass -NoProfile -File Remove-AppxPackage.ps1
Предложи способ (скрипт), который удаляет всё.
Даже в обычном случае, по моему скромному мнению удаляется слишком много. Это где то да аукнется.
Дабы развить свою мысль добавлю, что выполнение из CMD сильно ограничивает Вас в захвате и обработке исключений, не говоря уже о том, что скрипт не проверяет включен ли UAC, и если не запустить его сразу с повышенными привилегиями, то он делает вид, что работает, а на выходе (ни)фига. Т.е. перепроверок нет.
Защита которая легко обходится!
Вы сидите в системе под правами локального администратора, и жалуетесь что можете что то поломать с помощью Powershell? Set-ExecutionPolicy, вроде, еще с 3ей версии Powershell уже не заставляет править права доступа что бы выполнять скрипты на локальной системе. Под правами пользователя Ваша магия «автоподнятия прав» не работает. Это как жаловаться, что ножны от ножика не защищают. Вы сами вынули ножик, наделали в себе дырок, и теперь оказывается ножик с чехлом не правильные. Смешно, ей богу.Ostan Автор
26.01.2018 15:04Давайте разбираться. Отвечу по пунктам.
Ссылки не будет — в Интернете полно информации о способах повышения прав для скрипта PS в самом скрипте (автоподнятие прав). Мне пришлось искать способ, потому что иначе не работало. А что, в PS 5.1 не нужно повышать права для выполнения некоторых операций? К тому же, в дистрибутивах Windows 8, 8.1, 10 изначально PS не последней версии. Таким образом чтобы использовать в скрипте PS «фишки» из версии 5.1+ нужно её предварительно установить.Про автоподнятие прав в PS в курсе?
А можно ссылку на официальный мануал? Напомню, актуальная версия Powershell — 5.1+
А Вы сами то соблаговолили протестировать? Я соблаговолил. И на выходе один и тот же результат. После выполнения Вашего скрипта остается 31 appx
Я тестировал скрипт на Windows 8.1 и у меня оставалось 2-3 (точно не помню) приложения appx, а Вы похоже тестируете на Windows 10 (тот, который для домохозяек) и остаётся 31 appx. Я использую Windows 10 LTSB в котором нет универсальных приложений. Значительная часть «мусора» в 10-ке всё же удаляется моим скриптом и это уже хорошо.
выполнение из CMD сильно ограничивает Вас в захвате и обработке исключений, не говоря уже о том, что скрипт не проверяет включен ли UAC, и если не запустить его сразу с повышенными привилегиями, то он делает вид, что работает, а на выходе (ни)фига. Т.е. перепроверок нет.
Да, так и есть. В предыдущей статье к скрипту по отключению компонентов Windows Я указывал, что нужно запускать с отключенным UAC и с правами Администратора, а в этой статье эту информацию не указал. У меня UAC отключён «пожизненно» поэтому я не имею проблем с запуском, которые могут быть у других.
Это как жаловаться, что ножны от ножика не защищают. Вы сами вынули ножик, наделали в себе дырок, и теперь оказывается ножик с чехлом не правильные. Смешно, ей богу.
Нет, неправильно! Если говорить аллегориями, то мне нужен ножик без ножн, которым Я могу размахивать во все стороны. А вместо этого компания MS предлагает мне ножик в ножнах, который чтобы достать, нужно приложить усилие. Мне не нужна их «детская» защита для PS в виде Execution Protect.Sergey-S-Kovalev
26.01.2018 21:31Ну давайте разбираться, я всегда за конструктивный диалог.
Ссылки не будет
Ни на секунду не имел в этом сомнений, просто потому что вижу, что нет у Вас понимания как это работает… а одна из причин — потому что у Вас отключен UAC.
К тому же, в дистрибутивах Windows 8, 8.1, 10 изначально PS не последней версии.
На момент выхода Windows 8 актуальной версией была 4я, вместе в Windows 10 релизнулась 5я. Соответственно там всегда последняя версия был на момент релиза. В текущей Win10 v1709 PS как раз последней возможной версии.
чтобы использовать в скрипте PS «фишки» из версии 5.1+
Вы не используете возможности 5той версии, но даже это не повод обновлять PS, если Вы его используете.
(тот, который для домохозяек)
Ничем не подкрепленное, голословное утверждение. Я взял стоковый WIM от Win10-Pro-x64-1709, поскольку его не было в WDS, сделал вжух (Import-WdsInstallImage), нажал F12 и пока ходил за кофе получил виртуальную тестовую среду. После залития всех апдейтов там 99 штук appx, и все мегаскрипты оставляют ровно 31.
Windows 10 LTSB
Там 16 appx и они не удаляются. Ваш скрипит применять к нему бесполезно. Пользоваться Win8/8.1 при наличии Win10 моветон, телеметрию льют одинаково, юзабилити как земля и небо.
У меня UAC отключён «пожизненно» поэтому я не имею проблем с запуском
Двумя десятками строк выше в Вашем комментарии: "Мне пришлось искать способ, потому что иначе не работало.". Видимо отключение UAC Вам проблем таки добавило, а не убавило.
Мне не нужна их «детская» защита для PS в виде Execution Protect.
Если Вы не следите за новостями я Вам подскажу, что CMD скоро не станет, его заменит PS. Можете начинать тренироваться помещать все Ваши BAT/CMD в мусорную корзину.Ostan Автор
26.01.2018 22:09Продолжим
Ни на секунду не имел в этом сомнений, просто потому что вижу, что нет у Вас понимания как это работает… а одна из причин — потому что у Вас отключен UAC.
Сейчас мне и не нужно понимание тонкостей PS. Я себе поставил задачу и решил её известным мне способом (CMD). Судя из Ваших намёков отключение UAC и автоподнятие прав в PS как-то связаны?
После залития всех апдейтов там 99 штук appx, и все мегаскрипты оставляют ровно 31.
Здесь хоть ко мне претензии нет, раз у всех остаётся 31 appx?
Пользоваться Win8/8.1 при наличии Win10 моветон, телеметрию льют одинаково, юзабилити как земля и небо.
Я «дважды моветон» — до сих пор для личных нужд пользуюсь Windows 7. Подумываю уйти на Linux…
Если Вы не следите за новостями я Вам подскажу, что CMD скоро не станет, его заменит PS. Можете начинать тренироваться помещать все Ваши BAT/CMD в мусорную корзину.
Ой горе то какое!
А теперь Я задам вопрос:
Вся наша ветвь дискуссии похожа на то, что Я как ученик/подчинённый оправдываюсь перед преподавателем/начальником за то что плохо выполнил свою работу. Вы как адепт PS пытаетесь убедить меня использовать этот инструмент. Заглянул к Вам профиль и увидел одну несчастную статью по 1С.
Что же вы сами не напишете какой-нибудь полезный широкой публике скрипт на любимом PS и не выложите его здесь? Блесните умом, покажите на что Вы способны!Sergey-S-Kovalev
27.01.2018 09:41не нужно понимание тонкостей PS
а это не тонкость работы PS. Это особенность работы UAC, который можно ослабить, но невозможно отключить. Именно поэтому Вам приходится решать «непонятную» проблему первым работающим кодом из интернетов. При явно включенном UAC, вы просто учитываете этот нюанс при разработке скриптов изначально.
Здесь хоть ко мне претензии нет, раз у всех остаётся 31 appx?
Если взять мой первый пост в ветке, я просто высказался, что нелогично задействовать CMD+DISM+PS, когда можно сделать все это в PS. Код будет нагляднее, его проще поддерживать и развивать. Вы подаете будущим специалистам дурной пример.
Подумываю уйти на Linux
Поставить что бы в интернеты ходить или администрировать сервера и сервисы? Разница то огромная.
Ой горе то какое!
Было бы горе, кстати, огромное. Но вот в январе опровержение вышло в блогах мелкомягких.
плохо выполнил свою работу
На Вас озарение снизошло, или Вы случайно это написали? :)
Заглянул к Вам профиль и увидел одну несчастную статью по 1С.
Покажите мне статью, которая проще и легче автоматизирует указанный в статье процесс на 200+ организаций и я пожалуй подумаю над написанием автоматизации на PS.
полезный широкой публике скрипт на любимом PS и не выложите его здесь?
У меня есть решения, которым нет аналогов на хабре в плане качества реализации, но эти решения еще растут, в них ловятся ошибки, они оптимизируются. Как будут готовы, я конечно же их представлю на суд общественности.
Уверен, что это будет законченное решение, в которое меня носом тыкать потом не будут :)))Ostan Автор
27.01.2018 10:21-1Я не заказывал «аудиторскую проверку» своего кода. Меня мой код устраивает. Хватит меня поучать, ты мне надоел! Что-то твои «идеальные» решения на PS долго зреют, если отсчитывать от последнего (и единственного) твоего поста по 1С в 2015 году. Умом блеснёшь когда будет результат — твой пост с кодом. А так «п***ть, не мешки ворочать».
Massacre
26.01.2018 22:29+1CMD скоро не станет, его заменит PS.
Что, действительно? А как же обратная совместимость?Sergey-S-Kovalev
27.01.2018 09:05Пока искал ссылку на декабрьское сообщение в инсайдере об том, что уберут, наткнулся на сообщение в блогах мелкомягких, что мол чуваки не паникуйте, все останется на месте еще очень долго.
Пипец отменяется :)
AikoKirino
26.01.2018 09:15-2А можно установить LTSB релиз и ничего не нужно удалять.
К тому же апдейты там в основном секьюрные и не потребуют сильно много трафика.Ostan Автор
26.01.2018 09:18-1Установи и посмотри, что в Windows 10 LTSB тоже присутствуют универсальные приложения.
Ostan Автор
26.01.2018 15:07Я ошибся! Да, действительно в дистрибутиве Windows 10 LTSB нет универсальных приложений. Но скрипт также предназначен и для Windows 8, где универсальные приложения присутствуют, а версии LTSB не существует.
evgeny_alekseyew
26.01.2018 10:34-1Get-AppxPackage -AllUsers | Remove-AppxPackage
Get-AppXProvisionedPackage -Online | Remove-AppxProvisionedPackage -Online
___
Запускать в PS от администратора. 1 минута на всёOstan Автор
26.01.2018 10:41Неа! Запуск от имени Администратора не даст результата. Нужно поднятие прав.
А ещё нужно чтобы скрипт выполнял работу над автономным образом — файлом install.wim. Сможешь?evgeny_alekseyew
26.01.2018 10:43Боюсь, вы меня неправильно поняли. Эти 2 волшебные команды применяю на свежеустановленной системе. Не вижу смысла рыться в установочном образе ОС, если задача удаления встроенного ПО занимает менее минуты.
Ostan Автор
26.01.2018 10:56Смысл в том, чтобы уменьшить размер образа — это раз! После установки ОС, удаление установившихся универсальных приложений и их дистрибутивов занимает время — это два! Необходимость после каждой установки что-то запускать снижает автоматизацию — это три!
Hikedaya
26.01.2018 10:49По поводу автономного файла:
Mount-WindowsImage + RemoveAppxPackage -path %FOLDER_NAME%Ostan Автор
26.01.2018 11:04Mount-WindowsImage + RemoveAppxPackage -path %FOLDER_NAME%
— «Совершенный Код».
Напиши готовый скрипт на PS, который делает тоже что и мой на CMD и выложи здесь и будет тебе хвала! Я в PS не силён (да и не нравится он мне), поэтому и выбрал CMD.Hikedaya
26.01.2018 12:37У меня не было цели написать готовое решение, я лишь ответил на вопрос, как работать с автономными образами. Тем не менее, спасибо за задачу, будет время — попробую переложить ваш cmd на powershell.
forcam
26.01.2018 12:56+1Я не нашел ничего полезного, поэтому и написал скрипт, который удаляет их все
Вы точно уверены что ваши действия не подпадают под нарушение 4х законов УК РФ?
А то, тут народ недавно спросил у Майкрософта как им отключить автообновления в Windows 10, так им прямо указали на нарушение законов и на то, что за такое отключение можно горько поплатиться (штраф до 200к рублей + административка, если не путаю), а уж удаление предустановленных приложений это совсем кощунство может оказаться, судя повсему :)
Если интересно:
answers.microsoft.com/ru-ru/windows/forum/windows_10-update-winpc/%D0%BE%D1%82%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82/b15b8831-845e-4d1d-814d-106d11d7264a?auth=1
…
Ваши действия по отключению автоматического обновления, что прямо запрещено статьями 1229 и 1235 Федерального Закона 230-ФЗ «Гражданский кодекс Российской Федерации», квалифицируются Законодательством как незаконное использование программного обеспечения, со всеми вытекающими из этого юридическими последствиями, предусмотренными статьёй 7.12 Федерального Закона 195-ФЗ Кодекс Российской Федерации «Об административных правонарушениях», статьями 1252, 1301 Федерального Закона 230-ФЗ «Гражданский кодекс Российской Федерации», и 2-й и 3-й частями статьи 146 Федерального Закона 63-ФЗ «Уголовный Кодекс Российской Федерации»...dmitry_dvm
26.01.2018 13:19Вы там не увидели или не захотели увидеть, что это ответ на удаленное сообщение, а не на вопрос топикстартера? Это же касается Ostan. Вроде взрослые люди, не первый раз в интернете.
forcam
26.01.2018 22:11Не важно каким было перед этим сообщением, важно каков был ответ. Отключение автомотаческого обновление невозможно сделать стардартно (оно все равно включится), по этой причине придется производить дополнительные действия, которые и будут отнесены к модификации ПО. Из этого следует, что любой отключивший, является нарушителем всех описанных законов. Поэтому абсолютно не важно кто и что писал до этого, важен сам факт того, что, пусть и в теории, но с вас могут стрести 1-2 сотенки и пусть не баксов, а каких-то тысяч рублей, но за ваше же удобство. И к слову, все пользователи добровольно согласились на предоставление почти любой информации, поэтому то, что именно вы отключили и где именно вас найти — они будут знать точно :) (то что кнопочек в винде по отключению нарисовали, а в соглашение добавить забыли — никто и не заметил, по этой причине кнопочки, то бутофорские :)) Дела в компании идут не очень и то, что пользователей не завалят исками, что бы поправить дела — я бы не исключал, ведь в глазах общества они будут почти хакерами :) каков % пользователь знает как и зачем отключать автообновления? 0,01?)
Massacre
26.01.2018 22:34А за блокирования серверов обновления и телеметрии Windows средствами стороннего файервола теперь тоже сажать будут?
В общем, мне жаль тех, кто сознательно перешёл на Win10.forcam
27.01.2018 18:48чуть ниже ответил на комент, ответ тот же.
Отключение обновлений, запрещено лицензионным соглашением.
dmitry_dvm
26.01.2018 23:37Вот, честно говоря, лицензию не читал, как и большинство, но думаю, в том каменте была речь об отключении обновления какими-нибудь патчами в Home. Потому что на Pro можно отключить обновления одним дропдауном в политиках и я уверен про это в лицензии ни слова. Так что хотите удобств — покупайте Pro. По мне так даже и хорошо, что в версии для домохозяек у домохозяек урезаны права.
Вы тоже из тех, кто отключает обновления?forcam
27.01.2018 18:47так вы почитайте, что второй модер пишет)
"… Принимая условия настоящего соглашения, вы даете согласие на получение автоматических обновлений такого типа без каких-либо дополнительных уведомлений.
..."
Поэтому отключать автоматическое обновление нельзя. Это запрещено лицензионным соглашением.
То есть, единственный способ не получать обновлений, это отказаться от использования Windows 10.Kobalt_x
27.01.2018 20:37Ну отключение на не продуктах Microsoft доступа к windows update серверам не является нарушением лицензионного соглашения
forcam
28.01.2018 04:59Только в случае если это сделано не намеренно, потому что если намеренно, то пользователь умышленно препятствует обновлению, что является нарушением.
Lennonenko
28.01.2018 21:44это тупые совковые модеры производят чушь в промышленных масштабах
приведённый пункт EULA не обязывает пользователя принимать обновления и не запрещает ему блокировать получение этих обновлений, а всего лишь прописывает юридическую отмазку для изготовителя от пользователей «ааа, ваша винда у меня 4 гига трафика сожрала в роуминге!!!»
Ostan Автор
26.01.2018 13:03Спасибо за ссылку — почитал, посмеялся. В последние годы Я всё больше убеждаюсь, что компания Microsoft «идёт не туда».
UksusoFF
26.01.2018 13:30Так вот же https://github.com/W4RH4WK/Debloat-Windows-10
В чем разница?Sergey-S-Kovalev
26.01.2018 13:51Скрипт на гитхабе не херит кучу библиотек. После него остается 92 appx, а не 31 как в случае с скриптом в топике. По ощущениями сносит все что не мелкомягкое.
Ostan Автор
26.01.2018 15:13Очевидно же! Там полностью написано на PS и только для Windows 10. У меня скрипт на CMD и для версий начиная с Windows 8. Спасибо за ссылку, будет время — ознакомлюсь.
Программирование не детерминированный процесс, а это значит что одна и та же задача может быть решена разными способами, с использованием разных технологий.
pvs043
26.01.2018 19:23Уважаемые хабровчане!
Не мог пройти мимо этой статьи, так как занимаюсь подготовкой «золотых» образов Windows уже 4 года.
Разберем некоторые цитаты:
Среди предустановленных универсальных приложений лично Я не нашел ничего полезного, поэтому и написал скрипт, который удаляет их все.
А как же Microsoft.BingWeather или например Windows.Photos? Нужен список для удаления.
У меня скрипт на CMD и для версий начиная с Windows 8.
Скажу по-секрету, что начиная с Windows 8.1 эту задачу уже решили уважаемые сотрудники и партнеры Microsoft. 4(!) года назад:
Removing Windows 8.1 Built-in Applications
Removing Windows 10 in-box apps during a task sequence
Updated Remove Apps Script, and a WorkaroundЯ в PS не силён (да и не нравится он мне), поэтому и выбрал CMD.
CMD=DOS, VBS=WinXP, PowerShell 5.1=Win7+, PowerShell 6.0=Win+Linux+MacOS (PowerShell Core 6.0: Generally Available (GA) and Supported!)
Ostan, у Вас какая OS?
У меня UAC отключён «пожизненно» поэтому я не имею проблем с запуском, которые могут быть у других.
Без комментриев. Проблем с запуском вирусни и прочих майнеров действительно нет.
Коллеги, не спешите сразу же выполнятьготовое решение, которое можно без доработок применять в работе
Подготовка эталонного образа Windows требует множества шагов, которые подробно описаны в официальных источниках. Другое дело, что читать (да еще и на английском) лень :)
Мой проект, используемый в Production: MDT Build Factory. Начните с прочтения Списка литературыTaciturn
26.01.2018 20:12Но ведь cmd не запускается в DOS, а в XP есть PowerShell 2.0. Или 7=PowerShell 2.0, если рассматривать ОС без обновлений.
Проблем с запуском вирусни и прочих майнеров действительно нет.
Ясное дело, им же права не нужны, они что с UAC'ом, что без, прекрасно работают.
Ostan Автор
26.01.2018 22:36Отвечу по цитатам
А как же Microsoft.BingWeather или например Windows.Photos? Нужен список для удаления.
Я же сказал: «Скрипач не нужен». Нужно — делайте!
Скажу по-секрету, что начиная с Windows 8.1 эту задачу уже решили уважаемые сотрудники и партнеры Microsoft. 4(!) года назад:
Отвечу по секрету: у меня автономное решение, а там: «The script is designed to work as part of an MDT or Configuration Manager task sequence.» (рус. «Сценарий предназначен для работы как часть последовательности задач MDT или Configuration Manager»).
CMD=DOS, VBS=WinXP, PowerShell 5.1=Win7+, PowerShell 6.0=Win+Linux+MacOS
— интересная математика. Ясно, ещё один рекламщик PS.
Без комментриев. Проблем с запуском вирусни и прочих майнеров действительно нет.
Смех! Вот представь образы двух людей: один программист, обладает достаточными знаниями чтобы написать данный скрипт, а другой — тупой пользователь, который клацает и запускает всё подряд, компьютер которого «кишит» вирусами и майнерами. А теперь мысленно совмести эти два образа в одном человеке. Получилось? Думаю что нет!
Подготовка эталонного образа Windows требует множества шагов, которые подробно описаны в официальных источниках. Другое дело, что читать (да еще и на английском) лень :)
— слушайте грамотного человека! Я ото «болван» сидю тута, аглицками йазыками не владеюча, по клавам навгад стукау, а оно бац! и само заработало. Отама вон вумный человек для продакшуна чятыре годка (пятый пошол) сборку делает, десять звёздочок на гытхабу собравши.
VitalKoshalew
27.01.2018 08:05Замечу безотносительно статьи, что не существует продукта «PowerShell 6.0». Существует отдельный сырой PowerShell Core, первую GA версию которого назвали «6.0». Заменой PowerShell это не является хотя бы потому, что не реализован модуль ActiveDirectory.
pvs043
27.01.2018 10:10-1у меня автономное решение, а там: «The script is designed to work as part of an MDT or Configuration Manager task sequence.»
А посмотреть содержимое лень конечно? :)
Обычный скрипт, который использует Remove-AppxProvisionedPackage и Remove-AppxPackage, но при этом умеет работать с онлайн/оффлайн образом и удаляет только явно заданные в конфиге приложения.Ostan Автор
27.01.2018 10:25-1Да пусть хоть десять подобных скриптов будет, что с того? Ну пользуйся тем скриптом, Я что заставляю использовать мой? Напиши статью здесь про свои разработки — сообщество оценит.
dmitry_dvm
Универсальные приложения вам неудобны пока не появится девайс с сенсорным экраном и hidpi. После этого внезапно оказывается, что ничего удобнее не придумано.
Из UWP, которые искаропки юзаю почту — просто, удобно, ничего лишнего; Groove -музыка прямо из облака, не занимая гигабайты ссд; Видеоплеер — играет всё, что скачиваю, легкий, не надо ничего ставить; просмотрщик фоток и калькулятор — не ставить же отдельно калькулятор, а просмотрщик еще и редактировать умеет; ну и прекрасное тиньковское приложение, ничего удобнее для банка не изобретено еще. Ах, да, еще ворд с экселем юзаю, они мне редко нужны, чтобы какой-нибудь док открыть, не ставить же офисы ради этого.
Плюс эти приложения не засирают систему, в отличие от всего прочего.
Так что зря вы так про них.
Кстати, скрипт прям удаляет наглушняк или просто скрывает, как всегда? Если нового юзера завести, приложения у него появятся?
Wesha
Люблю таких вот жизнерадостных товарищей. Потом у них либо пропадает интернет, либо дядя перестаёт поддерживать облачный сервис, и тут-то и начинаются визги — "А где моя музыка???"
dmitry_dvm
Облачный сервис платный, там у дяди другой уровень ответственности. Внезапно никто ничего не отключит. В случае же отключения интернета бывает намного больше реальных неудобств, нежели недоступность музычки, поэтому имеется резервный канал. Плюс там есть автономный режим, любой альбом можно закэшировать. А, вот интересный вопрос, как часто у вас бывают фатальные отключения инета, чтобы это было фактором в пользу хранения сотен гигов локально? А что будете делать, если винт однажды не зашуршит?
Wesha
Проблема не в дяде в Микрософте, а в пьяных монтёрах, которые оптику у меня в подъезде перерубили.
RAIDZ2 неоднократно спасал отца русской демократии.
dmitry_dvm
Предполагаю, что RAIDZ2 в современный ноут с одним ссд не вкорячить.
Wesha
RAIDZ великолепно работает с внешними USB-дисками, причём особенно отлично справляется с подключением-отключением таковых: выдернул провод — работает на внутреннем, подключил провод — распознала и принялась в фоне инкрементально синхронизировать на него на него изменения состояния с момента его отключения.
Taciturn
А как именно заставить работать RAIDZ в Windows 10?
Wesha
Windows 8/10 отлично работает с сетевыми дисками. www.freenas.org
Taciturn
Т.е. носим вместе ноутбук + NAS. Ясно, понятно.
Wesha
К NAS можно обращаться через эти ваши интернеты.
А некоторые вообще
языком умываютсяставят себе на ноутбук FreeBSD и не выёкаблучиваются.Usmekhaiouschiysia
Т.е. не доверяем облаку, потому что когда отрубится инет, оно пропадёт, но доверяем своему NAS, к которому обращаемся по инету. Логика.
Wesha
Я написал, чему я доверяю, а мне "не хочу фряху, хочу форточки". ССЗБ, короче.
Usmekhaiouschiysia
Да, вы сами себе злой буратинка, если не видите, что ветка с самого начала о мобильных устройствах.
nehrung
omgiafs
Я сделал проще. Ampach на свой NAS. А на NASе кто как хочет, так и извращается — RAID, AUFS и прочие замороки.
На мобильных платформах слушаю через приложения.
Разделяйте проблему на доступность данных и на канал доступа.
Инет в России (в подъезде) отрубили — не будет вам Дизеров, и данных не будет.
А если данные у вас, то от вас они никуда не денутся (зависит от уровня резервирования).
Wesha
Вот и я как раз про это!
dmitry_dvm
Да будь у вас дома хоть три рейда, облако всё равно надежней. От облака вас может отрезать только обрыв инета (временно), а от потери данных дома множество факторов, начиная от скачка напряжения и глюка рейда до наводнений и пожаров.
Да о чем мы вообще спорим, отказоустойчивые массивы жрущие электричество, гудящие и ради музычки(!). Ну ок, ваш выбор.
profesor08
В таком случае проще держать локально сотню другую музыкальных треков на флешке и не *** себе мозг вопросами «а вдруг». От всего, что может произойти не защититься, тем самым каждый определяет самые критичные для себя моменты и решает вопрос в индивидуальном, удобным для себя способом.
Lennonenko
если ваши вкусы ограничиваются сотней-другой треков, то, проще как раз на гуглдиск (icloud) всё положить и не париться
хранить на флэшке можно только либо ненужную, либо забэкапленую информацию
evgenWebm
А вместо мухобойки вы применяете динамит?
crazylh
У вас очень странное представление о ведении бизнеса. Ничто не мешает владельцу признать ваше облако нерентабельным и закрыть.
Usmekhaiouschiysia
Обязательства. Из-за которых при закрытии облаков они ещё некоторое время доступны и работают, что позволяет сменить сервис.
crazylh
Покажите пожалуйста хоть одну EULA где про это написано? Везде пишут "сервис предоставляется как есть, без каких либо гарантий. Все риски и ущерб от использования сервисом принимает на себя пользователь".
Wesha
Usmekhaiouschiysia не читатель,Usmekhaiouschiysia писатель.
ElectroGuard
Я в последнее время почти перестал 'свою музыку' слушать. Нашел десяток хороших онлайн трансляций (из многих тысяч) и, бывает, слушаю онлайн. Интернет отключат? Музыка будет самой малой печалью.
Massacre
Ну так логично же, это скрипт для ПК. Пусть планшетно-телефонные приложения используются там, где им и положено. Впрочем, есть ещё более радикальный метод, установить Win7 :)
Kobalt_x
Windbg новая бета версия которого metro приложение тоже только для планшетов/ноутов?
Massacre
Скорее, для программистов UWP приложений. Правда, я не понимаю, как оно будет работать, ведь настоящее UWP ж в своей песочнице только может? Что-то гибридное?
Kobalt_x
не, не, не
дэвид-блейннативщину и ядерную отладку оно поддерживает, плюс фича ttd явно ориентированная не на разработчиков uwp приложенийMi7teR
можно вообще не пользоваться компьютером — один из самых радикальных методов. Для пк есть сенсорные мониторы, в этом случае эти приложения внезапно становятся удобными.
dmitry_dvm
Ну в мире, где приемлема W7 всё это, конечно, не актуально, как и UWP-приложения. А в моем мире у меня отличный ноутбук-трансформер с сенсорным экраном, на котором универсальные приложения как глоток свежего воздуха.
Massacre
Я ж и упомянул планшетно-телефонные приложения — разумеется, на планшете (чем и является ноутбук-трансформер в положении без клавиатуры), им, как раз и место.
Заодно, отвечая на комментарий выше — и как, удобно пользоваться сенсорными мониторами с диагональю 27"? Руки не устают?