Назад | Перейти на главную страницу

Автоматический способ обновления папки на клиентах Windows XP из папки на сервере Windows 2003

На всех наших рабочих станциях есть папка на локальном диске, содержащая некоторые общие файлы, используемые нашей компанией. Периодически нам нужно отправлять изменения в некоторые из этих файлов. В настоящее время мы используем System Center Configuration Manager (SCCM) для запуска VBScript, который выполняет Робокопия.

Этот метод не обеспечивает очень хорошую отчетность в SCCM, и некоторые клиенты не получают обновления.

Должен быть способ сделать это лучше, но я ничего не могу найти в Интернете. Мы хотели бы, чтобы автоматизированный метод был прозрачен для пользователя. Мы готовы потратить немного денег, но лучшее решение - бесплатное. Любая помощь будет оценена. Спасибо!

Использование сценария через SCCM на самом деле звучит как довольно хороший подход. Можете ли вы предоставить дополнительную информацию о том, почему это не работает или почему некоторые клиенты не получают обновления? Возможно, можно будет изменить ваш сценарий, чтобы код возврата передавался в SCCM, и вы могли улучшить отчетность.

Например, просмотрев документацию для WshShell.Run, он вернет код выхода вашей команды. Итак, ваша строка должна быть:

Success = WshShell.Run "\\server\robocopy.exe ""\\path\to\folder"" C:\Destination_Folder /MIR, 0, True

Глядя на документацию для Робокопия показывает, что в случае успеха он вернет либо 0, либо 1. Теперь большинство команд в случае успеха завершают работу с 0, о чем, я думаю, сообщит SCCM. Итак, следующий шаг - убедиться, что ваш VBScript передает правильный результат обратно в SCCM. В этом случае вы хотите вернуть 0, если Успех был 0 или 1, и вернуть 1, если Успех был> 1 (или вы можете получить более продвинутые и вернуть специальные коды, чтобы получать различные сообщения об ошибках в SCCM). Чтобы передать этот код выхода, мы смотрим документацию для WScript.Quit и мы видим, что нам нужно бежать WScript.Quit (1); за неудачу или WScript.Quit (0); для успеха

Хорошая особенность SCCM заключается в том, что все клиенты загружают данные с сервера, и SCCM можно использовать для обработки этого события, тем самым снижая нагрузку на файловый сервер хоста.

Противоположный (и более уродливый) подход состоит в том, чтобы ваш сервер выталкивал содержимое папки каждому клиенту. Предполагая, что вы можете выгрузить список всех своих компьютеров, вы сможете составить простой сценарий, который будет работать над этим списком и скопировать папку для каждого клиента. Однако этот подход потребует, чтобы клиентский компьютер был включен в то время, когда вы инициируете копию (то, о чем SCCM может позаботиться за вас)

Другой возможный вариант (вы, вероятно, уже подумали) - разместить эту папку на общем диске. Полностью устраните проблему выталкивания файла. В зависимости от размера папки, возможно, это жизнеспособная альтернатива.

Почему бы не настроить сервер Subversion, а затем попросить пользователей использовать что-то вроде TortoiseSVN для получения обновлений?