Quantcast
Channel: VMware Communities : All Content - VMware View
Viewing all articles
Browse latest Browse all 9103

Windows 10 Start Tiles and Persona Management

$
0
0

We are developing a Windows 10 Enterprise 1511 virtual desktop image in a local domain, with the Store disabled, without Azure sync or Microsoft accounts, and without OneDrive. All the applications and %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs for all the non persistent VM's will be identical.

Initial testing of these VM's reveals that when a user logs off of one VM and logs into another, their Start Tiles to not roam with them. I read alot of people are a little dismayed and imply that Microsoft is trying to kill the Roaming Profile.

Using Persona Management and roaming %localappdata%, after a logoff, at the next logon there are quite a few issues. The Start menu often fails to open or is blank.

Id like to think that Microsoft will provide guidance on how to use UE-V to accomplish roaming of Start tiles or implement this as a feature in an upcoming OS release.

Perhaps someone at VMware can advise on how to accomplsh roaming of Start Tiles using Persona Management.

In the meantime, I have developed a powershell script that runs as a combined computer startup script, user login script, event triggered task and logoff script to export the current users StartLayout and impose it as an enforced StartLayout on next login only to relax that enforcement so that the user can then customize their StartLayout once again. Initial testing seems to function properly as a proof of concept yet there must be a better way to accomplish this.

 

 param (    [switch]$startup = $false,    [switch]$logon = $false,    [switch]$task = $false,    [switch]$logoff = $false
 )


$logRoamStartTiles = Get-EventLog -LogName Application -Source RoamStartTiles
if (! $logRoamStartTiles) {
  New-EventLog –LogName Application –Source “RoamStartTiles”
}


if ($startup) {
New-Item -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows -Name Explorer -Force
Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name LockedStartLayout -Value "1" -Type Dword -Force
Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name StartLayoutFile -Value "%<APPDATA>%\RoamStartTiles.xml" -Type String -Force
write-eventlog -logname Application -source RoamStartTiles -eventID 1 -entrytype Information -message "The RoamStartTiles powershell script has run as a computer login script." -category 1
}


if ($logon) {
write-eventlog -logname Application -source RoamStartTiles -eventID 2 -entrytype Information -message "The RoamStartTiles powershell script has run as a user login script. If setup correctly, an attached task will be run against this event." -category 1
Stop-Process -Name explorer
if (-not (Get-Process explorer))
{
    Start-Process explorer
}
}


if ($task) {
Set-ItemProperty -Path HKLM:\SOFTWARE\Policies\Microsoft\Windows\Explorer -Name LockedStartLayout -Value "0" -Type Dword -Force
write-eventlog -logname Application -source RoamStartTiles -eventID 3 -entrytype Information -message "The RoamStartTiles powershell script has run as an event attached task script." -category 1
}


if ($logoff) {
$RoamStartTilesXMLPath = "$env:APPDATA\RoamStartTiles.xml"
Export-StartLayout -Path "$RoamStartTilesXMLPath"
write-eventlog -logname Application -source RoamStartTiles -eventID 4 -entrytype Information -message "The RoamStartTiles powershell script has run as a user logoff script." -category 1
}










 

<?xml version="1.0" encoding="UTF-16"?><Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">  <RegistrationInfo>    <Date>2016-02-27T12:38:42.3226166</Date>    <Author>This-PC\havealoha</Author>    <URI>\Event Viewer Tasks\RoamStartTiles</URI>  </RegistrationInfo>  <Triggers>    <EventTrigger>      <Enabled>true</Enabled>      <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Application"&gt;&lt;Select Path="Application"&gt;*[System[Provider[@Name='RoamStartTiles'] and EventID=2]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription>    </EventTrigger>  </Triggers>  <Principals>    <Principal id="Author">      <UserId>S-1-5-18</UserId>      <RunLevel>HighestAvailable</RunLevel>    </Principal>  </Principals>  <Settings>    <MultipleInstancesPolicy>StopExisting</MultipleInstancesPolicy>    <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries>    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>    <AllowHardTerminate>true</AllowHardTerminate>    <StartWhenAvailable>false</StartWhenAvailable>    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>    <IdleSettings>      <StopOnIdleEnd>true</StopOnIdleEnd>      <RestartOnIdle>false</RestartOnIdle>    </IdleSettings>    <AllowStartOnDemand>true</AllowStartOnDemand>    <Enabled>true</Enabled>    <Hidden>false</Hidden>    <RunOnlyIfIdle>false</RunOnlyIfIdle>    <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>    <UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine>    <WakeToRun>false</WakeToRun>    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>    <Priority>7</Priority>  </Settings>  <Actions Context="Author">    <Exec>      <Command>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe</Command>      <Arguments>-file C:\Windows\System32\GroupPolicy\RoamStartTiles.ps1 -task</Arguments>    </Exec>  </Actions></Task>

Viewing all articles
Browse latest Browse all 9103

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>