Das PowerShell ActiveDirectory Modul scheint nicht Thread-sicher zu sein.
Wir verwenden innerhalb eines Dienstes, der in .NET geschrieben ist, einen PowerShell Runspace (NuGet-Paket "System.Management.Automation.dll"), der ein PowerShell-Skript ausführt, das wiederum per Active Directory Web Services (ADWS) auf Active Directory zugreift und dort LDAP-Anfragen durchführt.
Unser Dienst hat mehrere Threads, damit Abfragen parallel abgearbeitet werden können. Wenn nun zwei Threads einen Active Directory-Aufruf machen (wie zum Beispiel mit Hilfe des Get-ADUser Cmdlets), dann bricht Active Directory Web Services (ADWS) mit einer SOAP-Ausnahme "invalid enumeration context" ab.
Haben wir vielleicht den Windows Domänen-Controller falsch konfiguriert? Oder ist das ein Fehler, der an Microsoft gemeldet werden kann? Wo würde ich diesen Fehler melden?
Ich habe auf GitHub ein Repository mit einem Beispiel-Konsolenprogramm angelegt, damit man den Fehler leicht nachvollziehen kann. Auch habe ich beiUserVoice einen "Vorschlag" eingereicht.