Поделиться через


Примеры сценариев C# и PowerShell

В этой статье приводится сводка примеров сценариев PowerShell и C#, упомянутых в руководстве по размещению. Их можно использовать для задач развертывания, настройки, миграции и подготовки.

Уолтер Оливер

Сценарии развертывания — общее размещение

  1. Веб-сервер

    Эти скрипты 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 среднего доверия.

  2. Файловый сервер

    Эти скрипты 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.

Подготовка и управление

  1. Пример подготовки в C# — это набор примеров C# для выполнения нескольких распространенных задач подготовки. Дополнительные сведения см. в статье Пример подготовки на C# .

  2. Пример служб размещения — это обширный пример кода C# для подготовки сайтов, учетных записей пользователей, базы данных SQL и т. д. Дополнительные сведения см. в статье Пример кода служб размещения .

  3. Примеры кода и скрипты предоставляют примеры фрагментов кода для создания сайтов и задач конфигурации IIS 7.0.

  4. [Скрипты 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"