2015-12-10 4 views
5

Я стараюсь, чтобы установить универсальное приложение Windows 10 с удалением PowerShell. Я пробовал все, о чем я могу думать, поэтому теперь я обращаюсь к вам с надеждой, что кто-то может дать мне ответ или объяснение, почему мой подход не работает. Также приветствуются альтернативные решения.Установка приложения Windows 10 с удалением PowerShell

По существу, я хочу удаленно установить приложение Windows 10, и мой подход состоит в загрузке файла на целевой компьютер и использовании удаленного доступа для запуска установки. Это сводилось версия моего сценария:

$computerName = 'XYZ' 
$userName = 'abc' 
$newCred = Get-Credential "$computerName\$userName" 
$newSession = New-PSSession -ComputerName $computerName -Credential $newCred -ErrorAction Stop 
Invoke-Command -Session $newSession -ErrorAction Stop -Verbose -Scriptblock { 

function installApp($srcDirectory) { 
    $installer = Get-ChildItem "$srcDirectory\App.Test*\Add-AppDevPackage.ps1" | Select-Object -ExpandProperty FullName   
    &($installer)    
} 

$srcDirectory = "$($env:TEMP)/TestApp" 
    installApp($srcDirectory) 
} 

Remove-PSSession $newSession 

По существу все это пытается сделать, это запустить сгенерированный сценарий, который был создан в визуальной студии для того, чтобы установить приложение. Но когда я запускаю его я получаю следующее:

Installing app... 

Add-AppxPackage : Deployment failed with HRESULT: 0x80073CF6, Det gick inte att registrera paketet. 

error 0x80070005: Adding a tile failed with unexpected error. 

NOTE: For additional information, look for [ActivityId] a3f9b89b-3292-000113ea-f9a39232d101 in the Event Log or use the command line Get-AppxLog -ActivityID a3f9b89b-3292-0001-13ea-f9a39232d101 

At C:\Users\abc\AppData\Local\Temp\App\TestApp_1_0_0\Add-AppDevPackage.ps 1:392 char:13 
+    Add-AppxPackage -Path $DeveloperPackagePath.FullName - 
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
+ CategoryInfo   :  (C:\Users\abc..._arm.appxbundle:String) [Add-AppxPackage], IOException 
+ FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand 

Error: Could not install the app. 

И выход из Get-AppxLog -ActivityID a3f9b89b-3292-0001-13ea-f9a39232d101 является:

Time      ID   Message                               
----      --   -------                               
2015-12-10 10:45:39  301   The calling process is wsmprovhost.exe                       
2015-12-10 10:45:39  603   Started deployment Add operation on a package with main parameter: Test.App_1.1.1.0_x86_x64_arm.appxbundle and Options: Fo 
             rceApplicationShutdownOption. See http://go.microsoft.com/fwlink/?LinkId=235160 for help diagnosing app deployment issues.  
2015-12-10 10:45:40  164   The app bundle signature was validated for core content of the app bundle published by CN=xxx. App packages won't be validated 
             until they are read.                            
2015-12-10 10:45:40  391   The bundle streaming reader was created successfully for bundle 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutra 
             l_~_m042xdac27ax6.                            
2015-12-10 10:45:40  10002  Creating Resiliency File C:\ProgramData\Microsoft\Windows\AppRepository\d195e8d8-35c4-4b85-bb4f-d99c525791c1_S-1-5-21-3220428687- 
             2095128414-3811769907-1077_1.rslc for Add Operation on Package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral 
             _~_m042xdac27ax6.                             
2015-12-10 10:45:40  607   Deployment Add operation on package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral_~_m042xdac27ax6 has been d 
             e-queued and is running for user XYZ\abc.                  
2015-12-10 10:45:40  613   Adding uri to the list of Uris: file:///C:/Users/abc/AppData/Local/Temp/TestApp/Test.App_1 
             .1.1.0_Test/Test.App_1.1.1.0_x86_x64_arm.appxbundle.                  
2015-12-10 10:45:40  614   Bundle Uri file:///C:/Users/abc/AppData/Local/Temp/TestApp/Test.App_1.1.1.0_Test/Artologik 
             .Kiosk_1.1.1.0_x86_x64_arm.appxbundle contains packages: "Test.App_1.1.1.0_x86.appx": 588388d0-5c5f-41e1-8965-f8ed6a2644.TestApp 
             _1.1.1.0_x86__m042xdac27ax6 "Test.App_1.1.1.0_x64.appx": 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_ 
             1.1.1.0_x64__m042xdac27ax6 "Test.App_1.1.1.0_ARM.appx": 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_arm__m0 
             42xdac27ax6.                              
