Хорошо, это моя проблема.
Я делаю logonscript, который в основном копирует шаблоны Microsoft Word с пути к серверу на локальный путь каждого компьютера. Это делается с помощью проверки на членство в группе.
If MemberOf(ObjGroupDict, "g_group1") Then
oShell.Run "%comspec% /c %LOGONSERVER%\SYSVOL\mydomain.com\scripts\ROBOCOPY \\server\Templates\Group1\OFFICE2003\ " & TemplateFolder & "\" & " * /E /XO", 0, True
End If
Ранее я использовал ключ / MIR robocopy, который отлично работает.
Но если пользователь является членом более чем одной группы, параметр / MIR удаляет содержимое из первой группы, поскольку оно отражает содержимое из второй группы. То есть я не могу иметь оба содержимого.
Это "решается", если не использовать ключ / MIR и просто позволить копировать содержимое в любом случае.
НО вся идея размещения шаблонов на сервере заключается в том, чтобы я мог контролировать контент, который пользователи получают через скрипт. Так что, если я удаляю файл или папку из пути к серверу, это не реплицируется на локальном компьютере. Так как я больше не использую переключатель / MIR. Comprende
Итак, что мне делать?
Я сделал небольшой скрипт, который в основном проверяет папки и файлы, а затем удаляет их соответствующим образом, но на самом деле это все та же функциональность, что и у параметра / MIR. Как мне решить эту проблему?
Редактировать: Я обнаружил, что на самом деле мне нужна процедура, которая сканирует мою локальную папку шаблонов на наличие файлов и папок и проверяет, существует ли такая же структура в любой из папок исходного шаблона.
Папки шаблонов сервера настроены так:
\\fileserver\templates\group1\
\\fileserver\templates\group2\
\\fileserver\templates\group3\
\\fileserver\templates\group4\
\\fileserver\templates\group5\
\\fileserver\templates\group6\
И скрипт, который выполняет копирование, имеет следующую структуру (псевдо):
If User is MemberOf (group1) Then
RoboCopy.exe \\fileserver\templates\group1\ c:\templates\workgroup *.* /E /XO
End if
If User is MemberOf (group2) Then
RoboCopy.exe \\fileserver\templates\group2\ c:\templates\workgroup *.* /E /XO
End if
If User is MemberOf (group3) Then
RoboCopy.exe \\fileserver\templates\group3\ c:\templates\workgroup *.* /E /XO
End if
и т. Д.
С ключом / E я удостоверяюсь, что он также копирует подпапки. А ключ / XO копирует только те файлы и папки, которые новее, чем те, которые указаны в моем локальном пути.
Но он не учитывает, содержит ли локальный путь файлы или папки, которых нет в пути шаблона сервера.
Поэтому после завершения копирования я хотел бы проверить, существуют ли какие-либо файлы или папки в моей c: \ templates \ workgroup на самом деле в каком-либо из источников. И если они этого не делают, удалите их из моего локального пути. Что-то, что можно было бы объединить в этих проверках членов?