Registriert seit: 26. Jan 2009
49 Beiträge
Delphi 6 Personal
|
Re: Webserveranzahl ermitteln
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
|
|
Zitat
|