<?php
# PHP控制IIS的相關屬性
# 收集人:韓湘子
# 郵箱:hanxiangzi@gmail.com
# MSN:hanxiangzi@gmail.com
# QQ:220670
/*網站屬性和使用方法*********************************************************/
$LocalHostObject = New Com ("IIS://localhost/w3svc") ;
$Site = $LocalHostObject->Create("IIsWebServer",網站標識符);
//網站類型
$Site->Class;
//網站名稱
$Site->ServerComment;
//網站綁定的IP:連接埠:網域名稱
$Site->ServerBinDings;
//網站標識符
$Site->Name;
//擷取網站主目錄
$Site->GetObject("IIsWebVirtualDir","ROOT");
$Site->Path;
//匿名訪問時所使用的帳號
$Site->AnonymousUserName;
//匿名訪問時所用帳號的口令
$Site->AnonymousUserPass;
//記錄檔的目錄
$Site->LogFileDirectory;
//是否允許FrontPage擴充
$Site->FrontPageWeb = True;
//網站的類型
$Site->KeyType = "IIsWebServer";
//網站描述
$Site->bewrite;
//允許使用的頻寬,1024=1K,如果是100K的話等於102400
$iissite->MaxBandwidth = '102400';
//允許IIS同時多少個並發數,也就是平常說的IIS串連數
$iissite->MaxConnections = '100';
//是否開通日誌
$iissite->LogType = "0"; //0為不開通,1為開通W3C格式的日誌
//指定404錯誤,Url為當前網站的檔案
$iissite->HttpErrors = "404,0,Url,/404.htm";
//指定404錯誤,FILE為當前伺服器絕對路徑的檔案
$iissite->HttpErrors = "404,0,FILE,/404.htm";
//指定指令碼映身,有關這下面的副檔名映射可以查看預設網站的一些,複製過來即可,下面是用PHP做的例子
$iissite->ScriptMaps = ".php,E:softphp-5.2.3-Win32(1)php5isapi.dll,5,Get,HEAD";
/*網站的預設文件*********************************************************/
//是否允許預設文件
$Site->EnableDefaultDoc = True;
//網站的預設文件
$Site->DefaultDoc = "index.php,index.html"; //以英文標點,隔開
/*網站的運行狀態*********************************************************/
$SiteStatus = New Com ("IIS://LocalHost/w3svc/".$ServerID);
//網站運行狀態
$SiteStatus->Status;
//運行狀態返回以下幾個整數值:
//1代表網站運行狀態為“正在啟動”
$SiteStatus->Status = 1;
//2代表網站運行狀態為“已經啟動”
$SiteStatus->Status = 2;
//3代表網站運行狀態為“正在停止”
$SiteStatus->Status = 3;
//4代表網站運行狀態為“已經停止”
$SiteStatus->Status = 4;
//5代表網站運行狀態為“正在暫停”
$SiteStatus->Status = 5;
//6代表網站運行狀態為“已經暫停”
$SiteStatus->Status = 6;
//7代表網站運行狀態為“正在繼續”,就是暫停後的繼續運行
$SiteStatus->Status = 7;
//-1代表出錯
$SiteStatus->Status = -1;
//啟動網站
$SiteStatus->Start;
//停止網站
$SiteStatus->Stop;
//繼續網站,就是暫停後的繼續運行
$SiteStatus->Continue;
//暫停網站
$SiteStatus->Pause;
/*網站的應用程式設定*********************************************************/
$iisdir = $Site->Create("IIsWebVirtualDir","ROOT");
//佈建網站的應用程式可讀,就是什麼也不能執行
$iisdir->AccessRead = True;
//佈建網站的應用程式可執行,只包括指令碼,不包括執行檔案
$iisdir->AccessScript = True;
//佈建網站的WEB目錄可寫,這個很危險
$iisdir->AccessWrite = True;
//佈建網站的應用程式可執行,包括指令碼和執行檔案
$iisdir->AccessExecute = True;
//佈建網站的目錄
$iisdir->Path = "d:webuserwebdir";
//建立新的應用程式
$iisdir->AppCreate(True) ; //在這裡不能 = True;,只能用(True)
//允許父路徑,也就是允許.
$iisdir->AspEnableParentPaths = True;
/*應用程式集區相關設定*********************************************************/
$appList = New Com ("IIS://Localhost/w3svc/AppPools");
//列出應用程式集區的名稱
$appList->Name;
//列出應用程式集區的狀態
$appList->AppPoolState;
//運行狀態返回以下幾個整數值:
//1代表應用程式集區運行狀態為“正在啟動”
$appList->Status = 1;
//2代表應用程式集區運行狀態為“已經啟動”
$appList->Status = 2;
//3代表應用程式集區運行狀態為“正在停止”
$appList->Status = 3;
//4代表應用程式集區運行狀態為“已經停止”
$appList->Status = 4;
//5代表應用程式集區運行狀態為“正在暫停”
$appList->Status = 5;
//6代表應用程式集區運行狀態為“已經暫停”
$appList->Status = 6;
//7代表應用程式集區運行狀態為“正在繼續”,就是暫停後的繼續運行
$appList->Status = 7;
//-1代表出錯
$appList->Status = -1;
/*WinNT使用者和密碼相關設定*********************************************************/
$usernameobj = New Com("WinNT://iim");
//建立一個系統使用者
$user = $usernameobj->Create("user",$UserName);
//設定使用者密碼
$user->SetPassword($UserPass);
//設定使用者全名
$user->FullName = "使用者全名";
//設定使用者說明
$user->Description = "使用者說明";
//設定使用者密碼永久正確
$user->UserFlags = &H10000
//設定使用者下次登入時須變更密碼
$user->UserFlags = &H20000
//設定使用者不得變更密碼
$user->UserFlags = &H0040
//設定使用者帳戶暫時停用
$user->UserFlags = &H0002
//以上動作建立一個系統使用者
/*執行相關動作*********************************************************/
//執行以上的動作,但在網站運行狀態裡邊的start,stop,pause,continue這四個動作中無須執行->SetInfo();
$Object->SetInfo(); //$Object為你所建立的組件名稱
?>