Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом пошаговом руководстве вы узнаете, как создавать веб-сайты, веб-приложения, виртуальные каталоги и пулы приложений.
Введение
Пространство имен IIS PowerShell состоит из таких элементов, как веб-сайты, приложения, виртуальные каталоги и пулы приложений. Создание элементов пространства имен и управление ими очень легко с помощью встроенных командлетов PowerShell.
Создание Web-Sites
Если вы знакомы с PowerShell, вы знаете, что командлет New-Item используется для создания новых элементов в различных пространствах имен PowerShell. Команда New-Item c:\TestDirectory создает новый каталог файловой системы, например, (большинство пользователей используют псевдоним MD или MKDIR для New-Item).
New-Item также используется для создания новых Web-Sites в пространстве имен IIS PowerShell.
Параметры
Указание имени каталога является единственным аргументом, необходимым при создании нового каталога файловой системы. К сожалению, это недостаточно при создании веб-сайта. Для создания веб-сайта необходимы дополнительные параметры, такие как путь к файловой системе и сетевые привязки. Ниже приведена команда для создания нового Web-Site с помощью команды dir:
PS IIS:\Sites> New-Item iis:\Sites\TestSite -bindings @{protocol="http";bindingInformation=":80:TestSite"} -physicalPath c:\test
PS IIS:\Sites> dir
Name ID State Physical Path Bindings
---- -- ----- ------------- --------
Default Web Site 1 Started f:\inetpub\wwwroot http *:80:
TestSite 2 Started c:\test http :80:TestSite
Использование аргумента -physicalPath довольно просто. Но вы можете спросить себя, почему аргумент -bindings выглядит таким сложным.
Используемая конструкция — это , чтобы узнать больше о хэш-таблицах PowerShell). В хэш-таблице пары ключ=значение задают параметры, которые отражают атрибуты в разделе привязок веб-сайта IIS.
<bindings>
<binding protocol="http" bindingInformation=":80:TestSite" />
</bindings>
Теперь мы используем хэш-таблицу: конфигурация IIS полностью расширяема (см. дополнительные сведения см. в разделе ") с дополнительными разделами и атрибутами. Вы можете представить, что кто-то расширяет элемент привязки <> с дополнительными атрибутами. Пары "Ключевые значения" в хэш-таблице обеспечивают гибкость включения этих новых атрибутов без полной перезаписи оснастки IIS PowerShell.
Согласен, синтаксис немного сложный. Мы думаем о оболочке некоторых типичных задач, таких как создание сайтов с дополнительными функциями или скриптами в более поздней версии Tech Preview.
Удаление сайтов
Вот как удалить только что созданный сайт.
PS IIS:\ >Remove-Item IIS:\Sites\TestSite
Создание веб-приложений
Создание веб-приложений проще, чем создание сайтов. Вот так:
PS IIS:\> New-Item 'IIS:\Sites\Default Web Site\DemoApp' -physicalPath c:\test -type Application
Name ApplicationPool EnabledProtocols PhysicalPath
---- --------------- ---------------- ------------
DemoApp DefaultAppPool http c:\test
Вам нужно указать только параметр типа (-type), так как под веб-сайтом может понадобиться создать приложения или виртуальные каталоги. Указав параметр -type, вы даете команду оснастке IIS создать приложение.
Чтобы удалить приложение, можно также использовать Remove-Item.
Создание виртуальных каталогов
Для создания виртуального каталога также используется командлет New-Item. Давайте создадим виртуальный каталог под веб-сайтом по умолчанию, но второй под веб-приложением, созданным на предыдущем шаге.
PS IIS:\> New-Item 'IIS:\Sites\Default Web Site\DemoVirtualDir1' -type VirtualDirectory -physicalPath c:\test\virtualDirectory1
Name PhysicalPath
---- ------------
DemoVirtualDir1 c:\test\virtualDirectory1
PS IIS:\> New-Item 'IIS:\Sites\Default Web Site\DemoApp\DemoVirtualDir2' -type VirtualDirectory -physicalPath c:\test\virtualDirectory2
Name PhysicalPath
---- ------------
DemoVirtualDir2 c:\test\virtualDirectory2
Создание пулов приложений
Но это становится еще проще. Для создания нового AppPool требуется указать только имя.
PS IIS:\> new-item AppPools\DemoAppPool
Name State
---- -----
DemoAppPool {}
Просто, не так ли? Теперь давайте объединим этот сценарий в комплексный сценарий.
Сложив все вместе
В следующем комплексном сценарии мы выполните следующий шаг:
- Создайте набор новых каталогов файловой системы для сайтов, веб-приложений и виртуальных каталогов, которые мы создадим позже.
- Скопируйте очень простое веб-содержимое в только что созданные каталоги.
- Создание пула приложений
- Создайте сайт, новое приложение и два новых виртуальных каталога и назначьте их только что созданному пулу приложений.
- Запрос веб-содержимого через веб-браузер.
Шаг 1. Создание новых каталогов
Мы используем командлет New-Item для создания четырех новых каталогов файловой системы. Выполните следующие команды (используйте "md", а не New-Item, если вы не хотите указать параметр -type):
New-Item C:\DemoSite -type Directory
New-Item C:\DemoSite\DemoApp -type Directory
New-Item C:\DemoSite\DemoVirtualDir1 -type Directory
New-Item C:\DemoSite\DemoVirtualDir2 -type Directory
Шаг 2. Копирование содержимого
Теперь давайте напишем простое html-содержимое в следующие каталоги:
Set-Content C:\DemoSite\Default.htm "DemoSite Default Page"
Set-Content C:\DemoSite\DemoApp\Default.htm "DemoSite\DemoApp Default Page"
Set-Content C:\DemoSite\DemoVirtualDir1\Default.htm "DemoSite\DemoVirtualDir1 Default Page"
Set-Content C:\DemoSite\DemoVirtualDir2\Default.htm "DemoSite\DemoApp\DemoVirtualDir2 Default Page"
Шаг 3. Создание пула приложений
Создайте новый пул приложений DemoAppPool для нового сайта, если вы удалили созданный в предыдущем примере.
New-Item IIS:\AppPools\DemoAppPool
Замечание
Командлет выше не выполнится, если модуль WebAdministration не был импортирован. Для этого можно добавить следующий командлет в качестве первого шага скрипта, содержащего приведенный выше командлет:
Import-Module "WebAdministration"
Шаг 4. Создание новых сайтов, веб-приложений и виртуальных каталогов и назначение пулу приложений
Вот говядина. Мы создадим DemoSite, DemoApp и два виртуальных каталога — DemoVirtualDir1 непосредственно под demoSite и DemoVirtualDir2 находится под demoApp. Мы назначаем DemoSite и DemoApp пулу приложений DemoAppPool, который был создан на предыдущем шаге. DemoSite назначается порту 8080, чтобы не конфликтовать с веб-сайтом по умолчанию.
New-Item IIS:\Sites\DemoSite -physicalPath C:\DemoSite -bindings @{protocol="http";bindingInformation=":8080:"}
Set-ItemProperty IIS:\Sites\DemoSite -name applicationPool -value DemoAppPool
New-Item IIS:\Sites\DemoSite\DemoApp -physicalPath C:\DemoSite\DemoApp -type Application
Set-ItemProperty IIS:\sites\DemoSite\DemoApp -name applicationPool -value DemoAppPool
New-Item IIS:\Sites\DemoSite\DemoVirtualDir1 -physicalPath C:\DemoSite\DemoVirtualDir1 -type VirtualDirectory
New-Item IIS:\Sites\DemoSite\DemoApp\DemoVirtualDir2 -physicalPath C:\DemoSite\DemoVirtualDir2 -type VirtualDirectory
Вуаля. Все, что осталось, — запросить веб-содержимое.
Шаг 5. Запрос веб-содержимого
Вы можете, конечно, открыть браузер и ввести http://localhost:8080/ все остальные URL-адреса. Но это пошаговое руководство по PowerShell, и мы будем использовать PowerShell для этого с помощью классов .NET WebClient:
$webclient = New-Object Net.WebClient
$webclient.DownloadString("http://localhost:8080/");
$webclient.DownloadString("http://localhost:8080/DemoApp");
$webclient.DownloadString("http://localhost:8080/DemoVirtualDir1");
$webclient.DownloadString("http://localhost:8080/DemoApp/DemoVirtualDir2");
Если вы чувствуете себя предприимчивым, вы также можете использовать сам объект Internet Explorer:
$ie = new-object -com InternetExplorer.Application
$ie.Visible = $true
$ie.Navigate("http://localhost:8080/");
Сводка
В этом пошаговом руководстве вы узнали, как создавать веб-сайты, веб-приложения, виртуальные каталоги и пулы приложений с помощью PowerShell. Дополнительные функции PowerShell использовались для создания функционального комплексного сценария.