Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Веб-развертывание версии 3.0 поставляется с командлетами PowerShell для выполнения большинства задач, поддерживаемых API веб-развертывания [Microsoft.Web.Deployment]. Дополнительные сведения об этом API см. здесь. Эти командлеты находятся в оснастке с именем WDeploySnapin3.0, которая устанавливается и регистрируется как оснастка при типичной или полной установке веб-развертывания. Чтобы использовать эти командлеты, добавляйте оснастку при каждом запуске консоли PowerShell или добавьте оснастку в профиль PowerShell, благодаря чему все консоли будут автоматически загружать оснастку.
Чтобы добавить при загрузке консоли PowerShell, выполните следующую команду в окне консоли:
Add-PSSnapin WDeploySnapin3.0
Чтобы добавить его в профиль PowerShell, выполните следующие действия.
- Если у вас уже есть профиль PowerShell, перейдите к шагу 4.
- Создайте папку WindowsPowerShell в разделе <"Мои документы>".
- Создание файла с именем Microsoft.PowerShell_profile.ps1
- Добавьте эту строку в файл профиля PowerShell: 'Add-PSSnapin WDeploySnapin3.0'
Несколько моментов, которые следует отметить:
- Консоль PowerShell работает в 64-разрядных системах и работает в .Net 2.0, за исключением Windows8. Если возникают проблемы из-за одного или обоих из них, обратитесь к разделу устранения неполадок для решений.
- Все командлеты, создающие пакет веб-развертывания, создают параметры для наиболее распространенных задач, и командлеты, обрабатывающие его, принимают значения параметров.
- Существует только один командлет удаления для удаления сайта или приложения под ним.
- Web Deploy имеет параметры, но они ортогональны параметрам командлетов PowerShell. Когда параметры упоминаются в этом документе, это подразумевает параметры командлета. Параметры веб-развертывания были специально обозначены как параметры веб-развертывания.
I. Файл параметров публикации
Все приведенные ниже командлеты имеют возможность выполняться для удаленного артефакта, например удаленного сервера или удаленной базы данных. Для них требуется больше, чем только учетные данные. Например, требуется имя удаленного сервера, строка подключения к удаленной базе данных, и нужно решить, следует ли разрешить публикацию на сервере с тестовым сертификатом и т. д. Для удобства использования, например, передачи учетных данных от администратора сервера к потребителю, появился новый тип файлов, который группирует эти настройки вместе. Этот файл называется файлом параметров публикации, заканчивающийся в .publishsettings. Это используется как Visual Studio для публикации, так и WebMatrix.
Чтобы создать такой файл для использования другими командлетами и его редактирования, можно использовать командлет New-WDPublishSettings. Если имя файла не указано, он создаст новый файл в каталоге документов с именем <guid.publishsettings>. Этот путь будет отображаться при создании файла. Если указано имя файла и файл не существует, он будет создан, как описано выше в папке, указанной путем, однако путь к файлу должен быть допустимым. Если файл существует только значения атрибутов, указанных при выполнении команды, будут изменены, за исключением атрибутов в файле, который неизвестен и будет удален.
Пример: Этот пример получает объект учетных данных и затем передает его новому командлету файла параметров публикации вместе с другими параметрами.
$cred = Get-Credential
New-WDPublishSettings -ComputerName owais-1 -Site Site1 -Credentials $cred -AllowUntrusted -SiteUrl "https://www.mywebsite.com" -FileName C:\pprofiles\mywebsite.publishsettings -AgentType wmsvc
Get-WDPublishSettings cmdlet allows to load values from a publish setting file into PublishSettings object.
$publishsettings=Get-WDPublishSettings C:\pprofiles\mywebsite.publishsettings
II. Резервное копирование
Все командлеты резервного копирования имеют позиционный параметр (он является вторым, кроме backup-wdserver, где он первым позиционным параметром), который называется output. Укажите путь к папке, где вы хотите создать резервную копию. Резервное копирование всегда является zip-пакетом Web Deploy. Дополнительные сведения о пакетах веб-развертывания см. в поставщике пакетов. Если путь не указан, резервные копии создаются в папке с именем "Веб-развертывание резервных копий" в папке документов пользователя. Резервные копии называются machinename_nameofproviderused_[Siteorapporfoldername(необязательный)]_timestamp.zip.
Все эти командлеты будут работать локально по умолчанию, если только данные удаленного сервера не предоставлены путем передачи файла настроек публикации для параметра SourcePublishSettings.
А. IIS
Все командлеты IIS будут работать с установленным IIS версии 7 или выше.
1. Сервер
Backup-WDServer
Описание. Это без каких-либо аргументов создает резервную копию текущего сервера, где выполняется эта команда. Он использует известный поставщик веб-сервера для этой операции. Поэтому созданный пакет содержит все артефакты, которые будут содержаться в пакете веб-сервера. Дополнительные сведения об этом поставщике см. здесь.
Параметры командлета: ConfigOnly позволяет исключить все содержимое, тогда как SkipFileList и SkipFolderList позволяют выборочно исключать один или несколько файлов или папок из пакета.
Примеры:
Это создаст резервную копию всего веб-сервера, кроме содержимого:
Backup-WDServer -SourcePublishSettings c:\profiles\myserver.publishsettings -ConfigOnly
Создайте список файлов, которые следует пропустить. Это стандартные регулярные выражения.
$list = @('\\site2\\iisstart.htm','\\site2\\welcome.png')
Backup-WDServer –SkipFileList $list
Вы также можете изменить это, чтобы пропустить все файлы в сайте 2, изменив список на $list=@('\site2\')
2. Сайт
Backup-WDSite
Описание. Это создаст резервную копию сайта IIS вместе со своими параметрами и содержимым с помощью поставщика apphostconfig. Дополнительные сведения об этом поставщике см. здесь.
Параметры командлета: создается резервная копия данных сайта, имя которого указано параметром сайта или файлом параметров публикации. Значение параметра сайта переопределяет спецификацию параметров публикации для имени сайта.
ConfigOnly можно использовать для создания резервной копии без содержимого. Если сайт использует пул приложений, отличный от по умолчанию, то для работы этого пакета на других серверах, которые могут не иметь тот же пул приложений, используйте параметр switch includeAppPool. При этом пул приложений будет упаковываться в пакет.
Автоматически созданные параметры веб-развертывания: создаются два типа параметров:
- Параметр, позволяющий пользователю изменить имя сайта, на котором будет применена резервная копия сайта.
- Другой параметр, позволяющий пользователю изменить физический путь сайта и каждого веб-приложения под этим сайтом.
Таким образом, если у меня есть сайт с тремя приложениями под ним, то я получаю 4 параметра физического пути и один параметр имени сайта.
Примеры:
Backup-WDSite "Default Web Site" -ConfigOnly
Backup-WDSite MySite –IncludeAppPool
Backup-WDSite MySite -SkipFileList $list
3. Веб-приложение
Backup-WDApp
Описание. Это создаст резервную копию веб-приложения с помощью поставщика iisApp. Дополнительные сведения об этом поставщике см. здесь. Ниже приведена хорошая статья , которая объясняет, что такое веб-приложение и что такое разница между сайтом, приложением и виртуальным каталогом в IIS.
Параметры командлета: производится резервное копирование приложения, указанного параметром приложения или файлом параметров публикации. Если ни один из них не указан, он выдает ошибку. Значение параметра приложения переопределяет спецификацию параметров публикации для имени сайта. Параметры SkipFileList и SkipFolderList позволяют выборочно исключить один или несколько файлов или папок из пакета.
Автоматически созданные параметры веб-развертывания: параметр для изменения имени приложения или сайта во время восстановления или установки создается.
$list = @('\\iisstart\.htm')
Backup-WDApp "Default web site/app" -SkipFileList $list
В. База данных
1. MSSql
Backup-WDSqlDatabase
Описание. Это создаст резервную копию базы данных Microsoft SQL Server с помощью поставщика dbfullsql. Этот поставщик использует SMO для создания скрипта базы данных и предоставляет более 100 настроек для управления способом создания скриптов базы данных. Это подробно описано здесь.
Параметры командлета: строка подключения, указанная параметром базы данных или SQLServerDBConnectionString в файле параметров публикации, резервируется. Значение параметра базы данных переопределяет спецификацию параметров публикации для SQLServerDBConnectionString. Параметры поставщика, предоставляемые этим поставщиком dbfullsql, можно передать с помощью параметра SourceSettings. Один из наиболее часто используемых параметров — scriptdropsfirst, который генерирует скрипты для удаления объекта, если объект существует. Другим параметром в настройках сценариев SMO является установка scriptdata в значение false, чтобы только извлечь схему.
Параметры, автоматически созданные средствами Web Deploy: предусмотрен параметр для изменения строки подключения к базе данных во время восстановления или установки.
Примеры:
New-WDPublishSettings -ComputerName serverName -MSSqlConnectionString "Data Source=localhost;Initial Catalog=MyDb;User id=MyDbUser;Password=MyPassword" -FileName d:\SQLdb.PublishSettings -Credential serverName\Administrator
Backup-WDSQLDatabase -SourcePublishSettings D:\SQLdb.PublishSettings
Backup-WDSQLDatabase -Database "Data Source=localhost;Initial Catalog=MyDb;User id=MyDBUser;Password=MyPassword" -SourceSettings @{ copyAllUsers='false'; scriptDropsFirst='true'; }
2. MySql
Backup-WDMySQLDatabase
Описание. Это создаст резервную копию базы данных Сервера MySql с помощью поставщика dbmysql. Этот поставщик использует mysqldump для создания скрипта из базы данных. Здесь подробно описано.
Параметры cmdlet: строка подключения, указанная параметром Database или mySQLDBConnectionString в файле параметров публикации, резервируется. Значение параметра базы данных переопределяет спецификацию параметров публикации для mySQLDBConnectionString. Параметры поставщика можно передать с помощью параметра SourceSettings. Часто используемые параметры включают includeData и includeSchema. По умолчанию для них задано значение true.
Параметры автоматического веб-развертывания: создается параметр для изменения строки подключения к базе данных во время восстановления или установки.
New-WDPublishSettings -ComputerName serverName -MySqlConnectionString "Data Source=localhost;database=MyDb;Uid=MyDbUser;pwd=MyPassword" -FileName d:\MySQLdb.PublishSettings -Credential serverName\Administrator
Backup-WDMySQLDatabase -Database 'Server=localhost;Database=MyDb;Uid=MyDbUser;pwd=MyPassword’
Backup-WDMySqlDatabase –SourcePublishSettings d:\mysqldb.publishsettings
III. Restore
Все командлеты восстановления принимают пакет Web Deploy для восстановления в качестве первого позиционного параметра.
WebDeploy поддерживает концепцию параметризации пакетов, которая позволяет изменять несколько аспектов во время восстановления (без изменения пакета). Например, во время восстановления можно указать значение строки подключения к базе данных, которая отличается от того, что находится внутри пакета с помощью параметров WebDeploy (в пакете должен присутствовать параметр строки подключения).
В зависимости от того, как был создан пакет, пакет веб-развертывания может иметь один или несколько . Эти командлеты восстановления проверяют пакет и добавляют в коллекцию динамические параметры PowerShell. Поэтому если пакет имеет параметр веб-развертывания с именем "Parameter1", то вы найдете параметр PowerShell с именем "Parameter1". Однако динамические параметры имеют свои собственные проблемы в PowerShell, и это будет работать только в том случае, если пакеты не имеют места в имени или пути к файлу.
Кроме того, все эти командлеты восстановления имеют параметр "Parameters", позволяющий вручную задать новые значения параметров во время восстановления. Этот параметр "Параметры" принимает объект Словаря PowerShell для пар значений имен параметров веб-развертывания.
Чтобы узнать параметры веб-развертывания, определенные в любом пакете веб-развертывания, можно просто открыть ZIP-файл в Проводнике Windows и проверить файл parameters.xml, присутствующих в корневом каталоге пакета. Для любого параметра веб-развертывания, который не имеет значения по умолчанию, необходимо указать значение. Добавьте все эти параметры в XML-файл и передайте его в качестве значения параметра ParameterValuesFile. Вы можете создать этот файл, как указано здесь или вручную. Формат :
<parameters>
<setParameter name="name1" value="value1" />
<setParameter name="name2" value="value2" />
</parameters>
Get-WDParameters командлет способен прочитать этот файл и преобразовать его в объект параметров WebDeploy (словарь), который поддерживается всеми командлетами восстановления.
Если любой пакет восстанавливается без указания значения параметров в пределах, поведение по умолчанию будет перезаписывать ресурсы, из которых изначально был создан пакет. Например, если я создаю пакет с сайта1 с помощью backup-wdsite site1, то при восстановлении этого пакета с помощью командлета восстановления без предоставления параметров в этом пакете сайт1 будет перезаписан с любым содержащимся пакетом, содержимым, а также конфигурацией. То же самое относится ко всем командлетам восстановления.
Все эти командлеты выполняют восстановление локально, за исключением случаев, когда указан файл настроек публикации назначения; в этом случае точно такая же операция выполняется на удаленном сервере через службу веб-управления (WMSvc) или службу агента веб-развертывания.
А. IIS
1. Сервер
Restore-WDServer
Описание. Восстановление пакета веб-сервера. Обычное использование заключается в резервном копировании сервера перед внесением изменений и в случае сбоя сервер может быть отменен путем применения пакета резервного копирования веб-развертывания, созданного перед внесением изменений.
$folderList = @(‘\\app_data’)
Restore-WDServer D:\OWAIS-1_WebServer_20120419121214.zip -DestinationPublishSettings c:\destinationServer.publishSettings –SkipFolderList $folderList
2. Сайт
Restore-WDSite
Описание: Восстанавливает пакет сайта IIS. Если пакет имеет два параметра с именем "Физический путь сайта" и "Имя сайта", они будут предоставляться как параметр SitePhysicalPath и SiteName dynamic powershell. Эта команда создаст новый сайт site1 с физическим путем c:\site1. Если для этих параметров не указано значение, восстановление будет применено к тому же сайту и содержимому, перезаписывая любые изменения, которые могли быть на сайте.
Параметры: вам может быть полезно использовать «skipfolderlist» и «skipfilelist», чтобы исключить некоторые папки и/или файлы из копирования в содержимом сайта.
Restore-WDSite C:\defaultsite.zip -SitePhysicalPath c:\site1 -SiteName site1
Restore-WDSite -Package 'D:\Users\Administrator\Documents\Web Deploy Backups\IIS-Server_AppHostConfig_Default Web Site_20120417100827.zip' -skipFolderList @('App_Data') -verbose
3. Приложение
Restore-WDApp
Описание. Это приведет к восстановлению веб-приложения. Backup-WDApp создает пакет с одним параметром, чтобы изменить имя приложения во время установки. Это можно использовать для восстановления приложения в другом приложении во время восстановления. Сайт должен существовать при развертывании приложения в рамках сайта. Приложение будет создано этим пакетом, но сайт не будет создан.
Примеры:
Restore-WDApp C:\myappbackup.zip -ApplicationPathParam1 "Default web site\app1"
В. База данных
Restore-WDDatabase
Описание. Если база данных не существует, она создаст новую базу данных, которая называется клиентами (если текущий пользователь имеет разрешения на эту операцию) и выполнит скрипт на нем. Если это выполняется без каких-либо значений для параметров динамического веб-развертывания, исходная база данных, из которой был создан пакет, будет перезаписана. Обратите внимание, что если параметр scriptDropsFirst не использовался при создании пакета, то применение пакета к базе данных с противоречащим существующему содержимому завершится ошибкой. Этот командлет можно использовать для восстановления резервной копии MSSql или MySQL. Базу данных MS SQL можно восстановить только с резервной копией, созданной с помощью Backup-WDSQLDatabase и базы данных My SQL с резервной копией, созданной с помощью Backup-WDMySqlDatabase.
Примеры:
Backup-WDSqlDatabase "server=.\sqlexpress;integrated security=SSPI;database=customers" "C:\dbbackup.zip"
Restore-WDDatabase c:\dbbackup.zip –DatabaseConnectionStringParam1 "server=.\sqlexpress;integrated security=SSPI;database=customers_copy"
Backup-WDMySqlDatabase "server=localhost;uid=someuser;pwd=somepwd;database=coolDb" "C:\dbbackup.zip"
Restore-WDDatabase c:\dbbackup.zip –DatabaseConnectionStringParam1 "server=localhost;uid=someuser;pwd=somepwd;database=coolDb_copy"
С. Универсальный пакет
Restore-WDPackage
Описание. Этот командлет можно использовать для применения любого пакета веб-развертывания. Существует несколько способов создания или получения пакета веб-развертывания, таких как скачивание пакета коллекции приложений с открытым исходным кодом, создание пакета в Visual Studio с помощью средства командной строки msdeploy.exe (дополнительные сведения) или использования командлетов Backup-WD*, отмеченных ранее в документе. Например, для установки wordpress на веб-сайте IIS Server Default в качестве приложения с именем wordpress скачайте пакет wordpress из коллекции приложений в папку, называемую пакетами. Все значения по умолчанию для параметров пакета wordpress будут работать так же, как и только необходимо указать значения для двух обязательных параметров: администратора и пароля mysql без администратора.
Параметры:
Restore-WDPackage c:\Packages\wordpress.zip -DBAdminPassword mysecretserverpassword –DBPassword mysqllocalpassword
IV. Удалить
Remove-WDSite -Site NonWorkingSite
Эта команда удаляет определение сайта с именем nonworkingsite в applicationHost.config, а также содержимое каталога сайта
V. Получение и настройка платформы пула приложений
Эти командлеты позволяют считывать и изменять версию пула приложений .NET Framework.
Get-WDAppPoolFx "default web site"
managedRuntimeVersion
---------------------
v2.0
Set-WDAppPoolFx "default web site" -AppPoolFrameworkVersion v4.0
Get-WDAppPoolFx "default web site"
managedRuntimeVersion
---------------------
v4.0
VI. Настройка WDACL
Этот командлет можно использовать для задания ACL на содержимом сайта. Например, предположим, что у меня есть сайт, сайт1 и я пытаюсь предоставить пользователю u1 доступ на чтение.
Сначала я проверяю текущие разрешения.
$ret = Get-Acl C:\site1
$ret.Access
I don’t see u1 in the list. Let me give the user u1 access as follows
Set-WDAcl "site1" -SetAclUser u1
Check whether this worked
$ret = Get-Acl C:\site1
$ret.Access
I see that u1 has been given read access as below. [I have not pasted the other permissions on this folder. Just the u1 part]
FileSystemRights : Read, Synchronize
AccessControlType : Allow
IdentityReference : MOSHAIKH1\u1
IsInherited : False
InheritanceFlags : ContainerInherit, ObjectInherit
PropagationFlags : None
VII. Invoke
Можно выполнять команды или скрипты на удаленной системе с помощью destinationpublishsettings и просматривать результаты удалённого выполнения в режиме реального времени. Чтобы иметь возможность удаленно выполнять команды через поставщика runcommand, необходимо быть администратором удаленной системы. Дополнительные сведения об этом поставщике см. здесь. Максимальное время, когда API MWD по умолчанию ожидает завершения заданного скрипта или команды, составляет 5 секунд. Если вы хотите увеличить это время выполнения, можно указать более высокие значения для waitInterval и waitAttempts, как показано в приведенном ниже примере.
А. Скрипт
Invoke-WDScript C:\my.cmd –Verbose
При выполнении скрипта вы сможете просмотреть выходные данные команды, если выполните его в режиме подробного вывода.
В. Command
$settings = @ { waitInterval = 3000; waitAttempts = 25;}
Invoke-WDCommand "dir c:\mydirectory /s/b" -DestinationSettings $settings
Это приведет к выполнению команды, и результаты выполнения не будут отображаться, так как режим verbose не был указан. Однако будет сделан 3-секундный интервал между каждым временным промежутком и выполнено 25 итераций ожидания. В целом выполнение процесса будет продолжаться в течение 75 секунд.
VIII. Синхронизация
Эти командлеты принимают источник и назначение и синхронизируются между ними. Источник никогда не изменяется. Причина, по которой я использую слово 'источник' вместо 'клиент', заключается в том, что клиент и сервер являются очень запутывающими терминами при синхронизации. Вы можете синхронизировать локальный сервер с удаленным сервером. В этом случае удаленный сервер — источник, а локальный сервер — назначение. Кроме того, можно выполнить командлет PowerShell на компьютере 1 и синхронизировать компьютеры 2 и 3. Чтобы использовать удаленный источник и /или назначение, необходимо предоставить файл параметров публикации, который можно создать с помощью первого командлета, упоминаемого в этом документе. Все командлеты синхронизации также поддерживают параметры sourceSettings и destinationSettings, чтобы иметь возможность выборочно задавать параметры поставщика для источника или назначения или обоих.
А. IIS
1. Сервер
Я хочу синхронизировать два сервера IIS 7.5, Owais-1 и Owais-2. Сначала я создаю файл publishsettings для каждого, а затем синхронизирую серверы. Так как я не указал свои учетные данные, это будет успешным, если я администратор в этих двух системах.
New-WDPublishSettings -ComputerName owais-1 -AgentType MSDepSvc -FileName c:\owais1.publishsettings
Publish settings file created at: 'c:\owais1.publishsettings'.
New-WDPublishSettings -ComputerName owais-2 -AgentType MSDepSvc -FileName c:\owais2.publishsettings
Publish settings file created at: 'c:\owais2.publishsettings'.
Sync-WDServer -SourcePublishSettings c:\owais1.publishSettings -DestinationPublishSettings c:\owais2.publishSettings
2. Сайт
В следующей команде создастся сайт2, если он не существовал, и я также изменил физический путь (содержимое будет скопировано в новую папку c:\site2) и привязку сайта.
Sync-WDSite site1 Site2 -SitePhysicalPath c:\site2 -SiteBinding "*:8078:" -IncludeAppPool
3. Приложение
У меня есть приложение, работающее на веб-сайте по умолчанию. Я хочу переместить это в разделе Site1. Следующая команда сделает это.
Sync-WDApp "Default Web Site/drupal" "site1/drupal"
Теперь, когда я протестировал, что моё новое приложение Drupal работает, я удалю исходное приложение Drupal на веб-сайте по умолчанию.
Remove-WDSite "Default Web Site/drupal"
В. База данных
Предыдущие командлеты показали, как можно создавать резервные копии и восстанавливать базу данных с помощью пакета Web Deploy. Однако также можно синхронизировать базу данных с помощью скрипта .sql или напрямую с другим экземпляром базы данных, используя командлеты Sync-WDSQLDatabase и Sync-WDMySQLDatabase.
1. MSSql
Sync-WDSQLDatabase "server=.\sqlexpress;uid=sa;pwd=********;database=umbracodb" "server=.\sqlexpress;uid=sa;pwd=************;database=sometestdb"
При этом будет создана новая база данных с именем sometestdb (если она еще не существует) и синхронизирована схема и данные.
Sync-"server=.\sqlexpress;uid=sa;pwd=********;database=umbracodb" c:\umbraco.sql
Это выгрузит базу данных umbracodb в umbraco.sql по пути, указанному выше.
2. MySql
Sync-WDMySQLDatabase "server=localhost;uid=root;pwd=********;database=wordpress265" "server=localhost;uid=root;pwd=************;database=wordpress265_new"
При этом будет создана новая база данных с именем wordpress265_new (если она еще не существует) и синхронизирует схему и данные.
Sync-WDMySQLDatabase "server=localhost;uid=root;pwd=***************;database=wordpress265" c:\wordpress.sql
Это приведет к выгрузке базы данных wordpress265 в файл wordpress.sql по указанному выше пути.
С. Всё остальное
Для синхронизации общего назначения, не охваченной другими командлетами, приведенными выше, можно использовать командлет Sync-WDManifest. Это общая синхронизация поставщика манифестов, поддерживаемая API MWD. Дополнительные сведения см. здесь. Манифест — это коллекция поставщиков, путей поставщика и параметров поставщика в XML-файле. Структура заключается в том, что корневой узел XML-файла считается именем поставщика для текущей синхронизации. Поэтому это не может быть имя любого из известных поставщиков, как указано в списке здесь. Затем он может иметь дочерние узлы с именем элемента, соответствующим поставщику, который вы хотите включить в синхронизацию. Атрибут пути представляет путь этого поставщика и является обязательным. Затем добавьте пары значений атрибутов для каждого параметра поставщика, который вы хотите использовать для текущей операции синхронизации.
Этот командлет должен иметь два манифеста: один для исходной точки и один для конечной точки. Манифест всегда выполняется в указанном порядке. Если поставщик поддерживает операцию фиксации, например поставщик apphostconfig, который работает с сайтами IIS, фиксация не вызывается, если синхронизация не завершена. Поэтому, если у вас есть провайдер, который ожидает, что сайт будет существовать после того, как его создаст другой провайдер, это завершится ошибкой, так как сайт еще не был подтверждён. В следующем примере я синхронизирую приложение и добавим базу данных, которую приложение использует вместе с ним в манифесте.
Исходный манифест:
<demoManifest>
<iisApp path="Site1" />
<dbfullsql path="server=.\sqlexpress;integrated security=SSPI;database=customers" />
</demoManifest>
Манифест назначения:
<demoManifest> <iisApp path="Site2" /> <dbfullsql path="server=.\sqlexpress;integrated security=SSPI;database=customers_demo_cpy" /></demoManifest>Sync-WDManifest C:\sourceManifest.xml C:\destManifest.xmlWARNING: Cannot connect to the database 'customers_demo_cpy'.Retrying operation 'Add' on object dbFullSql (server=.\sqlexpress;uid=sa;database=customers_demo_cpy). Attempt 1 of 5.Manifest : C:\sourceManifest.xmlManifest-Dest : C:\destManifest.xmlTimeTaken : 0:10Errors : 0Warnings : 0BytesCopied : 0ObjectsDeleted : 0ObjectsUpdated : 0ObjectsAdded : 3TotalChanges : 3ParameterChanges : 0