<?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为你所创建的组件名称
?>