Вы можете использовать класс DirectorySecurity для изменения прав доступа к папке:
// Create a new DirectoryInfo object corresponding to the remote folder.
DirectoryInfo dirInfo = new DirectoryInfo("remoteDirectoryPath");
// Get a DirectorySecurity object that represents the current security settings.
DirectorySecurity dirSecurity = dirInfo.GetAccessControl();
string user = "domain\\userForWhichTheRightsAreChanged";
// add the write rule for the remote directory
dirSecurity.AddAccessRule(new FileSystemAccessRule(user, FileSystemRights.Write, AccessControlType.Allow));
// Set the new access settings.
dirInfo.SetAccessControl(dirSecurity);
Если ваш код не запускается под учетной записью с правами администратора на удаленном компьютере, рассмотрите также использование олицетворения. Полный пример того, как выдать себя за пользователя, доступен здесь .