7

現在、100を超えるドメインを新しいサーバーに移行中です。単純なBATファイルを使用してIIS7にWebサイトエントリとFTPエントリを追加できるスクリプトを作成しました。AppCmdADDSITEを使用したチュートリアルがいくつか見つかりました。これは非常にうまく機能します。:: c:\ scripts \createIIS.batyoudomainname.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
4

1 に答える 1

6

素晴らしいスクリプト。これは実際には問題ではありませんが、バッチ処理用に多少変更しました。

最初に、追加するWebサイトのテキストファイルを読み取るバッチファイルを作成しました。これは、わずかに変更されたバッチファイルを参照してWebサイトのみを作成します(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には、作成するWebサイトのリストが含まれています-1行に1つ(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

私の場合、すべての新しいサイトが一度に公開されるわけではないので、コンテンツが新しく作成されたWebサイトディレクトリにコピーされるデフォルトのプレースホルダーサイトです。

これにより、すべてのサイトがデフォルトのアプリプールに追加されます。

それについてです。

于 2012-03-06T17:11:38.687 に答える