2015-12-10 10:45:40  157   The app package signature was validated for core content of the app package published by CN=xxx. Payload won't be validated unt 
             il the files are read.                           
2015-12-10 10:45:40  170   The streaming reader was created successfully for app package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m04 
             2xdac27ax6.                              
2015-12-10 10:45:40  613   Adding uri to the list of Uris: file:///C:/Users/abc/AppData/Local/Temp/TestApp/Test.App_1 
             .1.1.0_Test/Test.App_1.1.1.0_x86_x64_arm.appxbundle\Test.App_1.1.1.0_x86.appx.          
2015-12-10 10:45:41  446   GetFullyQualifiedReference from the Main Resource Map for package full name: 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1 
             .1.1.0_x86__m042xdac27ax6 and reference string: Test.App failed.               
2015-12-10 10:45:41  446   GetFullyQualifiedReference from the Main Resource Map for package full name: 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1 
             .1.1.0_x86__m042xdac27ax6 and reference string: xxx failed.                  
2015-12-10 10:45:41  446   GetFullyQualifiedReference from the Main Resource Map for package full name: 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1 
             .1.1.0_x86__m042xdac27ax6 and reference string: Test.App failed.               
2015-12-10 10:45:41  446   GetFullyQualifiedReference from the Main Resource Map for package full name: 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1 
             .1.1.0_x86__m042xdac27ax6 and reference string: Test.App failed.               
2015-12-10 10:45:41  446   GetFullyQualifiedReference from the Main Resource Map for package full name: 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1 
             .1.1.0_x86__m042xdac27ax6 and reference string: default.html failed.                
2015-12-10 10:45:42  10000  About to service package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m042xdac27ax6. Setting the package state 
             to disabled returned with 0x80070490.                       
2015-12-10 10:45:42  827   Capability parsing started for the package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m042xdac27ax6   
2015-12-10 10:45:42  5060   error 0x80070005: Adding a tile failed with unexpected error.                  
2015-12-10 10:45:42  303   error 0x80070005: While preparing to process the request, the system failed to register the windows.visualElements extension due 
             to the following error: Access is denied.                       
             .                                 
2015-12-10 10:45:42  300   error 0x80070005: Cannot register the 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_m042xdac27ax6 package due to the followi 
             ng error: Access is denied.                           
             .                                 
2015-12-10 10:45:42  605   The last successful state reached was ResolvedDeferredRegistrations. Failure occurred before reaching the next state Registration 
             Changed.                               
2015-12-10 10:45:42  472   Moving package folder \\?\C:\Program Files\WindowsApps\588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral_~_m042x 
             dac27ax6 to \\?\C:\Program Files\WindowsApps\Deleted\588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral_~_m042xda 
             c27ax67380de84-c8fa-4c14-a532-e6f2a1242a48. Result: 0x0.                   
2015-12-10 10:45:42  472   Moving package folder \\?\C:\Program Files\WindowsApps\588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m042xdac27 
             ax6 to \\?\C:\Program Files\WindowsApps\Deleted\588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m042xdac27ax60605 
             8072-2034-461b-a9ba-a085b10152a7. Result: 0x0.                     
2015-12-10 10:45:42  10001  Finished servicing package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_x86__m042xdac27ax6. Setting the package sta 
             te to enabled returned with 0x0.                         
2015-12-10 10:45:42  401   Deployment Add operation with target volume C: on Package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral_~_m0 
             42xdac27ax6 from: (Test.App_1.1.1.0_x86_x64_arm.appxbundle) failed with error 0x80073CF6. See http://go.microsoft.com/fw 
             link/?LinkId=235160 for help diagnosing app deployment issues.                 
2015-12-10 10:45:42  404   AppX Deployment operation failed for package 588388d0-5c5f-41e1-8965-f8ed6a2644.Test.App_1.1.1.0_neutral_~_m042xdac27ax6 w 
             ith error 0x80073CF6. The specific error text for this failure is: error 0x80070005: Adding a tile failed with unexpected error. 

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

+0

