VMware Horizon Community
sjesse
Leadership
Leadership

Remove All start tiles

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

pastedImage_0.png

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

Reply
0 Kudos
5 Replies
Suman1209
Enthusiast
Enthusiast

Remove in master image and use Mandatory profile .. If possible .

Regards Sumanth VCP7-DTM7 , DCV , NV, VCAP7-DTM Design If you found my answers useful please consider marking them as Correct OR Helpful
Reply
0 Kudos
mchadwick19
Hot Shot
Hot Shot

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.

VDI Engineer VCP-DCV, VCP7-DTM, VCAP7-DTM Design
Reply
0 Kudos
sjesse
Leadership
Leadership

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"

Reply
0 Kudos
mchadwick19
Hot Shot
Hot Shot

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.

VDI Engineer VCP-DCV, VCP7-DTM, VCAP7-DTM Design
sjesse
Leadership
Leadership

Thanks I'll look into that.

Reply
0 Kudos