File Server Migration Retain Permissions

Currently we are using our domain controller as our file server as well ( I know, horrible practice...but it was set up before i worked here). Anyways, our DC is now running out of hard drive space and I want to move some of the files to another server that has literally nothing on it, but backup software. The DC server with the files is running Server 2003 and the backup server is running Windows XP.  The problem that I am having is that I want to retain permissions to all the folders that I am moving. I am just unsure of the easiest and most efficient way to go about accomplishing this task. I have heard rumblings about robocopy and xcopy being the best, but I am not at all familiar with them, so I would need to know the Exact syntax, as I am not very good with command line utilities. Any help would be greatly appreciated!
Who is Participating?
Personally I prefer robocopy as it has more options - useful if you want to customise the syntax in future and do more clever things.  If you want to see the other options that are available, run robocopy /? at the command line.
Here is the exact syntax to do what you want:

robocopy /MOV /E /COPYALL \\currentserver\share \\newserver\share /L
NOTE!: As it is, this command will just list the files that will be copied.  Once you're happy that you've got the source and destination specified correctly, run the command again without the /L on the end.
PS Robocopy is included by default in Vista/Server 2008 onwards.  If you want to run the command on XP, you will need to download and install the Server 2003 Resource Kit tools:
Are you intending to share the files off the XP machine? Bear in mind XP has a limit of 10 concurrent client connections.

The robocopy argument that retains permissions is /copyall. I will post example syntax when I get into the office.
You can use the Xcopy command with the /O/X/E/H/K switches to copy the files and retain the existing permissions that have been specifically applied to the file or files.

These switches have the following effects:
/E - Copies folders and subfolders, including empty ones.
/H - Copies hidden and system files also.
/K - Copies attributes. Typically, Xcopy resets read-only attributes.
/O - Copies file ownership and ACL information.
/X - Copies file audit settings (implies /O).
NOTE: This procedure does not override inherited permissions. When you use the Xcopy command with the /O /X /E /H /K switches to copy the files, the following inherited permissions apply:
Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

heres an example
xcopy source destination /o /x /e /h /k
agruber85Author Commented:
dicconb: by 10 concurrent client connections, do you mean that only 10 people will be to access shared files at the same time? or are you referring more to a remote desktop type connection? Sorry, I am new to this whole situation.

captaingiblets: yeah i actually JUST found that exact website myself and had a little trouble getting it to work and a colleague of mine just suggested using robocopy as it is easier to use. Not sure of how accurate that is, but I think I am more inclined to go with robocopy. But I might have to scrap the entire idea if only 10 clients can access the shared files like dicconb stated...
It applies to shared folders. Only 10 users can connect to shared folders on an XP machine at a time.
if your using a windows server machine i dont think there is a limit. Or if there is i doubt you could get to it!
If you're using a Windows Server the limit is the number of CALs (Client Access Licences) you've bought. This is not a hard limit enforced by the OS, but exceeding it invalidates your licence, as if you had pirated the software.

If you're using your existing server in per-server licensing mode, you will need to buy a new set of CALs corresponding to the maximum number of concurrent connections you want to allow.  
If you are using your existing server in per-seat licensing mode you may already have CALs for all your client machines - in that case you would just need to buy a Windows Server Standard Edition licence.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.