Как заставить работать winget через удаленный доступ по WinRM Powershell к компьютерам на Windows 10 SL/Home/Pro?
На половине компьютеров с Windows 10 работает, на другой половине выдает это:
winget.exe: Указанный сеанс работы не существует. Возможно, он уже завершен.
Всё, что можно, уже пробовал (Repair-WinGetPackageManager, Add-AppxPackage и т.д.). Какой-либо зависимости не нашел - работоспособность winget не зависит ни от редакции (Хоум/Про), ни от каких-либо еще вещей. Зато локально или по RDP прекрасно работает! Но мне надо через удаленную консоль - так проще устанавливать/обновлять/удалять мелкие проги, не мешая юзеру.
MaxKozlov, да, спасибо, видел. Эти рекомендации тоже не помогли.
Да, и вот если просто winget.exe запускать напрямую, без командлетов, то выдает
"Сбой выполнения программы winget.exe: Доступ к этому файлу из системы отсутствует."
Ровно тоже самое, если вместо winrm зайти через openssh (перед этим в винде нужно установить компонент OpenSSH Server). Или даже через winrs - тоже не работает.
Попробуйте проверить вероятность, что работает там, где раньше админ заходил на комп интерактивно и его профиль создался при интерактивном входе, и не работает там - где первый раз логинитесь по WinRM.
Вторая идея - зайти на машину, где не работает через WinRM - через psexec \\machinename cmd и уже потом запустить winget.exe
Пожалуй, стоит ещё обратить внимание на то, залогинен ли кто-то на машину вообще в этот момент и какие у него права.
Особенно если список машин с ошибками меняется
Alexey Dmitriev, да, была такая мысль, уже проверял. Даже пересоздавал профиль админа, логинился локально, ждал пока закончится "Привет! Мы настроим ваш компьютер, еще немного..." и потом пробовал удаленно зайти. Корреляции никакой не нашел. Есть компы, где ни разу локально-интерактивно не логинился и там winget удаленно работает, а есть компы где точно заходил ранее в графическую оболочку, но winget удаленно не работает. И наоборот. Будто сеанс "плавающий", типа залогинился, но как-то не до конца, а winget хочет чего-то большего..
MaxKozlov, за всеми компами работали в этот момент юзеры. У части из них права админа. Но тоже никакой корреляции здесь не обнаружил. Хоть chocolatey остается юзать, но там свои нюансы есть, не хотелось бы его как основное решение. Winget как встроенное средство практичнее.
tictac17, версии winget одинаковые? По умолчанию они же прилетают из MS Store с дополнительными пакетами.
Возможно где-то руками ставили и недоставили?
Зайдите в MS Store на проблемном и обновите на нем сам стор если попросит и все остальное.
Сам winget внутри Microsoft.DesktopAppInstaller_8wekyb3d8bbwe
Alexey Dmitriev, везде стоит v1.10.340. Сегодня с утра зашел проверил - на тех компах, где не работало, winget сам по себе заработал. Ну, на части этих компов. Теперь я запутался окончательно.
tictac17, предлагаю найти нкомп с еще неработающим, сделать установку всех доступных обновлений через Windows Update, обновить все пакеты через MS Store, перезагрузить и проверить еще раз.
Alexey Dmitriev, это я пробовал тоже, не помогло. Заметил еще такую вещь - на части ПК, если несколько раз перезайти в сессию управления, winget может начать работать на какой-то раз:
Если через WinRS / OpenSSH заходить - аналогично, может завестить на какой-то раз. МИСТИКА.
А вот на единственном у меня ПК с Windows LTSC 2019 это не помогает вообще, там ничего не помогает.
tictac17, Раз у вас там ComException, стоит посмотреть соответствующие эвенты в логе
не имею представления, что там вдруг использует WinGet, но может ему там какая-нибудь локальная активация в правах dcom требуется
tictac17, давайте попробуем копнуть в эту сторону. Windows 10 LTSC вообще не предназначена для бескостыльной установки winget, расскажите как он туда устанавливался?
Меня интересует - был ли прежде установки winget установлен соответствующий пакет VCLibs***.appx
Alexey Dmitriev, честно говоря я не помню, ставил его (winget) давно, тогда еще только через RDP админил. Сейчас решил прокачать скиллы на консоль.
И вот еще что. На этой машине сейчас я такое проделал:
- скопировал c:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_1.25.340.0_x64__8wekyb3d8bbwe в c:\winget
- ввел в консоль c:\winget\winget install vlc
И он, разговаривая уже по-английски, поставил на этой [LTSC] самой проблемной машине VLC!
И возвращаясь к вашему вопросу, в этой папке есть либы VC (и Xaml тоже), значит такой пакет уже стоял в системе.