Я собираюсь осуществить массовую миграцию пользовательских файлов с Windows Server на Google Drive. У каждого пользователя есть собственная папка на Windows Server, и я ищу способ массового перехода на Google Диск для каждого пользователя.
У меня более 1200 пользователей (к счастью для меня нет ограничений по данным). У меня также довольно большие временные рамки, поэтому, если он пойдет медленно, это не имеет значения.
Кто-нибудь видел решение для этого?
Вот что я в итоге сделал
Вот скрипт приложений, который я использовал, каждая папка имеет имя пользователя:
function myFunction() {
//Top Level Directory that contains each users folder
var folder = DriveApp.getFolderById('0ByoBlv24h');
//Get a list of all the folders (also usernames)
var folders = folder.getFolders();
//Loop through all the folders
while(folders.hasNext()){
var thisFolder = folders.next();
//Get the username and email address
var username = thisFolder;
var email = username + '@domain.com';
//Add the user as an editor for this folder
thisFolder.addEditor(email);
//Add a name for the folder
thisFolder.setName(username + ' - Google Drive');
}
}
После быстрого поиска работы на Google Диске, вот возможное решение: (ВНИМАНИЕ: это не очень красиво. На самом деле, это довольно уродливо, но это может сработать.)
Используя переменную в пакетном сценарии (при условии, что у сотрудников есть то же имя пользователя в системе Windows, что и на Диске), сценарий определяет папку и автоматически помещает ее в правильную папку на диске.
FOR %%c in (C:\Users\*.*) DO
set FileName=%%c
robocopy C:\Users\%FileName% C:\...\GoogleDrive\%FileName% /E /Z /TEE /LOG:migrationLog.log
del %FileName%
exit
Основная теория, лежащая в основе этого, находится здесь: http://learn.googleapps.com/products/drive/set-up-file-share
Вот страница Microsoft о robocopy, ее функциях и атрибутах: https://technet.microsoft.com/en-us/library/cc733145.aspx