2011-10-04 14 views
6

के माध्यम से आईआईएस 7 में वेबसाइट और एफ़टीपी जोड़ना हम 100 से अधिक डोमेन को नए सर्वर पर ले जाने की प्रक्रिया में हैं। मैंने एक स्क्रिप्ट बनाई है जो एक साधारण बीएटी फ़ाइल का उपयोग करके आईआईएस 7 में वेबसाइट एंट्री और एफ़टीपी एंट्री जोड़ने की अनुमति देगी। मुझे AppCmd ​​ADD साइट का उपयोग करके कई ट्यूटोरियल मिले जो बहुत अच्छी तरह से काम करता है। :: 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 

उत्तर

5

ग्रेट स्क्रिप्ट। भले ही यह वास्तव में एक प्रश्न नहीं है, मैंने इसे बैच प्रोसेसिंग के लिए कुछ हद तक संशोधित किया।

पहले, मैं एक बैच फ़ाइल है कि जोड़ने के लिए वेबसाइटों की एक पाठ फ़ाइल में लिखा है, केवल बनाने वेबसाइटों के लिए अपनी थोड़ा संशोधित बैच फ़ाइल का संदर्भ देता है बनाया (कोई एफ़टीपी के आवश्यक):

@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 

मेरे मामले में, सभी नई साइटें एक साथ लाइव नहीं रहेंगी, मैं एक डिफ़ॉल्ट प्लेसहोल्डर साइट है जिसकी सामग्री नव निर्मित वेबसाइट निर्देशिकाओं में कॉपी की गई है।

यह सभी साइट डिफ़ॉल्ट ऐप पूल में जोड़ देगा।

यह इसके बारे में है।