How are people removing these tiles, they seem to go away in the parent image after a logon and a logoff but when in a pool they stay
I'm using this script right now to try, but neither importing the layout or unpin script underneath seem to work.
$StartLayoutStr = @"
<LayoutModificationTemplate Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" xmlns:taskbar="http://schemas.microsoft.com/Start/2014/TaskbarLayout">
<LayoutOptions StartTileGroupCellWidth="6" />
<DefaultLayoutOverride>
<StartLayoutCollection>
<defaultlayout:StartLayout GroupCellWidth="6" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout">
</defaultlayout:StartLayout>
</StartLayoutCollection>
</DefaultLayoutOverride>
</LayoutModificationTemplate>
"@
add-content $Env:TEMP\startlayout.xml $StartLayoutStr
import-startlayout -layoutpath $Env:TEMP\startlayout.xml -mountpath $Env:SYSTEMDRIVE\
remove-item $Env:TEMP\startlayout.xml
# Remove ALL current Apps from Start tile Pin location
# Remove all $AppNames String array from taskbar Pin location
$ComObj = (New-Object -Com Shell.Application).NameSpace('shell:::{4234d49b-0245-4df3-b780-3893943456e1}')
$AppNames = "edge|stor|mai"
#use the match to limit the apps removed from start tiles
#$ComObjItem = $ComObj.Items() | ?{$_.Name -match $AppNames}
$ComObjItem = $ComObj.Items()
ForEach ($Obj in $ComObjItem) {
Write-Host "$("Checking " + $Obj.name)" -ForegroundColor Cyan
ForEach ($Verb in $Obj.Verbs()) {
Write-Host "$("Verb: " + $Verb.name)" -ForegroundColor white
If (($Verb.name -match 'Un.*pin from Start')) {
Write-Host "$("Ok " + $Obj.name + " contains " + $Verb.name)" -ForegroundColor Red
$Verb.DoIt()
}
If (($Verb.name -match 'Un.*pin from tas&kbar') -And ($Obj.name -match $AppNames)) {
Write-Host "$("Ok " + $Obj.name + " contains " + $Verb.name)" -ForegroundColor Red
$Verb.DoIt()
}
}#End Foreach Object.Verb
} #End Foreach object
Remove in master image and use Mandatory profile .. If possible .
Have you modified the DefaultLayouts File also? I found that pulling out the dynamic tiles and triggered tiles leaving just the one that is headed with "<!-- 6 cell wide Desktop layout with No Preinstalled apps -->"
This makes it so there are less items for the profile building procedures to process and essentially leaving a single option.
YMMV - I've also completely blown up my start menu by modifying too much in this file. So pull out groups one at a time. Each section headed with <StartLayout (options)> is a different layout that may be based on region or what apps are installed.
I exported one after I modified it and exported it and imported it, it works fine for one user, but all new users are getting the " a great new app is on the way"
Also - one thing I thought of after re-reading your post. Have you tried putting in an explorer.exe restart after unpinning and importing the layout? I've noticed that the start menu/taskbar won't update unless the explorer process is restarted.
You should be able to look at the "ShellCommon-StartLayoutPopulation" log to see if there are any errors occurring.
Thanks I'll look into that.