Einzelnen Beitrag anzeigen

scp

Registriert seit: 31. Okt 2003
1.120 Beiträge
 
Delphi 7 Personal
 
#4

Re: Datenträger-Kontingent für Active Directory-Benutzer änd

  Alt 18. Jul 2005, 17:32
So, hat sich erledigt, hier das Ergebnis:

Wichtige Interfaces:
DiskQuotaControl
DIDiskQuotaUser

Zu bekommen über:
- Projekt... -> Typbibliothek importieren -> "DiskQuotaTypeLibrary (Version 1.0)" -> Installieren...
- Wenn "DiskQuotaTypeLibrary (Version 1.0)" nicht vorhanden ist, dann einfach die "dskquota.dll" über "Hinzufügen..." wählen.

Test:
- TDiskQuotaControl, ein Button und drei Labels benötigt
Delphi-Quellcode:
// DiskQuotaControl from dskquota.dll
procedure TForm1.Button1Click(Sender: TObject);
var
  objUser: DIDiskQuotaUser;
  QuotaLimit,
  QuotaUsed: Extended;
  PercentageQuotaUsed: Integer;
  VolumeName: WideString;
const
  domain = 'mydomain';
  username = 'AUser';
begin
  // Remote
  //VolumeName := '\\server\c$\';
  // Local
  VolumeName := 'C:\';

  DiskQuotaControl1.Initialize(VolumeName, true);

  objUser := DiskQuotaControl1.FindUser(domain + '\' + username);

  // Kontingent des Benutzer abfragen (in MB umgerechnet)
  QuotaLimit := objUser.QuotaLimit / 1048576;
  QuotaUsed := objUser.QuotaUsed / 1048576;

  If objUser.QuotaLimit > 0 then
    PercentageQuotaUsed := Round(100*(objUser.QuotaUsed / objUser.QuotaLimit ))
  else
    PercentageQuotaUsed := 0;

  Label1.Caption := FloatToStr(QuotaLimit) + ' (' + FloatToStr(objUser.QuotaLimit) + ')';
  Label2.Caption := FloatToStr(QuotaUsed) + ' (' + FloatToStr(objUser.QuotaUsed ) + ')';
  Label3.Caption := IntToStr(PercentageQuotaUsed) + '%';

  // Setzt das Kontingent des Benutzer
  //objUser.QuotaLimit := 50 * 1048576;
end;
EDIT:
Und hier noch was schönes zu Active Directory:
Active Directory in Delphi
  Mit Zitat antworten Zitat