2011-10-04 11 views
6

Estamos en el proceso de mover más de 100 dominios a un nuevo servidor. Creé un script que permitirá agregar una entrada al sitio web y una entrada FTP en IIS 7 usando un archivo BAT simple. Encontré varios tutoriales usando AppCmd ​​ADD SITE, que funciona muy bien. Ejecutando :: c: \ scripts \ createIIS.bat youdomainname.com. ¿Cualquier retroalimentación? - Está funcionando.Agregar sitio web y FTP a IIS 7 mediante el script

@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 

Respuesta

5

Excelente script. Aunque esto no es realmente una pregunta, lo modifiqué un tanto para el procesamiento por lotes.

En primer lugar, crea un archivo por lotes que se lee en un archivo de texto de las páginas web para añadir, que hace referencia a su archivo por lotes sólo ligeramente modificada a crear sitios web (sin FTP es necesario):

@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 contiene una lista de sitios web para crear - una por línea (sin www incluido.):

site1.com 
site2.com 
site3.com 

por último, el archivo por lotes que crea las entradas:

@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 

Dado que en mi caso, no todos los sitios nuevos se publicarán a la vez, soy un sitio de marcador de posición predeterminado cuyos contenidos se copian en los directorios del sitio web recién creados.

Esto agregará todos los sitios al grupo de aplicaciones predeterminado.

Eso es todo.

Cuestiones relacionadas