Skip to content

Instantly share code, notes, and snippets.

@ITPirate
Created July 18, 2016 08:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ITPirate/fb3dbf928b7a9ad2d231d4cd4b37ff02 to your computer and use it in GitHub Desktop.
Save ITPirate/fb3dbf928b7a9ad2d231d4cd4b37ff02 to your computer and use it in GitHub Desktop.
Windows 10 - Provisioning Packages - Install and Remove Applications and Apps by PowerShell
<#
.Synopsis
Simple PowerShell script for Application and App installation / removal
.DESCRIPTION
This script removes build in Apps and installs Applications and App
#>
[CmdletBinding()]
[Alias()]
[OutputType([int])]
Param
(
[Parameter(Mandatory=$false,
ValueFromPipelineByPropertyName=$true,
Position=0)]
$Log = "$env:windir\Temp\ApplicationLogs\Application_Handling.log"
)
Begin
{
<#
# Start logging
#>
Start-Transcript -Path $Log -Force -ErrorAction SilentlyContinue
<#
# Extract the ZIP
#>
$Archives = Get-ChildItem -Path $PSScriptRoot -Filter *.zip | Select-Object -Property FullName
ForEach-Object -InputObject $Archives -Process { Expand-Archive -Path $_.FullName -DestinationPath "$env:TEMP" -Force }
}
Process
{
<#
# Office 2016 installation
#>
$WorkingDirectory = "$env:TEMP\O365"
$Configuration = Get-ChildItem -Path $WorkingDirectory -Filter *.xml | Select-Object -Property FullName
[XML]$XML = Get-Content -Path $Configuration.FullName
$XML.Configuration.Add.SourcePath = $WorkingDirectory
$XML.Save($Configuration.FullName)
# Run Office 2016 setup.exe
Start-Process -FilePath "$WorkingDirectory\Setup.exe" -ArgumentList ('/Configure "{0}"' -f $Configuration.FullName) -WorkingDirectory $WorkingDirectory -Wait -WindowStyle Hidden
<#
# Install Google Chrome for Business MSI
#>
msiexec /i GoogleChromeStandaloneEnterprise.msi NOGOOGLEUPDATEPING=1 /q /norestart /l*v $Log
<#
# Install Word Mobile
#>
Add-AppxPackage -Path $WorkingDirectory\MyApp.appx –DependencyPath C:\Users\user1\Desktop\winjs.appx
<#
# Remove Windows 10 Built-in Apps
#>
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*3dbuilder*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*windowscommunicationsapps*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*officehub*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*skypeapp*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*getstarted*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*zunemusic*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*solitairecollection*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*bingfinance*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*zunevideo*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*bingnews*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*onenote*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*people*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*windowsphone*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*phone*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*photos*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*windowsstore*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*bingsports*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*soundrecorder*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*bingweather*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*xboxapp*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*messaging*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*sway*"} | Remove-AppxProvisionedPackage -Online
Get-AppxProvisionedPackage -Online | Where-Object {$_.PackageName -like "*camera*"} | Remove-AppxProvisionedPackage -Online
# If you want to remove the extracted installation files, uncomment below
# Remove-Item -Path $WorkingDirectory -Force
}
End
{
<#
# Stop logging
#>
Stop-Transcript -ErrorAction SilentlyContinue
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment