Einzelnen Beitrag anzeigen

Mondengel

Registriert seit: 26. Jan 2009
49 Beiträge
 
Delphi 6 Personal
 
#9

Re: Webserveranzahl ermitteln

  Alt 30. Jan 2009, 09:30
Also der Code sieht so aus

Delphi-Quellcode:
procedure IIS_GetWebsites(servername: string; var webserver : TStringList);
var
  i : Integer;
  IIS, Webservice, Website, Webdir : Variant;
  server, path, log, name, en : Variant;
  list : TStringList;
  from, zu : String;
begin
  list := TStringList.Create();
  try
    IIS := CreateOleObject('IISNamespace');
    Webservice := IIS.GetObject('IIsWebService', servername + '/W3SVC' );
  except
    exit;
  end;
  for i:=1 to 2 do // Es können mehr als 2 Server sein
  begin
    try

      Website := Webservice.GetObject('IIsWebServer',i);
      Webdir := Website.GetObject('IIsWebVirtualDir', 'Root');
      server:=Website.ServerComment; // Webserver
      path:=Webdir.Path; // Pfad zum Webserver
      log:=Website.LogFileDirectory; // Pfad zur Logdatei
      name:=Website.Name; // Stellenreihnfolge in der Verwaltung

      en:=GetEnvironmentVariable('WINDIR'); // Ermitteln eines Pfades

      if (server<>'') then
      begin
        if (pos('WINDIR',AnsiUpperCase(log))>0) then
        begin
          log:=copy(log,pos('\',log),9999);
          webserver.Add(server + '#' + path + '#' + en + log + '\W3SVC' + name);
          from:=aktiverWebserver(en +log+'\W3SVC'+name,server);
          if (from <> '') then
          begin
            list.Add(from);
          end;

          if (debugmode = True) and (zeigen=True) then
          begin
           FStati.Memo1.Lines.Add('der '+IntToStr(i)+'. Server ist: '+server);
           FStati.Memo1.Lines.Add(' der Pfad zum Server lautet '+path);
           FStati.Memo1.Lines.Add(' die Log datei liegt in '+ en + log + '\W3SVC' + name);
           FStati.Memo1.Lines.Add('');
          end;
        end
        else
        begin
          webserver.Add(server+'#'+path+'#'+log+'\W3SVC'+name);
          from:=aktiverWebserver(log+'\W3SVC'+name,server);
          if (from <> '') then
          begin
            list.Add(from);
          end;

          if (debugmode = True) and (zeigen=True) then
          begin
           FStati.Memo1.Lines.Add('der '+IntToStr(i)+'. Server ist: '+server);
           FStati.Memo1.Lines.Add(' der Pfad zum Server lautet '+path);
           FStati.Memo1.Lines.Add(' die Log datei liegt in '+ log + '\W3SVC' + name);
           FStati.Memo1.Lines.Add('');
          end;
        end;
      end;
    except
    end;
  end;

  if (list.Text <> '') and (testmode = False) then
  begin
    from:=ini.ReadString('Mail','Absender','');
    zu:=ini.ReadString('Mail','Empfaenger','');
    Mail.SendMail(from,zu,'Webserver',list.Text);
  end;
  list.Free;
end;
Es gibt keine dummen Fragen nur dumme Antworten und wer es besserweis der ist selber ein Dummkopf
  Mit Zitat antworten Zitat