Если у вас есть ферма из нескольких серверов SharePoint, на серверах которой нужно заменить один файл, то можно не использовать создание WSP-пакета, а написать несколько строчек на PowerShell (взять из примера) и добавить в установочный пакет.
Так, недавно нужно было добавить новый шаблон для оповещений на сайте с именем CustomAlertTemplates.xml. Обычно шаблоны хранятся в папке c:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML, потому мы тоже туда скопируем файл.
#PowerShell script копирование файла на все серверы фермы SharePoint #Путь и имя файла, который нужно скопировать $source = "C:\distrib\CustomAlertTemplates.xml" #UNC путь к каждому серверу $pc1 = "\\PC1\c$\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML" $pc2 = "\\PC2\c$\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML" $pc3 = "\\PC3\c$\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\XML" Copy-Item -LiteralPath $source -Destination $pc1 Copy-Item -LiteralPath $source -Destination $pc2 Copy-Item -LiteralPath $source -Destination $pc3
Этот скрипт можно много оптимизировать, улучшать, украшать. Но когда «вам ехать или шашечки?», то его вполне хватит. Особенно, если файл требует проверок.
Два требования:
1. наличие открытых портов между машины, с которой копируете файл, и машинами, на которые нужно копировать файл;
2. Запускать PowerShell консоль от имени учетной записи, которая имеет права записи файлов на удаленных машинах.