天天看點

在DELPHI中用ADSI來控制IIS,檢測、增加、删除虛拟目錄

//在DELPHI中用ADSI來控制IIS,檢測、增加、删除虛拟目錄

//========================================================

//本代碼轉自網絡,是WebService開發時經常要用到的東東,感謝原作者

//本人稍作修改,并将其整理,希望對大家有用

//========================================================

//删除虛拟目錄應用程式名

function DeleteVirtualDirApp(strVirtualDir: string): Boolean;
var
  WebSite, WebServer, WebRoot, vdir: Variant;
begin
  Result := True;
  try
    WebSite := CreateOleObject('IISNamespace');
    WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc');
    WebServer := WebSite.GetObject('IIsWebServer', '1');
    WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root');
    vdir := WebRoot.GetObject('IIsWebVirtualDir', strVirtualDir);
    vdir.AppDelete;
    vdir.SetInfo;
  except
    Result := False;
  end;

end;[/code]
//删除虛拟目錄[codes=delphi]
function DeleteVirtualDir(strVirtualDir: string): Boolean;
var
  WebSite, WebServer, WebRoot, vdir: Variant;
begin
  Result := True;
  try
    WebSite := CreateOleObject('IISNamespace');
    WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc');
    WebServer := WebSite.GetObject('IIsWebServer', '1');
    WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root');
    WebRoot.Delete('IIsWebVirtualDir', strVirtualDir);
  except
    Result := False;
  end;
end;      

{檢測是否有虛拟目錄}

function CheckVirtualDir(const strVirtualDir: string): Boolean;
var
  WebSite, WebServer, WebRoot, vdir: Variant;
begin
  Result := True;
  try
    WebSite := CreateOleObject('IISNamespace');
    WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc');
    WebServer := WebSite.GetObject('IIsWebServer', '1');
    WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root');
    WebRoot.GetObject('IIsWebVirtualDir', strVirtualDir);
  except
    Result := False;
  end;
end;      
function CreateVirtualDir(const strVirtualDir, strDir, strAppName: string): Boolean;
var
  WebSite, WebServer, WebRoot, vdir: Variant;
begin
  Result := True;
  try
    WebSite := CreateOleObject('IISNamespace');
    WebSite := WebSite.GetObject('IIsWebService', 'localhost/w3svc');
    WebServer := WebSite.GetObject('IIsWebServer', '1');
    WebRoot := WebServer.GetObject('IIsWebVirtualDir', 'Root');
    vdir := WebRoot.Create('IIsWebVirtualDir', strVirtualDir);
    vdir.AccessRead := True;

    vdir.AccessScript := True; //執行許可為純腳本
    vdir.DefaultDoc := 'index.aspx,index.asp'; //預設文檔
    vdir.EnableDirBrowsing := False;
    vdir.AppFriendlyName := strAppName; //應用程式名
    vdir.Path := strDir;
    vdir.AppCreate(True); //如果沒有這句的話,虛拟目錄就要人為的手工建立應用程式名
    vdir.SetInfo;
  except
    Result := False;
  end;
end;      

繼續閱讀