Добавление веб-сайта и FTP в IIS 7 через скрипт - PullRequest
7 голосов
/ 04 октября 2011

Мы находимся в процессе переноса более 100 доменов на новый сервер.Я создал скрипт, который позволит добавлять запись веб-сайта и FTP в IIS 7, используя простой BAT-файл.Я нашел несколько учебных пособий с использованием AppCmd ​​ADD SITE, который работает очень хорошо.Запустив :: c: \ scripts \ createIIS.bat youdomainname.com.Любая обратная связь?- Это работает.

@Echo off
:: --------------------------------------------
:: Create IIS 7 Site Entry / FTP Site
:: --------------------------------------------

:: Get variable from command %1 Root Domain Name.
set rootDomainName = %1

:: This is the path to the Web Pages on the server.
set WebFile=C:\websites\

:: ADD NEW Directory
MKDIR %WebFile%%1

:: ADD IIS ENTRY
%windir%\system32\inetsrv\AppCmd ADD SITE /name:%1 /bindings:http/*:80:%1,http/*:80:www.%1 /physicalPath:C:\websites\%1

:: --------------------------------------------
:: CREATE FTP in IIS
:: --------------------------------------------
%windir%\system32\inetsrv\AppCmd add vdir /app.name:"Default FTP Site/" /path:/%1 /physicalPath:"%WebFile%%1"


echo New Directory Created:  %WebFile%%1
echo IIS Website Created:  %1  and  www.%1
echo FTP SITE Created:  %1
echo ...
echo ...
echo COMPLETED!
pause

1 Ответ

6 голосов
/ 06 марта 2012

Отличный сценарий.Несмотря на то, что это на самом деле не вопрос, я несколько изменил его для пакетной обработки.

Сначала я создал пакетный файл, который добавляет текстовый файл веб-сайтов и добавляет в него слегка измененный пакетный файл.создавать только веб-сайты (FTP не требуется):

@Echo off
:: ---------------------------------------------------------------------------------------
:: Create Batched IIS 7 Site Entries
:: 
::   Usage: CreateIISEntry.bat [websitename.com] (no www.)
:: 

for /f %%X in (NewWebsiteEntries.txt) do CreateSingleIISEntry.bat %%X


echo ...
echo *** BATCH PROCESS HAS BEEN COMPLETED ***

NewWebsiteEntries.txt содержит список веб-сайтов для создания - по одному на строку (без www. включены):

site1.com
site2.com
site3.com

Наконец,пакетный файл, который создает записи:

@Echo off
:: ---------------------------------------------------------------------------------------
:: Create IIS 7 Site Entry
:: 
::   Usage: CreateSingleIISEntry.bat [websitename.com] (no www.)
:: ---------------------------------------------------------------------------------------

:: Get variable from command %1 Root Domain Name.
set rootDomainName = %1

:: This is the path to the Web Pages on the server.
set WebFile=C:\inetpub\wwwroot\

:: ADD NEW Directory
MKDIR %WebFile%%1
echo New Directory Created:  %WebFile%%1

xcopy C:\inetpub\wwwroot\NewWebsiteHolding\*.* %WebFile%%1

:: ADD IIS ENTRY
%windir%\system32\inetsrv\AppCmd ADD SITE /name:%1 /bindings:http/[YOUR IP ADDRESS OR *]:80:%1,http/[YOUR IP ADDRESS OR *]:80:www.%1 /physicalPath:%WebFile%%1
echo IIS Website Created:  %1  and  www.%1

#:: --------------------------------------------
#:: CREATE FTP in IIS
#:: --------------------------------------------
#%windir%\system32\inetsrv\AppCmd add vdir /app.name:"Default FTP Site/" /path:/%1 /physicalPath:"%WebFile%%1"
#
#


#echo FTP SITE Created:  %1
echo ...
echo ...
echo New website added ========================= %1

Поскольку в моем случае не все новые сайты будут работать сразу, я являюсь сайтом-заполнителем по умолчанию, содержимое которого копируется во вновь созданные каталоги веб-сайтов.

Это добавит все сайты в пул приложений по умолчанию.

Вот и все.

...