Migrating existing Roaming Profiles to FSLogix

JaredC20 1 Reputation point
2020-11-20T15:29:20.983+00:00

Does anybody know what of the best way to migrate existing roaming profiles to FSLogix? Is there a method I can use to convert the roaming profiles (currently on a file sever) to VHDX? Or do I just have to go down the route of new profiles in the FSLogix containers - thanks

FSLogix
FSLogix
A set of solutions that enhance, enable, and simplify non-persistent Windows computing environments and may also be used to create more portable computing sessions when using physical devices.
372 questions
No comments
{count} votes

2 answers

Sort by: Most helpful
  1. AGarA 21 Reputation points
    2021-05-06T18:23:22.16+00:00

    There is a command line tool I've not used it but info is here:
    https://learn.microsoft.com/en-us/fslogix/command-line-utility-reference

    It's called copyto-vhd

    No comments

  2. Francois Uldry 0 Reputation points
    2023-02-03T15:52:39.2933333+00:00

    Using the non-supported tool from Microsoft will give you headaches. The ACLICL part of the file does not work all the time.

    Change :

    Main Functions\Convert-RoamingProfile.ps1

    Replace lines 198 to 208 with this block :

    It's NOT perfect, but it solved the issue for me

                            try {
                                $UserID = $env:userdomain + "\" + ($P).Username
                                $ownerObj = New-Object System.Security.Principal.Ntaccount($UserID)
                                $AccessRules = New-Object System.Security.AccessControl.FileSystemAccessRule
    
                                $Permissions = "system:fullControl,Administrators:FullControl," + $UserID + ":FullControl"
                                ForEach ($Perm in $Permissions.Split(","))
                                {	$Group = $Perm.Split(":")[0]
    	                            $Level = $Perm.Split(":")[1]
    	                            $AccessRules += New-Object System.Security.AccessControl.FileSystemAccessRule($Group,$Level, "ContainerInherit, ObjectInherit", "None", "Allow")
                                }
    
                                $acl = get.acl ($Destination)
                                $acl.setowner($ownerObj)
                                $acl | setAcl ($acl) 
                                Write-Log "Permissions "
                                Write-Log $acl
    
                                $AccessRules | set-Acl $Destination
                            }
    
    No comments