![]() |
Datenträger-Kontingent für Active Directory-Benutzer ändern
Gibt es dazu eine API?
Hintergrund: Die AD-Benutzer auf unserem 2000 Server sind zwar schön in einer Baumstruktur unterteilt, möchte ich aber per Rechtsklick auf einen Datenträger das Kontingent für eine gesamte Gruppe ändern, geht dies nicht, da er mir gleich alle 4000+ Benutzer in die Liste schleudert. |
Re: Datenträger-Kontingent für Active Directory-Benutzer änd
Das Active Directory wird üblicherweise mit VB- oder Java-Scripts bearbeitet.
![]() |
Re: Datenträger-Kontingent für Active Directory-Benutzer änd
Danke, das ist schon mal ein guter Ausgangspunkt, lässt sich sicherlich in Delphi portieren. Nur leider finde ich eben keine Funktion fürs Kontingent-Management, wie heisst das denn auf Englisch? Ja, ich weis: contingent, aber hat MS das in 2000 Server auch so genannt?
EDIT: Ein Kommandozeilen-Tool hab ich jetzt schonmal gefunden und damit auch die englische Bezeichnung:
Code:
C:\>fsutil quota modify /?
Syntax : fsutil quota modify <Volumepfadname> <Schwellenwert> <Limit> <Benutzer> Beispiel : fsutil quota modify c: 3000 5000 Domäne\Benutzer C:\> |
Re: Datenträger-Kontingent für Active Directory-Benutzer änd
So, hat sich erledigt, hier das Ergebnis:
Wichtige Interfaces: ![]() ![]() 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:
EDIT:
// 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; Und hier noch was schönes zu Active Directory: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz