ActiveDirectoryMembershipProvider Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verwaltet die Speicherung der Mitgliedschaftsinformationen für eine ASP.NET-Anwendung auf Active Directory-Servern sowie auf Active Directory Application Mode-Servern.
public ref class ActiveDirectoryMembershipProvider : System::Web::Security::MembershipProvider
public class ActiveDirectoryMembershipProvider : System.Web.Security.MembershipProvider
type ActiveDirectoryMembershipProvider = class
inherit MembershipProvider
Public Class ActiveDirectoryMembershipProvider
Inherits MembershipProvider
- Vererbung
Beispiele
Die folgenden Codebeispiele zeigen die Web.config-Datei für eine ASP.NET Anwendung, die für die Verwendung eines ActiveDirectoryMembershipProvider instance konfiguriert ist. Das erste Beispiel verwendet die Standardzuordnungen für Active Directory-Attribute und unterstützt weder die Sicherheit zum Zurücksetzen von Kennwörtern mit Frage-und-Antwort noch die Möglichkeit, Suchmethoden aufzurufen. Das zweite Beispiel zeigt alle Attributeinstellungen, die für eine ActiveDirectoryMembershipProvider instance zulässig sind.
Das erste Beispiel ist eine einfache Konfigurationsdatei, die Standardzuordnungen für Active Directory-Attribute verwendet.
<configuration>
<connectionStrings>
<add name="ADService" connectionString="LDAP://ldapServer/" />
</connectionStrings>
<system.web>
<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
<providers>
<add name="AspNetActiveDirectoryMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider,
System.Web, Version=2.0.3600, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
</system.web>
</configuration>
Dieses Beispiel zeigt alle Attributeinstellungen, die für eine instance von ActiveDirectoryMembershipProviderverfügbar sind.
<configuration>
<connectionStrings>
<add name="ADService" connectionString="LDAP://ldapServer/" />
</connectionStrings>
<system.web>
<membership
defaultProvider="AspNetActiveDirectoryMembershipProvider">
<providers>
<add name="AspNetActiveDirectoryMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider,
System.Web, Version=1.0.3600, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADService"
connectionUsername="UserWithAppropriateRights"
connectionPassword="PasswordForUser"
connectionProtection="Secure"
enablePasswordReset="true"
enableSearchMethods="true"
requiresQuestionAndAnswer="true"
applicationName="/"
description="Default AD connection"
requiresUniqueEmail="false"
clientSearchTimeout="30"
serverSearchTimeout="30"
timeoutUnit="Minutes"
attributeMapPasswordQuestion="department"
attributeMapPasswordAnswer="division"
attributeMapFailedPasswordAnswerCount="singleIntAttribute"
attributeMapFailedPasswordAnswerTime="singleLargeIntAttribute"
attributeMapFailedPasswordAnswerLockoutTime="singleLargeIntAttribute"
attributeMapEmail = "mail"
attributeMapUsername = "userPrincipalName"
maxInvalidPasswordAttempts = "5"
passwordAttemptWindow = "10"
passwordAnswerAttemptLockoutDuration = "30"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordStrengthRegularExpression="
@\"(?=.{6,})(?=(.*\d){1,})(?=(.*\W){1,})" />
/>
</providers>
</membership>
</system.web>
</configuration>
clientSearchTimeout
und serverSearchTimeout
standardmäßig minuten. Um die Einheiten zu ändern, legen Sie den timeoutUnit
Attributwert auf "Tage", "Stunden", "Minuten", "Sekunden" oder "Millisekunden" fest. Wenn das Attribut nicht angegeben ist, lautet der Standardwert "Minutes".
Hinweise
Diese Klasse wird von den Membership Klassen und MembershipUser verwendet, um Mitgliedschaftsdienste für eine ASP.NET-Anwendung mithilfe eines Active Directory-Servers (AD) oder eines ADAM-Servers (Active Directory Application Mode) bereitzustellen.
Hinweis
Die Verwendung eines ADAM-Servers erfordert eine bestimmte Konfiguration. Weitere Informationen finden Sie weiter unten im Abschnitt ADAM-Konfiguration.
Wichtig
Die ActiveDirectoryMembershipProvider instance funktioniert nur in der Standardkonfiguration der voll vertrauenswürdigen Richtlinie von ASP.NET. Um die ActiveDirectoryMembershipProvider instance auf jeder teilweise vertrauenswürdigen Ebene verwenden zu können, müssen Sie entweder Änderungen an der entsprechenden Vertrauensrichtliniendatei für Ihre Anwendung vornehmen oder eine Sandboxassembly erstellen, die im GAC bereitgestellt wird.
Die ActiveDirectoryMembershipProvider Klasse erfordert die uneingeschränkte DirectoryServicesPermission Berechtigung zum Ausführen. Diese Berechtigung wird keiner der teilweise vertrauenswürdigen Richtliniendateien hinzugefügt, die mit ASP.NET bereitgestellt werden. Das Hinzufügen der DirectoryServicesPermission Berechtigung zu einer teilweise vertrauenswürdigen Richtliniendatei ermöglicht zwar die Verwendung der ActiveDirectoryMembershipProvider -Klasse, aber dadurch werden die Namespaceklassen für jeden Code verfügbar, der System.DirectoryServices auf Ihren ASP.NET Seiten ausgeführt wird. Diese Option wird nicht für Webserver empfohlen, die in einem sicheren, gesperrten Modus ausgeführt werden müssen.
Alternativ können Sie eine Sandboxassembly erstellen, die die ActiveDirectoryMembershipProvider -Klasse aufruft. Diese Assembly kann entweder eine Wrapperklasse enthalten, die Methodenaufrufe an die ActiveDirectoryMembershipProvider -Klasse weiterleitet, oder eine Klasse, die von der ActiveDirectoryMembershipProvider -Klasse abgeleitet wird. In beiden Fällen muss die Wrapperklasse die uneingeschränkte DirectoryServicesPermission Berechtigung geltend machen. Stellen Sie die Sandboxassembly im GAC bereit, und markieren Sie die Assembly mit dem AllowPartiallyTrustedCallersAttribute APTCA-Attribut. Dadurch können Ihre teilweise vertrauenswürdigen ASP.NET Code Ihre Wrapperklasse aufrufen. Da die Wrapperklasse intern die uneingeschränkte DirectoryServicesPermission Berechtigung angibt, kann Ihre Wrapperklasse den Anbieter erfolgreich aufrufen.
Sie müssen einen ConnectionStrings-Elementeintrag (ASP.NET Einstellungsschema) in der Web.config-Datei erstellen, der den zu verwendenden Active Directory-Server, die Active Directory-Domäne oder die ADAM-Anwendungspartition identifiziert. Der Anbieter wird nur im Domänenbereich oder in einem Unterbereich innerhalb einer Domäne ausgeführt. In der folgenden Tabelle sind zulässige Verbindungszeichenfolgen und der verwendete Bereich aufgeführt.
Verbindungszeichenfolge | Bereich |
---|---|
<LDAP:// Domäne oder Server>:[Port] Die Portnummer ist für ADAM optional und für Active Directory nicht erforderlich. |
Der Anbieter wird für die angegebene Domäne oder den angegebenen Server ausgeführt. Mit AD erfolgt die Benutzererstellung und -löschung im Standardcontainer für Benutzer. Alle anderen Vorgänge, einschließlich suchmethoden, werden im Standardnamenskontext für die Domäne gerootet. Wenn die Verbindungszeichenfolge eine Active Directory-Domäne anstelle eines bestimmten Servers angibt und die EnablePasswordReset Eigenschaft lautet, stellt true der ActiveDirectoryMembershipProvider instance immer eine Verbindung mit dem Server mit der PDC-Rolle für die Domäne her, um sicherzustellen, dass Kennwortänderungen wirksam werden und verfügbar sind, wenn die ValidateUser Methode aufgerufen wird.Diese Verbindungszeichenfolge ist bei Verwendung von ADAM nicht zulässig und löst einen aus NotSupportedException. |
<LDAP:// domäne oder server>:[port]/<container dn> Die Portnummer ist für ADAM optional und für Active Directory nicht erforderlich. |
Der Anbieter wird für die angegebene Domäne oder den angegebenen Server ausgeführt. Die Benutzererstellung und -löschung erfolgt nur im angegebenen Container. Alle anderen Vorgänge, einschließlich suchmethoden, führen Unterstruktursuchen durch, die im Container verwurzelt sind. Bei ADAM-Servern gibt der Container den Stamm einer Anwendungspartition oder eines Containers innerhalb einer Anwendungspartition an. Es wird empfohlen, dass die Verbindungszeichenfolge einen bestimmten Container definiert, um die Leistung zu verbessern. |
Die ActiveDirectoryMembershipProvider instance ordnet Verzeichnisattribute Eigenschaften zuActiveDirectoryMembershipUser. Standardattribute werden verwendet, wenn in der Web.config-Datei keine Attributzuordnung durchgeführt wird. Weitere Informationen zu Attributzuordnungen finden Sie in den einzelnen Eigenschaften in der ActiveDirectoryMembershipUser Klassendokumentation.
In der folgenden Tabelle sind die ActiveDirectoryMembershipUser Eigenschaften und ihre Standardattributezuordnungen aufgeführt.
Wichtig
Die ActiveDirectoryMembershipProvider -Klasse überprüft nicht explizit, ob Anbieterattribute nicht den Kernattributen des Benutzerobjekts im Verzeichnis zugeordnet sind. Sie müssen sicherstellen, dass vertrauliche Informationen aus dem Verzeichnis nicht über zugeordnete Attribute verfügbar gemacht werden.
Eigenschaft | Standardverzeichnisattribute | Kann zugeordnet werden? |
---|---|---|
ProviderUserKey | securityIdentifier | Nein |
UserName | userPrincipalName | Ja, muss aber entweder userPrincipalName oder sAMAccountName sein. |
Comment | comment | Nein |
CreationDate | whenCreated | Nein |
Ja, aber es muss sich um ein einwertiges Attribut vom Typ Unicode String handeln. | ||
LastActivityDate | – | Wird von ActiveDirectoryMembershipProvidernicht unterstützt. |
LastLoginDate | – | Wird von ActiveDirectoryMembershipProvidernicht unterstützt. |
LastPasswordChangedDate | pwdLastSet | Nein |
PasswordQuestion | Keine | Ja, aber es muss sich um ein einwertiges Attribut vom Typ Unicode String handeln. |
IsApproved | User-Account-Control (AD) mDS-UserAccountDisabled (ADAM) |
Nein |
IsLockedOut | berechnet aus lockoutTime und der AD-Sperrdauer (AD unter Windows 2000) msDS-User-Account-Control-Computed (AD unter Windows Server 2003) msDS-User-Account-Control-Computed (ADAM) |
Nein |
LastLockoutDate | Wenn der Benutzer aufgrund zu vieler fehlerhafter Kennwortversuche gesperrt ist, wird das Lockout-Time-Attribut zurückgegeben. Wenn der Benutzer aufgrund zu vieler fehlerhafter Kennwortantwortversuche gesperrt ist, wird der wert zurückgegeben, der im von definierten attributeMapFailedPasswordAnswerLockoutTime Attribut gespeichert ist.Wenn der Benutzer sowohl aufgrund eines ungültigen Kennworts als auch aufgrund zu vieler fehlerhafter Kennwortversuche gesperrt ist, wird der neueste Datums-/Uhrzeitwert zurückgegeben. Wenn das Konto nicht gesperrt ist, geben Sie den 1.1.1754 für SQL-Kompatibilität zurück. |
Nein |
Wenn sowohl die RequiresQuestionAndAnswer -Eigenschaft als EnablePasswordReset auch die -Eigenschaft sind true
, unterstützt die -Klasse die ActiveDirectoryMembershipProvider Sicherheit zum Zurücksetzen von Kennwörtern, indem der Benutzer eine vorab festgelegte Frage beantworten muss. Um die Frage und Die Antwort zu unterstützen, müssen Sie die folgenden Konfigurationsattribute festlegen, indem Sie das Element für Anbieter für die Mitgliedschaft hinzufügen (ASP.NET Einstellungsschema) in der Anwendungskonfigurationsdatei verwenden.
Konfigurationsattribute | Attributtyp |
---|---|
attributeMapPasswordQuestion |
Muss ein einwertiges Attribut vom Typ Unicode String sein. |
attributeMapPasswordAnswer |
Muss ein einwertiges Attribut vom Typ Unicode String sein. |
attributeMapFailedPasswordAnswerCount |
Muss ein einwertiges Attribut vom Typ Integer sein. |
attributeMapFailedPasswordAnswerTime |
Muss ein einwertiges Attribut vom Typ Large Integer/Interval sein. |
attributeMapFailedPasswordAnswerLockoutTime |
Muss ein einwertiges Attribut vom Typ Large Integer/Interval sein. |
Weitere Informationen zur Verwendung der Kennwortzurücksetzungssicherheit finden Sie in der RequiresQuestionAndAnswer -Eigenschaft.
Active Directory-Verbindungen
Wenn die ActiveDirectoryMembershipProvider -Klasse zum Herstellen einer Verbindung mit einem Active Directory- oder ADAM-Server (Active Directory Application Mode) verwendet wird, kann das Attribut, das connectionProtection
mithilfe des add Element for providers for membership (ASP.NET Settings Schema) in der Anwendungskonfigurationsdatei festgelegt wird, die Arten von Vorgängen einschränken, die die ActiveDirectoryMembershipProvider Klasse über die Verbindung ausführen kann. Das connectionProtection
Attribut bestimmt auch die Methoden, die der ActiveDirectoryMembershipProvider instance zum Herstellen der Verbindung mit dem Active Directory- oder ADAM-Server verwendet.
Die folgende Tabelle zeigt die Auswirkungen des Attributs connectionProtection
beim Herstellen einer Verbindung mit einem Active Directory.
connectionProtection -Einstellung |
Auswirkung |
---|---|
None | Die ActiveDirectoryMembershipProvider -Klasse stellt mit diesen Einschränkungen eine Verbindung mit einem Active Directory her. – Jede Methode, die ein Kennwort festlegt, schlägt fehl. Active Directory erfordert eine sichere Verbindung beim Ändern von Kennwörtern. – Sie müssen die connectionUsername Attribute und connectionPassword explizit festlegen, indem Sie das Add-Element für Anbieter für die Mitgliedschaft (ASP.NET Einstellungsschema) in der Anwendungskonfigurationsdatei verwenden. Andernfalls löst der ActiveDirectoryMembershipProvider instance eine Ausnahme ausProviderException. |
Secure |
Die ActiveDirectoryMembershipProvider -Klasse versucht, mithilfe von SSL eine Verbindung mit Active Directory herzustellen. Wenn SSL fehlschlägt, wird ein zweiter Versuch unternommen, eine Verbindung mit Active Directory mithilfe von Sign-and-Seal herzustellen. Wenn beide Versuche fehlschlagen, löst der ActiveDirectoryMembershipProvider instance eine Ausnahme ausProviderException. Sowohl Prozessanmeldeinformationen als auch explizite Anmeldeinformationen werden unterstützt. |
Die folgende Tabelle zeigt die Auswirkungen des Attributs connectionProtection
beim Herstellen einer Verbindung mit einem ADAM-Server.
connectionProtection -Einstellung |
Auswirkung |
---|---|
None | Die ActiveDirectoryMembershipProvider -Klasse stellt mit dieser Einschränkung eine Verbindung mit einem ADAM-Server her. – Jede Methode, die Kennwörter festlegt, schlägt fehl, es sei denn, Sie konfigurieren den ADAM-Server explizit so, dass Kennwörter über eine unsichere Verbindung gesendet und geändert werden können. Sowohl Prozessanmeldeinformationen als auch explizite Anmeldeinformationen werden unterstützt. |
Secure |
Die ActiveDirectoryMembershipProvider -Klasse versucht, mithilfe von SSL eine Verbindung mit dem ADAM-Server herzustellen. Wenn keine Verbindung hergestellt werden kann, löst der ActiveDirectoryMembershipProvider instance eine Ausnahme ausProviderException. Sowohl Prozessanmeldeinformationen als auch explizite Anmeldeinformationen werden unterstützt. |
ADAM-Konfiguration
Bei Verwendung eines ADAM-Servers muss die ADAM-instance ein Schema enthalten, das die User
Klasse definiert. Sie können die User
Klasse mit einem LDIF-Import der Datei importieren, die MS-User.ldf
im ADAM-Installationsverzeichnis verfügbar ist.
Die ActiveDirectoryMembershipProvider -Klasse funktioniert mit einem ADAM-Server, der für die Verwendung der Standardnetzwerkports konfiguriert ist. Die folgende Tabelle zeigt die für den ADAM-Server erwarteten Standardwerte.
connectionProtection-Einstellung | Erwarteter ADAM-Port |
---|---|
None | 389 |
Secure |
636 |
Konstruktoren
ActiveDirectoryMembershipProvider() |
Erstellt eine neue Instanz der ActiveDirectoryMembershipProvider-Klasse. |
Eigenschaften
ApplicationName |
Der Name der Anwendung, die den benutzerdefinierten Mitgliedschaftsanbieter verwendet. |
CurrentConnectionProtection |
Ruft die aktuelle Sicherheitsebene ab, die zum Schutz der Kommunikation mit dem Server verwendet wird. |
Description |
Ruft eine kurze, benutzerfreundliche Beschreibung ab, die für die Anzeige in Verwaltungstools oder anderen Benutzeroberflächen geeignet ist. (Geerbt von ProviderBase) |
EnablePasswordReset |
Ruft einen Wert ab, der angibt, ob die ActiveDirectoryMembershipProvider-Instanz so konfiguriert ist, dass Benutzer ihre Kennwörter zurücksetzen können. |
EnablePasswordRetrieval |
Ruft einen Wert ab, der angibt, ob das Benutzerkennwort aus dem Active Directory-Datenspeicher abgerufen werden kann. Diese Eigenschaft gibt immer |
EnableSearchMethods |
Ruft einen Wert ab, der angibt, ob suchorientierte ActiveDirectoryMembershipProvider-Methoden verfügbar sind. |
MaxInvalidPasswordAttempts |
Ruft die Anzahl fehlgeschlagener Antwortversuche ab, die für den Benutzer bei der Frage zum Zurücksetzen des Kennworts zulässig sind. |
MinRequiredNonAlphanumericCharacters |
Ruft die minimale Anzahl von Sonderzeichen ab, die ein gültiges Kennwort enthalten muss. |
MinRequiredPasswordLength |
Ruft die minimale erforderliche Länge für ein Kennwort ab. |
Name |
Ruft den Anzeigennamen ab, der verwendet wird, um während der Konfiguration auf den Anbieter zu verweisen. (Geerbt von ProviderBase) |
PasswordAnswerAttemptLockoutDuration |
Ruft den Zeitraum ab, für den ein Benutzerkonto gesperrt ist, nachdem der Benutzer zu viele falsche Kennwortantwortversuche unternommen hat. |
PasswordAttemptWindow |
Ruft das Zeitfenster ab, in dem aufeinander folgende fehlerhafte Versuche, ein gültiges Kennwort oder eine gültige Kennwortantwort bereitzustellen, nachverfolgt werden. |
PasswordFormat |
Ruft einen Wert ab, der das Format von Kennwörtern im Active Directory-Datenspeicher angibt. |
PasswordStrengthRegularExpression |
Ruft den regulären Ausdruck ab, der zum Auswerten eines Kennworts verwendet wird. |
RequiresQuestionAndAnswer |
Ruft einen Wert ab, der angibt, ob der Mitgliedschaftsanbieter so konfiguriert ist, dass beim Erstellen eines Benutzers eine Kennwortfrage und -antwort erforderlich sind. |
RequiresUniqueEmail |
Ruft einen Wert ab, der angibt, ob eine auf dem Active Directory-Server gespeicherte E-Mail-Adresse eindeutig sein muss. |
Methoden
ChangePassword(String, String, String) |
Ändert das Kennwort für den angegebenen Benutzer. |
ChangePasswordQuestionAndAnswer(String, String, String, String) |
Aktualisiert die Kennwortfrage und -antwort für einen Benutzer im Active Directory-Speicher. |
CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) |
Fügt dem Active Directory-Datenspeicher einen neuen Benutzer hinzu. |
DecryptPassword(Byte[]) |
Entschlüsselt ein verschlüsseltes Kennwort. (Geerbt von MembershipProvider) |
DeleteUser(String, Boolean) |
Entfernt die Mitgliedschaftsinformationen eines Benutzers aus dem Active Directory-Datenspeicher. |
EncryptPassword(Byte[]) |
Verschlüsselt ein Kennwort. (Geerbt von MembershipProvider) |
EncryptPassword(Byte[], MembershipPasswordCompatibilityMode) |
Verschlüsselt das angegebene Kennwort mithilfe des angegebenen Kennwortkompatibilitätsmodus. (Geerbt von MembershipProvider) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FindUsersByEmail(String, Int32, Int32, Int32) |
Gibt anhand der E-Mail-Adresse des Benutzers eine Auflistung von Mitgliedschaftsbenutzern aus dem Active Directory-Datenspeicher zurück. |
FindUsersByName(String, Int32, Int32, Int32) |
Gibt eine Auflistung von Benutzern aus dem Active Directory-Datenspeicher anhand der Benutzernamen zurück. |
GeneratePassword() |
Generiert ein zufälliges Kennwort. |
GetAllUsers(Int32, Int32, Int32) |
Ruft eine Auflistung aller in einer Active Directory-Datenquelle gespeicherten Benutzer ab. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetNumberOfUsersOnline() |
Löst in allen Fällen eine NotSupportedException-Ausnahme aus. |
GetPassword(String, String) |
Gibt das Kennwort des angegebenen Benutzers aus der Datenbank zurück. Die ActiveDirectoryMembershipProvider-Klasse unterstützt diese Methode nicht. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
GetUser(Object, Boolean) |
Ruft die dem angegebenen Benutzerschlüssel zugeordneten Mitgliedschaftsbenutzerinformationen ab. |
GetUser(String, Boolean) |
Ruft die dem angegebenen Benutzernamen zugeordneten Mitgliedschaftsbenutzerinformationen ab. |
GetUserNameByEmail(String) |
Ruft den Benutzernamen ab, der der angegebenen E-Mail-Adresse zugeordnet ist. |
Initialize(String, NameValueCollection) |
Initialisiert die ActiveDirectoryMembershipProvider-Instanz mit den Eigenschaftswerten aus den Konfigurationsdateien der Anwendung. Diese Methode ist nicht für den Aufruf aus dem Code heraus bestimmt. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
OnValidatingPassword(ValidatePasswordEventArgs) |
Löst das ValidatingPassword-Ereignis aus, wenn ein Ereignishandler definiert wurde. (Geerbt von MembershipProvider) |
ResetPassword(String, String) |
Setzt das Kennwort eines Benutzers auf ein neues, automatisch generiertes Kennwort zurück. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
UnlockUser(String) |
Hebt eine Sperre auf, sodass ein Mitgliedschaftsbenutzer überprüft werden kann. |
UpdateUser(MembershipUser) |
Aktualisiert Informationen zu einem Benutzer im Active Directory-Datenspeicher. |
ValidateUser(String, String) |
Überprüft, ob der angegebene Benutzername und das angegebene Kennwort im Active Directory-Datenspeicher vorhanden sind. |
Ereignisse
ValidatingPassword |
Tritt auf, wenn ein Benutzer erstellt, ein Kennwort geändert oder ein Kennwort zurückgesetzt wird. (Geerbt von MembershipProvider) |
Gilt für:
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für