2011-10-04 71 views
6

Chúng tôi đang trong quá trình di chuyển trên 100 miền sang máy chủ mới. Tôi đã tạo ra một kịch bản cho phép thêm một mục nhập Website và mục nhập FTP vào IIS 7 bằng cách sử dụng một tệp BAT đơn giản. Tôi tìm thấy một số hướng dẫn sử dụng AppCmd ​​ADD SITE hoạt động rất tốt. Bằng cách chạy :: c: \ scripts \ createIIS.bat youdomainname.com. Bất kỳ feed-back? - Nó đang làm việc.Thêm trang web và FTP vào IIS 7 qua tập lệnh

@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 

Trả lời

5

Kịch bản tuyệt vời. Mặc dù đây không thực sự là một câu hỏi, tôi đã sửa đổi nó một chút để xử lý hàng loạt.

Trước tiên, tôi đã tạo ra một tập tin thực thi mà đọc trong một tập tin văn bản của trang web để thêm, tham chiếu đến tập tin thực thi chút thay đổi của bạn để chỉ tạo ra các trang web (không của FTP bắt buộc):

@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 chứa một danh sách các trang web để tạo ra - mỗi dòng (không www bao gồm.):

site1.com 
site2.com 
site3.com 

Cuối cùng, các tập tin batch để tạo ra các mục:

@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 

Vì trong trường hợp của tôi, không phải tất cả các trang web mới sẽ được phát hành cùng một lúc, tôi là trang web giữ chỗ mặc định của những người được sao chép vào các thư mục trang web mới được tạo.

Thao tác này sẽ thêm tất cả các trang web vào nhóm ứng dụng mặc định.

Đó là về nó.

Các vấn đề liên quan