Примеры сценариев C# и PowerShell
В этой статье приводится сводка примеров сценариев PowerShell и C#, упомянутых в руководстве по размещению. Их можно использовать для задач развертывания, настройки, миграции и подготовки.
Сценарии развертывания — общее размещение
-
Эти скрипты PowerShell помогут развернуть и настроить веб-сервер. Обратите внимание, что эти скрипты были написаны и протестированы с помощью PS 2.0:
runPKGMGT_IIS.PS1: запускает командную программу pkgmgt.exe для установки IIS 7.0 с рекомендуемыми модулями для общего размещения. См. статью Установка роли веб-сервера.
- Скрипт использует файл "unattended.xml" в качестве входных данных конфигурации, он указывает модули IIS для установки.
- Обязательный: Unattend.xml требует, чтобы номер версии был установлен в текущей версии продукта Windows, т. е. version="6.0.6000.16386". Это можно найти, щелкнув
C:\Windows\RegEdit.exe
правой кнопкой мыши и выбрав вкладку сведений. Для правильной установки всех необходимых компонентов PkgMgr требуется этот параметр.
Install_IISSharedHosting.PS1: выполняет все скрипты конфигурации в соответствии с рекомендациями по общему размещению, см. статью Настройка IIS 7.0 для общего размещения.
- Скрипт использует файл IISSettings.xml в качестве входных данных конфигурации. Он содержит параметры для динамического сжатия и порога простоя
- Настройка файла по умолчанию для сервера управляется с помощью Default_File_Config.xml. Он содержит список всех добавляемых или удаляемых файлов по умолчанию. Создайте любое количество записей. Задайте параметр activity="ADD" для добавления или "REMOVE" для удаления.
Enable32bitModeWorkerProcess.PS1: включает рабочие процессы в 32-разрядном режиме на 64-разрядных компьютерах.
AppPoolIdentAsAnonymousUser.PS1: задает удостоверение пула приложений как анонимного пользователя.
AddRemoveDefaultDoc.PS1: добавляет или удаляет документы по умолчанию на основе спецификации входного файла Default_Files_Config.XML.
ConfigureDynamicIdleThreshold.PS1: задает свойство конфигурации dynamicIdleThreshold .
ConfigureDynamicCompression.PS1: задает свойства динамического сжатия .
HTTPResponseCache.PS1: отображает кэш http-ответов.
В ближайшее время: настройка ASP.NET среднего доверия.
-
Эти скрипты PowerShell помогут развернуть и настроить файловый сервер. Обратите внимание, что эти скрипты были написаны и протестированы с помощью PS 2.0:
InstallFileServer.PS1выполняет все скрипты для установки и настройки роли FileServer.
- Файлы: FolderPermissions.xml, SharePermissions.xml DirectoryQuotas_Settings.xml заполняются примерами параметров. Каждое из них должно быть настроено перед развертыванием, так как эти параметры будут отличаться в зависимости от развертывания.
- DirectoryQuotas_Settings.xml. Позволяет определить необходимое количество квот папок.
- FolderPermissions.xml. Позволяет определить необходимое количество папок, и каждая папка может иметь 0, 1 или много разрешений.
- SharePermissions.xml: позволяет определить необходимое количество общих папок (если новый общий ресурс не соответствует существующей папке, произойдет ошибка). У каждой общей папки может быть 0, 1 или несколько разрешений.
runPKGMGR_FileServer: запускает программу pkgmgt.exe для установки роли файлового сервера. Скрипт использует файл "unattended.xml" в качестве входного параметра, он указывает модули для установки.
DirectoryQuota.PS1: задает квоту каталога, см. раздел Квоты каталогов.
Folder_Shares_Permissions.PS1: задает разрешения для папки в соответствии со спецификацией во входном файле "SharePermissions.XML". См. раздел Разрешения для общего доступа и NTFS.
Подготовка и управление
Пример подготовки в C# — это набор примеров C# для выполнения нескольких распространенных задач подготовки. Дополнительные сведения см. в статье Пример подготовки на C# .
Пример служб размещения — это обширный пример кода C# для подготовки сайтов, учетных записей пользователей, базы данных SQL и т. д. Дополнительные сведения см. в статье Пример кода служб размещения .
Примеры кода и скрипты предоставляют примеры фрагментов кода для создания сайтов и задач конфигурации IIS 7.0.
[Скрипты PowerShell для подготовки сайтов IIS] (https://www.iis.net/community/files/hosting/ProvisioningScripts 4-7-2008.zip "Скрипты PowerShell для сайтов IIS"). Это 6 скриптов PowerShell, которые помогают автоматизировать подготовку пулов приложений, сайтов, приложений, виртуальных каталогов и привязок. Они используют интерфейсы пространства имен управляемого кода Microsoft.Web.Administration для подготовки этих объектов. Ниже приведен пример для каждого из них:
4.1. Чтобы создать любое количество пулов приложений, сайтов, приложений, виртуальных каталогов и привязок, упорядоченных в соответствии с файлом данных конфигурации , используйте Sample_AppPool_Site_AppCreation. Этот скрипт вызывает все остальные для создания каждого объекта в соответствии с данными конфигурации, найденными в XML-файле ProvisioningConfig.xml.
Пример
Sample_AppPool_Site_AppCreation
Пример XML-файла ProvisioningConfig.xml:
<Script> <ApplicationPool> <Site Name="DAP1Site2" PhysicalPath="C:\Content\DAP1Site2"> <Application PhysicalPath="C:\Content\DAP1Site2\App1" RelativePath="/App1"> <VirtualDirectory PhysicalPath="C:\Content\Logs" RelativePath="/App1/VDir"/> </Application> <Application PhysicalPath="C:\Content\DAP1Site2\App2" RelativePath="/App2"> </Application> <Binding Port="80" BindingInfo="www.DAP1Site2.com" Protocol="http"/> <Folder name="C:\Content\DAP1Site2" quota="50mb"> <Permission> <User>Administrators</User> <Capability>F</Capability> </Permission> </Folder> </Site> </ApplicationPool> </Script>
4.2. Чтобы создать AppPools, используйте пароль пользователя CreateIISAppPool PoolName. Если не указать имя пользователя и пароль, будет использоваться текущий пользователь.
Пример
CreateIISAppPool "DemoAppPool1" "" ""
4.3. Чтобы создать сайт, используйте CreateIISite SiteName PhysicalPath PoolName ID.
Пример
CreateIISSite "DAP1Site1" "C:\Content\DAP1Site1" "DemoAppPool1" 1702121
4.4. Чтобы создать приложение на сайте, используйте CreateIISApplicationOntoSite PhysicalPath RelativePath SiteName PoolName.
Пример
CreateIISApplicationOntoSite "C:\Content\DAP1Site1\App1" "/App1" "DAP1Site1" "DemoAppPool1"
4.5. Чтобы создать виртуальный каталог для приложения, используйте createIISVDirOntoApplication ApplicationPhysicalPath PhysicalPath SiteName RelativePath.
Пример
CreateIISVDirOntoApplication "C:\Content\Logs" "/App1/VDir" "DAP1Site1" "/App1"
4.6. Чтобы создать привязку для сайта, используйте протокол CreateIISBindingOntoSite SiteName Port BindingInfo.
Пример
CreateIISBindingOntoSite "DAP1Site1" 80 "www.DAP1Site2.com" "http"