Como reinstalar o Windows Store no Windows 10 que foi removido no contexto do usuário
Cenário:
No Windows 10, através de um script de logon, removi dos usuários comuns diversos aplicativos do Windows, dentre eles, a própria Windows Store.
O objetivo era evitar que usuários instalassem aplicativos não autorizados em ambientes como salas de aulas.
Lembrando que a remoção foi efetuada no contexto de usuário não administrador.
A linha utilizada foi:
Get-AppxPackage *Microsoft.WindowsStore* | Remove-AppxPackage
Mais tarde me deparei com um problema. Precisava voltar a aplicação Windows Store naquele usuário em específico (já que ao entrar em outros usuários o Windows Store continuava lá).
Digitei o comando, abrindo o Powershell no contexto do Usuário, sem ser como administrador, comando pelo qual pensei que deveria funcionar, mas não resolveu:
Get-AppxPackage -register *Microsoft.WindowsStore*
Encontrei então um script que resolveu meu problema.
O script se encontra aqui:
https://gist.github.com/crowbarsolutions/3234283438e3a6c8c574#file-reinstall-preinstalledapps-ps1
ou copie o conteúdo abaixo em um arquivo com extensão .ps1 e salve com o nome reinstall-preinstalledApps.ps1:
# Get all the provisioned packages
$Packages = (get-item 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications') | Get-ChildItem
# Filter the list if provided a filter
$PackageFilter = $args[0]
if ([string]::IsNullOrEmpty($PackageFilter))
{
echo "No filter specified, attempting to re-register all provisioned apps."
}
else
{
$Packages = $Packages | where {$_.Name -like $PackageFilter}
if ($Packages -eq $null)
{
echo "No provisioned apps match the specified filter."
exit
}
else
{
echo "Registering the provisioned apps that match $PackageFilter"
}
}
ForEach($Package in $Packages)
{
# get package name & path
$PackageName = $Package | Get-ItemProperty | Select-Object -ExpandProperty PSChildName
$PackagePath = [System.Environment]::ExpandEnvironmentVariables(($Package | Get-ItemProperty | Select-Object -ExpandProperty Path))
# register the package
echo "Attempting to register package: $PackageName"
Add-AppxPackage -register $PackagePath -DisableDevelopmentMode
}
Entre no diretório onde você salvou o script através do powershell (executado como usuário comum), execute o script através da linha:
powershell -executionpolicy bypass .\reinstall-preinstalledApps.ps1 *Microsoft.WindowsStore*
Após realizar isto, meu problema foi resolvido, o Windows Store voltou a aparecer para o usuário em questão.
http://www.crowbarsolutions.com/uninstalling-all-apps-in-windows-10/ (parte REINSTALLING THE STORE APP)
http://www.pcwizardsinc.com/home/windows10startmenubroken
https://www.youtube.com/watch?v=l9id9QOa1wc
No Windows 10, através de um script de logon, removi dos usuários comuns diversos aplicativos do Windows, dentre eles, a própria Windows Store.
O objetivo era evitar que usuários instalassem aplicativos não autorizados em ambientes como salas de aulas.
Lembrando que a remoção foi efetuada no contexto de usuário não administrador.
A linha utilizada foi:
Get-AppxPackage *Microsoft.WindowsStore* | Remove-AppxPackage
Mais tarde me deparei com um problema. Precisava voltar a aplicação Windows Store naquele usuário em específico (já que ao entrar em outros usuários o Windows Store continuava lá).
Digitei o comando, abrindo o Powershell no contexto do Usuário, sem ser como administrador, comando pelo qual pensei que deveria funcionar, mas não resolveu:
Get-AppxPackage -register *Microsoft.WindowsStore*
Encontrei então um script que resolveu meu problema.
O script se encontra aqui:
https://gist.github.com/crowbarsolutions/3234283438e3a6c8c574#file-reinstall-preinstalledapps-ps1
ou copie o conteúdo abaixo em um arquivo com extensão .ps1 e salve com o nome reinstall-preinstalledApps.ps1:
# Get all the provisioned packages
$Packages = (get-item 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications') | Get-ChildItem
# Filter the list if provided a filter
$PackageFilter = $args[0]
if ([string]::IsNullOrEmpty($PackageFilter))
{
echo "No filter specified, attempting to re-register all provisioned apps."
}
else
{
$Packages = $Packages | where {$_.Name -like $PackageFilter}
if ($Packages -eq $null)
{
echo "No provisioned apps match the specified filter."
exit
}
else
{
echo "Registering the provisioned apps that match $PackageFilter"
}
}
ForEach($Package in $Packages)
{
# get package name & path
$PackageName = $Package | Get-ItemProperty | Select-Object -ExpandProperty PSChildName
$PackagePath = [System.Environment]::ExpandEnvironmentVariables(($Package | Get-ItemProperty | Select-Object -ExpandProperty Path))
# register the package
echo "Attempting to register package: $PackageName"
Add-AppxPackage -register $PackagePath -DisableDevelopmentMode
}
Entre no diretório onde você salvou o script através do powershell (executado como usuário comum), execute o script através da linha:
powershell -executionpolicy bypass .\reinstall-preinstalledApps.ps1 *Microsoft.WindowsStore*
Após realizar isto, meu problema foi resolvido, o Windows Store voltou a aparecer para o usuário em questão.
http://www.crowbarsolutions.com/uninstalling-all-apps-in-windows-10/ (parte REINSTALLING THE STORE APP)
http://www.pcwizardsinc.com/home/windows10startmenubroken
https://www.youtube.com/watch?v=l9id9QOa1wc
Comentários
Postar um comentário