Вы получаете ошибки «Доступ запрещен» в первой точке отказа. Имеет ли локальный пользователь, который входит в систему и запускает сценарий, имеет полные разрешения для установки приложений в систему? Т.е.: не ограниченный/локальный пользователь? – gravity

+0

В моем случае учетная запись, которую я использовал, имела разрешения администратора. Я попытался использовать ProcMon, чтобы узнать, откуда исходили ошибки доступа, но все, что я мог видеть, это запросы для некоторых разделов реестра, к которым у учетной записи были права доступа полного доступа. – Shoaib

ответ

2

Я столкнулся с той же ошибкой. Я пытался установить поверх Cygwin SSH вместо удаленного PowerShell, но я подозреваю, что первопричина аналогична.

Я смог обойти это, установив запланированную задачу, которая запускает сценарий Powershell в известном месте. (Я запустил запланированную задачу с максимально возможными привилегиями, хотя я не уверен, что это необходимо.) Затем я мог удаленно установить содержимое этого сценария Powershell для запуска сценария установки приложения, а затем запустить запланированную задачу, используя schtasks, который работал как шарм.

+0

Я не ОП, но я сделал щедрость, и то, что вы предложили –

0

Так что, как уже указывал Шоаиб, запланированная задача могла бы сделать трюк. Кроме того, можно попытаться запустить удаленный процесс через WMI, как так:

Invoke-WmiMethod -Class win32_process -name Create -ComputerName dflt -Credential $cred -ArgumentList "powershell.exe -noprofile -noninteractive -executionpolicy bypass -encodedCommand 'your encoded command goes here'" 

Вы также можете попробовать запускать другой процесс Powershell внутри пс сессии (поставки еще учетных данных пользователя) и передавая команду к этому процессу (очень похож на метод WMI , но из PSSession).

Вы уже пытались просто вызвать команду на удаленной машине? это может сработать (хотя я сомневаюсь).

Вы можете использовать конфигурацию желаемого состояния для достижения того, что вам нужно, но это немного переборщик (но должен работать 101%). Предполагается, что для DSC должен быть поставщик сценариев.

0

Я застрял точно в одной и той же проблеме в течение нескольких дней. Найдя эту ветку и прочитав ответ Shoaib, я начал играть с запланированными задачами и, наконец, написал сценарий, который работает для меня. Я нашел много проблем с задачами и Add-AppxPackage и понял, что вы должны настроить задачу с параметром «Пользователь должен быть зарегистрирован» (извините, испанская версия). Add-AppxPackage необходимо, чтобы пользователь регистрировался в Works, что, возможно, объясняет, почему не работает с Invoke-Command.

$adminUser = "[email protected]" 
$adminPass = "xxxxxxx" 

$pw = ConvertTo-SecureString -AsPlainText -Force -String $adminPass 
$cred = New-Object -Typename System.Management.Automation.PSCredential -ArgumentList $adminUser, $pw 

$command = "Add-AppxPackage -Path '\\path\App.appxbundle'" 
$bytes = [Text.Encoding]::Unicode.GetBytes($command) 
$encodedCommand = [Convert]::ToBase64String($bytes) 

$remoteUser = "[email protected]" 
$remoteComputer = "192.168.0.50" 

$taskName = "Task" 
$taskCommand = "powershell.exe" 
$taskArg = "-noprofile -noninteractive -windowstyle hidden -executionpolicy bypass -encodedCommand ""$encodedCommand""" 

$taskAction = New-ScheduledTaskAction -Execute $taskCommand -Argument $TaskArg 
$taskTrigger = New-ScheduledTaskTrigger -At 9am -Once 
$taskPrincipal = New-ScheduledTaskPrincipal -UserID $remoteUser -LogonType Interactive -RunLevel Highest 

$cimSession = New-CimSession -ComputerName $remoteComputer -Credential $cred -Authentication Negotiate 

Register-ScheduledTask -Action $taskAction -Trigger $tasktrigger -TaskName $taskName -Principal $taskPrincipal -CimSession $cimSession 

Start-ScheduledTask -CimSession $cimSession -TaskName $taskName 

Sleep 5 

Get-ScheduledTask -CimSession $cimSession | Where-Object {$_.TaskName -eq $taskName} | Unregister-ScheduledTask -CimSession $cimSession -Confirm:$false 

 Смежные вопросы

  • Нет связанных вопросов^_^