2011-10-04 12 views
6

Siamo in procinto di spostare oltre 100 domini su un nuovo server. Ho creato uno script che consentirà di aggiungere una voce del sito Web e una voce FTP in IIS 7 utilizzando un semplice file BAT. Ho trovato diversi tutorial usando AppCmd ​​ADD SITE che funziona molto bene. Eseguendo :: c: \ scripts \ createIIS.bat youdomainname.com. Qualche feed-back? - Funziona.Aggiunta di sito Web e FTP in IIS 7 tramite 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 

risposta

5

Grande sceneggiatura. Anche se questa non è davvero una domanda, l'ho leggermente modificata per l'elaborazione in batch.

In primo luogo, ho creato un file batch che legge in un file di testo di siti web per aggiungere, che fa riferimento il file batch leggermente modificato per solo creare siti web (non di FTP richiesto):

@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 un elenco di siti web per creare - uno per riga (senza www inclusa.):

site1.com 
site2.com 
site3.com 

Infine, il file batch che crea le voci:

@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 

Dato che nel mio caso, non tutti i nuovi siti saranno pubblicati contemporaneamente, sono un sito segnaposto predefinito i cui contenuti vengono copiati nelle nuove directory del sito Web create.

Questo aggiungerà tutti i siti al pool di applicazioni predefinito.

Questo è tutto.

Problemi correlati