diff --git a/DDUserManager/DDUserManager/ClassActiveDirectory.vb b/DDUserManager/DDUserManager/ClassActiveDirectory.vb
deleted file mode 100644
index 8138932..0000000
--- a/DDUserManager/DDUserManager/ClassActiveDirectory.vb
+++ /dev/null
@@ -1,230 +0,0 @@
-Imports System.DirectoryServices
-Imports System.DirectoryServices.AccountManagement
-
-Public Class ClassActiveDirectory
- Private Shared logger As NLog.Logger = NLog.LogManager.GetCurrentClassLogger()
-
- Private Shared excludedGroupNames As New List(Of String) From {
- "Abgelehnte",
- "DHCP",
- "Distributed COM",
- "Dns",
- "Domänen-Gäste",
- "Domänencomput",
- "Domänencontroller",
- "Druck",
- "Einstellungen eingehender",
- "Erstellungen",
- "Ereignis",
- "Gäst",
- "Hyper-V",
- "IIS_",
- "Klonbare",
- "Konten-Oper",
- "Kryptografie",
- "Leistungs",
- "Netzwerkskon",
- "PrivUser",
- "Protected User",
- "Prä-Windows",
- "RAS- und IAS-Server",
- "RDS-",
- "Remoteverwaltungs",
- "Replikations",
- "Reporting",
- "Richtlinien-Ersteller",
- "SQLAccess",
- "Schreibgeschützte Domänen",
- "Schlüsseladministratoren",
- "Server-Operatore",
- "Sicherungs",
- "Storage",
- "System Managed",
- "Terminalserver-Liz",
- "WinRMR",
- "Windows-Auth",
- "Unternehme",
- "Zertifikat",
- "Zugriffssteuerungs",
- "Zulässige"
- }
-
- Public Class GroupResult
- Public SAMAccountName As String
- Public ObjectClass As String
- Public CN As String
- Public Description As String
- Public DistinguishedName As String
- Public Name As String
- Public ObjectCategory As String
-
- Public Overrides Function ToString() As String
- Return $"SAMAccountName={SAMAccountName}, ObjectClass={ObjectClass}, CN={CN}, Description={Description}, DistinguishedName={DistinguishedName}, Name={Name}, ObjectCategory={ObjectCategory}"
- End Function
- End Class
-
- Public Shared Function ConnectionTest(path As String)
- Try
- Dim de As New DirectoryEntry(path)
- de.Username = Nothing
- de.Password = Nothing
- de.AuthenticationType = AuthenticationTypes.Secure
- de.RefreshCache()
-
- Return True
- Catch ex As Exception
- MsgBox($"Verbindungstest fehlgeschlagen. Bitte überprüfen sie den ActiveDirectory Pfad. Der zurückgelieferte Fehler lautet:{vbCrLf}{ex.Message}", MsgBoxStyle.Exclamation)
- logger.Error(ex, $"Connection Test failed for path '{path}'")
- Return False
- End Try
- End Function
-
- Private Shared Function GetDirectoryEntry()
- Dim de As New DirectoryEntry(ActiveDirectoryRootNode)
- de.Username = Nothing
- de.Password = Nothing
- de.AuthenticationType = AuthenticationTypes.Secure
-
- Return de
- End Function
-
- Public Shared Function GetDirectorySearch(rootNode As DirectoryEntry) As DirectorySearcher
- Dim dirEntry As DirectoryEntry = GetDirectoryEntry()
- Dim dirSearcher As DirectorySearcher = New DirectorySearcher(dirEntry)
- Return dirSearcher
- End Function
-
- Public Shared Function GetActiveDirectoryGroups(Optional query As String = "(&(objectClass=group) (samAccountName=*))") As List(Of GroupResult)
- Dim groups As New List(Of GroupResult)
- Dim deSearch = GetDirectorySearch(GetDirectoryEntry())
-
- deSearch.SearchScope = SearchScope.Subtree
- deSearch.Filter = query
- deSearch.SizeLimit = 50000
-
- Dim results As SearchResultCollection = deSearch.FindAll()
- For Each r As SearchResult In results
- Try
- Dim groupName, objectClass, cn, description, distinguishedName, name, objectCategory As String
- Try
- groupName = r.Properties.Item("samaccountname").Item(0)
- Catch ex As Exception
- logger.Error(ex)
- groupName = ""
- End Try
- Try
- objectClass = r.Properties.Item("objectClass").Item(0)
- Catch ex As Exception
- logger.Error(ex)
- objectClass = ""
- End Try
- Try
- cn = r.Properties.Item("cn").Item(0)
- Catch ex As Exception
- logger.Error(ex)
- cn = ""
- End Try
- Try
- description = r.Properties.Item("description").Item(0)
- Catch ex As Exception
- logger.Error(ex)
- description = ""
- End Try
- Try
- distinguishedName = r.Properties.Item("distinguishedName").Item(0)
- Catch ex As Exception
- logger.Error(ex)
- distinguishedName = ""
- End Try
- Try
- name = r.Properties.Item("name").Item(0)
- Catch ex As Exception
- logger.Error(ex)
- name = ""
- End Try
- Try
- objectCategory = r.Properties.Item("objectCategory").Item(0)
- Catch ex As Exception
- logger.Error(ex)
- objectCategory = ""
- End Try
-
- 'If Not String.IsNullOrEmpty(groupName) Then
- ' Dim isExcluded = excludedGroupNames.Where(Function(excludedGroup)
- ' Return (groupName.Contains(excludedGroup) Or groupName.StartsWith(excludedGroup))
- ' End Function).Any()
-
- ' If Not isExcluded Then
- ' groups.Add(New GroupResult() With {
- ' .SAMAccountName = groupName,
- ' .CN = cn,
- ' .Description = description,
- ' .DistinguishedName = distinguishedName,
- ' .Name = name,
- ' .ObjectCategory = objectCategory,
- ' .ObjectClass = objectClass
- ' })
- ' End If
- 'End If
-
- logger.Info("Adding Group '{0}'", groupName)
-
- 'If Not String.IsNullOrEmpty(groupName) Then
- groups.Add(New GroupResult() With {
- .SAMAccountName = groupName,
- .CN = cn,
- .Description = description,
- .DistinguishedName = distinguishedName,
- .Name = name,
- .ObjectCategory = objectCategory,
- .ObjectClass = objectClass
- })
- 'End If
-
- Catch ex As Exception
- logger.Error(ex)
- Continue For
- End Try
- Next
-
- Return groups
- End Function
-
- Public Shared Function GetActiveDirectoryUsersForGroup(groupName As String) As List(Of ADUser)
- 'Dim users As New List(Of UserPrincipal)
- Dim users As New List(Of ADUser)
-
- Using context As New PrincipalContext(ContextType.Domain)
- Using group As GroupPrincipal = GroupPrincipal.FindByIdentity(context, IdentityType.Name, groupName)
- Using members = group.GetMembers(True)
-
- For Each member As UserPrincipal In members
- If TypeOf member Is UserPrincipal Then
- 'users.Add(member)
-
- users.Add(New ADUser() With {
- .Username = member.SamAccountName,
- .Surname = member.Surname,
- .GivenName = member.GivenName,
- .MiddleName = member.MiddleName,
- .Email = member.EmailAddress
- })
- End If
- Next
-
- End Using
- End Using
- End Using
-
- Return users
- End Function
-
- Public Class ADUser
- Public Username As String
- Public Surname As String
- Public GivenName As String
- Public MiddleName As String
- Public Email As String
- Public Path As String
- End Class
-End Class
diff --git a/DDUserManager/DDUserManager/DDUserManager.vbproj b/DDUserManager/DDUserManager/DDUserManager.vbproj
index c4fbbd6..2db510a 100644
--- a/DDUserManager/DDUserManager/DDUserManager.vbproj
+++ b/DDUserManager/DDUserManager/DDUserManager.vbproj
@@ -51,14 +51,15 @@
user.ico
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
..\..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll
@@ -108,7 +109,6 @@
-
@@ -117,10 +117,16 @@
True
DS_ChangeS.xsd
-
- frmADDebug.vb
+
+ frmADDebug_Groups.vb
-
+
+ Form
+
+
+ frmADDebug_Users.vb
+
+
Form
@@ -175,8 +181,11 @@
-
- frmADDebug.vb
+
+ frmADDebug_Groups.vb
+
+
+ frmADDebug_Users.vb
frmConfigDatabase.vb
diff --git a/DDUserManager/DDUserManager/DDUserManager.vbproj.bak b/DDUserManager/DDUserManager/DDUserManager.vbproj.bak
new file mode 100644
index 0000000..0f423b1
--- /dev/null
+++ b/DDUserManager/DDUserManager/DDUserManager.vbproj.bak
@@ -0,0 +1,297 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {87122913-C196-46BC-A7CD-27F7E201E55F}
+ WinExe
+ DDUserManager.My.MyApplication
+ DDUserManager
+ DDUserManager
+ 512
+ WindowsForms
+ v4.6.1
+ true
+
+
+
+ AnyCPU
+ true
+ full
+ true
+ true
+ bin\Debug\
+ DDUserManager.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ AnyCPU
+ pdbonly
+ false
+ true
+ true
+ bin\Release\
+ DDUserManager.xml
+ 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022
+
+
+ On
+
+
+ Binary
+
+
+ Off
+
+
+ On
+
+
+ user.ico
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ..\..\..\DDMonorepo\Modules.Config\bin\Debug\DigitalData.Modules.Config.dll
+
+
+ ..\..\..\DDMonorepo\Modules.Database\bin\Debug\DigitalData.Modules.Database.dll
+
+
+ ..\..\..\DDMonorepo\Modules.Filesystem\bin\Debug\DigitalData.Modules.Filesystem.dll
+
+
+ ..\..\..\DDMonorepo\Modules.Interfaces\bin\Debug\DigitalData.Modules.Interfaces.dll
+
+
+ ..\..\..\DDMonorepo\Modules.Logging\bin\Debug\DigitalData.Modules.Logging.dll
+
+
+ P:\Visual Studio Projekte\Bibliotheken\NLog\NLog.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+ DS_ChangeS.xsd
+
+
+ frmADDebug_Groups.vb
+
+
+ Form
+
+
+ frmADDebug_Users.vb
+
+
+ Form
+
+
+ frmConfigDatabase.vb
+
+
+ Form
+
+
+ frmADImport_Groups.vb
+
+
+ Form
+
+
+ frmADImport_Users.vb
+
+
+ Form
+
+
+ Form
+
+
+ frmMain.vb
+ Form
+
+
+
+
+ True
+ Application.myapp
+
+
+ True
+ True
+ Resources.resx
+
+
+ True
+ Settings.settings
+ True
+
+
+
+ True
+ True
+ UserDataSet.xsd
+
+
+ UserDataSet.xsd
+
+
+
+
+ frmADDebug_Groups.vb
+
+
+ frmADDebug_Users.vb
+
+
+ frmConfigDatabase.vb
+
+
+ frmADImport_Groups.vb
+
+
+ frmADImport_Users.vb
+
+
+ frmMain.vb
+ Designer
+
+
+
+ VbMyResourcesResXFileCodeGenerator
+ My.Resources
+ Designer
+ Resources.Designer.vb
+
+
+
+
+ DS_ChangeS.xsd
+
+
+ Designer
+ MSDataSetGenerator
+ DS_ChangeS.Designer.vb
+
+
+ DS_ChangeS.xsd
+
+
+ MyApplicationCodeGenerator
+ Application.Designer.vb
+
+
+ SettingsSingleFileGenerator
+ My
+ Settings.Designer.vb
+
+
+
+ UserDataSet.xsd
+
+
+ Designer
+ MSDataSetGenerator
+ UserDataSet.Designer.vb
+
+
+ UserDataSet.xsd
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/My Project/licenses.licx b/DDUserManager/DDUserManager/My Project/licenses.licx
index 4308626..824a99f 100644
--- a/DDUserManager/DDUserManager/My Project/licenses.licx
+++ b/DDUserManager/DDUserManager/My Project/licenses.licx
@@ -1 +1 @@
-DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v15.2, Version=15.2.16.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
+DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v18.1, Version=18.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/DDUserManager/DDUserManager/My Project/licenses.licx.bak b/DDUserManager/DDUserManager/My Project/licenses.licx.bak
new file mode 100644
index 0000000..4308626
--- /dev/null
+++ b/DDUserManager/DDUserManager/My Project/licenses.licx.bak
@@ -0,0 +1 @@
+DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v15.2, Version=15.2.16.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
diff --git a/DDUserManager/DDUserManager/UserConfig.vb b/DDUserManager/DDUserManager/UserConfig.vb
index 0253d7e..6db245b 100644
--- a/DDUserManager/DDUserManager/UserConfig.vb
+++ b/DDUserManager/DDUserManager/UserConfig.vb
@@ -1,11 +1,11 @@
Imports DigitalData.Modules.Config
-Imports DigitalData.Modules.Filesystem
+Imports DigitalData.Modules.Interfaces
Public Class UserConfig
Public Property ConnectionString As String = ""
Public Property LogErrorsOnly As Boolean = True
- Public Property AdGroupFilter As String = "(&(objectClass=group) (samAccountName=*))"
- Public Property AdUserFilter As String = ""
- Public Property ActiveDirectoryRootNode As String = $"LDAP://{Environment.UserDomainName}"
+ Public Property AdGroupFilter As String = ActiveDirectoryInterface.DEFAULT_GROUP_FILTER
+ Public Property AdUserFilter As String = ActiveDirectoryInterface.DEFAULT_USER_FILTER
+ Public Property AdRootPath As String = $"LDAP://{Environment.UserDomainName}"
End Class
diff --git a/DDUserManager/DDUserManager/frmADDebug.vb b/DDUserManager/DDUserManager/frmADDebug.vb
deleted file mode 100644
index 82f1ade..0000000
--- a/DDUserManager/DDUserManager/frmADDebug.vb
+++ /dev/null
@@ -1,17 +0,0 @@
-Imports DDUserManager.ClassActiveDirectory
-
-Public Class frmADDebug
- Public Property DebugData As List(Of GroupResult)
-
- Private Sub frmADDebug_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Dim table As New UserDataSet.TBLOCAL_DEBUG_GROUPSDataTable()
-
- For Each group In DebugData
- table.AddTBLOCAL_DEBUG_GROUPSRow(group.SAMAccountName, group.CN, group.ObjectClass, group.ObjectCategory, group.Description, group.DistinguishedName, group.Name)
- Next
-
-
- Me.Text = $"{table.Rows.Count} Gruppen"
- GridControl1.DataSource = table
- End Sub
-End Class
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/frmADDebug.Designer.vb b/DDUserManager/DDUserManager/frmADDebug_Groups.Designer.vb
similarity index 80%
rename from DDUserManager/DDUserManager/frmADDebug.Designer.vb
rename to DDUserManager/DDUserManager/frmADDebug_Groups.Designer.vb
index b06fb40..b205ea5 100644
--- a/DDUserManager/DDUserManager/frmADDebug.Designer.vb
+++ b/DDUserManager/DDUserManager/frmADDebug_Groups.Designer.vb
@@ -1,9 +1,9 @@
- _
-Partial Class frmADDebug
+
+Partial Class frmADDebug_Groups
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
- _
+
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
@@ -20,7 +20,7 @@ Partial Class frmADDebug
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
- _
+
Private Sub InitializeComponent()
Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
@@ -34,8 +34,8 @@ Partial Class frmADDebug
Me.GridControl1.Location = New System.Drawing.Point(0, 0)
Me.GridControl1.MainView = Me.GridView1
Me.GridControl1.Name = "GridControl1"
- Me.GridControl1.Size = New System.Drawing.Size(800, 450)
- Me.GridControl1.TabIndex = 1
+ Me.GridControl1.Size = New System.Drawing.Size(284, 261)
+ Me.GridControl1.TabIndex = 0
Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
'
'GridView1
@@ -43,14 +43,11 @@ Partial Class frmADDebug
Me.GridView1.GridControl = Me.GridControl1
Me.GridView1.Name = "GridView1"
'
- 'frmADDebug
+ 'frmADDebug_Groups
'
- Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
- Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
- Me.ClientSize = New System.Drawing.Size(800, 450)
+ Me.ClientSize = New System.Drawing.Size(284, 261)
Me.Controls.Add(Me.GridControl1)
- Me.Name = "frmADDebug"
- Me.Text = "frmADDebug"
+ Me.Name = "frmADDebug_Groups"
CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
diff --git a/DDUserManager/DDUserManager/frmADDebug.resx b/DDUserManager/DDUserManager/frmADDebug_Groups.resx
similarity index 100%
rename from DDUserManager/DDUserManager/frmADDebug.resx
rename to DDUserManager/DDUserManager/frmADDebug_Groups.resx
diff --git a/DDUserManager/DDUserManager/frmADDebug_Groups.vb b/DDUserManager/DDUserManager/frmADDebug_Groups.vb
new file mode 100644
index 0000000..a329d5b
--- /dev/null
+++ b/DDUserManager/DDUserManager/frmADDebug_Groups.vb
@@ -0,0 +1,18 @@
+Imports DigitalData.Modules.Interfaces
+
+Public Class frmADDebug_Groups
+ Public Property DebugData As List(Of ADGroup)
+
+ Private Sub frmADDebug_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ Dim table As New UserDataSet.TBLOCAL_DEBUG_GROUPSDataTable()
+
+ For Each oGroup In DebugData
+ table.AddTBLOCAL_DEBUG_GROUPSRow(oGroup.SAMAccountName, oGroup.CN, oGroup.ObjectClass, oGroup.ObjectCategory, oGroup.Description, oGroup.DistinguishedName, oGroup.Name)
+ Next
+
+ Text = $"{table.Rows.Count} Gruppen"
+ TopMost = True
+
+ GridControl1.DataSource = table
+ End Sub
+End Class
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/frmADDebug_Users.Designer.vb b/DDUserManager/DDUserManager/frmADDebug_Users.Designer.vb
new file mode 100644
index 0000000..fc7c7a2
--- /dev/null
+++ b/DDUserManager/DDUserManager/frmADDebug_Users.Designer.vb
@@ -0,0 +1,59 @@
+
+Partial Class frmADDebug_Users
+ Inherits System.Windows.Forms.Form
+
+ 'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
+
+ Protected Overrides Sub Dispose(ByVal disposing As Boolean)
+ Try
+ If disposing AndAlso components IsNot Nothing Then
+ components.Dispose()
+ End If
+ Finally
+ MyBase.Dispose(disposing)
+ End Try
+ End Sub
+
+ 'Wird vom Windows Form-Designer benötigt.
+ Private components As System.ComponentModel.IContainer
+
+ 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
+ 'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
+ 'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
+
+ Private Sub InitializeComponent()
+ Me.GridControl1 = New DevExpress.XtraGrid.GridControl()
+ Me.GridView1 = New DevExpress.XtraGrid.Views.Grid.GridView()
+ CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).BeginInit()
+ CType(Me.GridView1, System.ComponentModel.ISupportInitialize).BeginInit()
+ Me.SuspendLayout()
+ '
+ 'GridControl1
+ '
+ Me.GridControl1.Dock = System.Windows.Forms.DockStyle.Fill
+ Me.GridControl1.Location = New System.Drawing.Point(0, 0)
+ Me.GridControl1.MainView = Me.GridView1
+ Me.GridControl1.Name = "GridControl1"
+ Me.GridControl1.Size = New System.Drawing.Size(284, 261)
+ Me.GridControl1.TabIndex = 0
+ Me.GridControl1.ViewCollection.AddRange(New DevExpress.XtraGrid.Views.Base.BaseView() {Me.GridView1})
+ '
+ 'GridView1
+ '
+ Me.GridView1.GridControl = Me.GridControl1
+ Me.GridView1.Name = "GridView1"
+ '
+ 'frmADDebug_Users
+ '
+ Me.ClientSize = New System.Drawing.Size(284, 261)
+ Me.Controls.Add(Me.GridControl1)
+ Me.Name = "frmADDebug_Users"
+ CType(Me.GridControl1, System.ComponentModel.ISupportInitialize).EndInit()
+ CType(Me.GridView1, System.ComponentModel.ISupportInitialize).EndInit()
+ Me.ResumeLayout(False)
+
+ End Sub
+
+ Friend WithEvents GridControl1 As DevExpress.XtraGrid.GridControl
+ Friend WithEvents GridView1 As DevExpress.XtraGrid.Views.Grid.GridView
+End Class
diff --git a/DDUserManager/DDUserManager/frmADDebug_Users.resx b/DDUserManager/DDUserManager/frmADDebug_Users.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/DDUserManager/DDUserManager/frmADDebug_Users.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/frmADDebug_Users.vb b/DDUserManager/DDUserManager/frmADDebug_Users.vb
new file mode 100644
index 0000000..8598596
--- /dev/null
+++ b/DDUserManager/DDUserManager/frmADDebug_Users.vb
@@ -0,0 +1,18 @@
+Imports DigitalData.Modules.Interfaces
+
+Public Class frmADDebug_Users
+ Public Property DebugData As List(Of ADUser)
+
+ Private Sub frmADDebug_Users_Load(sender As Object, e As EventArgs) Handles MyBase.Load
+ Dim table As New UserDataSet.TBLOCAL_ADUSERSDataTable()
+
+ For Each oUser In DebugData
+ table.AddTBLOCAL_ADUSERSRow(oUser.samAccountName, oUser.GivenName, oUser.Surname, oUser.Email)
+ Next
+
+ Text = $"{table.Rows.Count} Benutzer"
+ TopMost = True
+
+ GridControl1.DataSource = table
+ End Sub
+End Class
\ No newline at end of file
diff --git a/DDUserManager/DDUserManager/frmADImport_Groups.vb b/DDUserManager/DDUserManager/frmADImport_Groups.vb
index 18a5eac..b0d2924 100644
--- a/DDUserManager/DDUserManager/frmADImport_Groups.vb
+++ b/DDUserManager/DDUserManager/frmADImport_Groups.vb
@@ -1,23 +1,26 @@
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Modules.Logging
+Imports DigitalData.Modules.Interfaces
Public Class frmADImport_Groups
Private logger As Logger
Private data As ClassData
+ Private activeDirectory As ActiveDirectoryInterface
Private Sub frmADImport_Groups_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
logger = MyLogConfig.GetLogger()
data = New ClassData(MyLogConfig, MyDatabase)
+ activeDirectory = New ActiveDirectoryInterface(MyLogConfig, MyConfig.Config.AdRootPath)
- Dim groups = ClassActiveDirectory.GetActiveDirectoryGroups(My.Settings.AD_GROUP_QUERY)
+ Dim oGroups = activeDirectory.ListGroups(MyConfig.Config.AdGroupFilter)
- logger.Info("Found {0} groups", groups.Count)
+ logger.Info("Found {0} groups", oGroups.Count)
UserDataSet.TBLOCAL_ADGROUPS.Clear()
- For Each group As ClassActiveDirectory.GroupResult In groups
- UserDataSet.TBLOCAL_ADGROUPS.AddTBLOCAL_ADGROUPSRow(group.SAMAccountName)
+ For Each oGroup As ADGroup In oGroups
+ UserDataSet.TBLOCAL_ADGROUPS.AddTBLOCAL_ADGROUPSRow(oGroup.SAMAccountName)
Next
lbGroupsCount.Text = String.Format(lbGroupsCount.Text, UserDataSet.TBLOCAL_ADGROUPS.Rows.Count)
diff --git a/DDUserManager/DDUserManager/frmADImport_Users.vb b/DDUserManager/DDUserManager/frmADImport_Users.vb
index d425640..e93fc28 100644
--- a/DDUserManager/DDUserManager/frmADImport_Users.vb
+++ b/DDUserManager/DDUserManager/frmADImport_Users.vb
@@ -1,23 +1,24 @@
Imports DDUserManager.UserDataSet
Imports DevExpress.XtraGrid.Views.Grid
+Imports DigitalData.Modules.Interfaces
Imports DigitalData.Modules.Logging
Public Class frmADImport_Users
Private logger As Logger
Private data As ClassData
+ Private activeDirectory As ActiveDirectoryInterface
Private Sub frmADImport_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Try
logger = MyLogConfig.GetLogger()
data = New ClassData(MyLogConfig, MyDatabase)
+ activeDirectory = New ActiveDirectoryInterface(MyLogConfig, MyConfig.Config.AdRootPath)
- Dim groups = ClassActiveDirectory.GetActiveDirectoryGroups(My.Settings.AD_GROUP_QUERY)
+ Dim oGroups = activeDirectory.ListGroups(MyConfig.Config.AdGroupFilter)
- gridAD_Groups.DataSource = groups.Select(Of String)(Function(g)
- Return g.SAMAccountName
- End Function)
+ gridAD_Groups.DataSource = oGroups.Select(Function(g) g.SAMAccountName)
viewAD_Groups.Columns.Item(0).Caption = "Gruppe"
Catch ex As Exception
logger.Error(ex, $"Error while loading initial groups")
@@ -29,16 +30,16 @@ Public Class frmADImport_Users
Dim groupName As String = viewAD_Groups.GetRow(e.FocusedRowHandle)
Try
- Dim usersForGroup As List(Of ClassActiveDirectory.ADUser) = ClassActiveDirectory.GetActiveDirectoryUsersForGroup(groupName)
+ Dim oUsers = activeDirectory.ListUsers(groupName, MyConfig.Config.AdUserFilter)
UserDataSet.TBLOCAL_ADUSERS.Clear()
- For Each user As ClassActiveDirectory.ADUser In usersForGroup
+ For Each user As ADUser In oUsers
Dim row As TBLOCAL_ADUSERSRow = UserDataSet.TBLOCAL_ADUSERS.NewTBLOCAL_ADUSERSRow()
row.NAME = user.Surname
row.PRENAME = user.GivenName
- row.USERNAME = user.Username
+ row.USERNAME = user.samAccountName
row.EMAIL = user.Email
UserDataSet.TBLOCAL_ADUSERS.AddTBLOCAL_ADUSERSRow(row)
diff --git a/DDUserManager/DDUserManager/frmMain.Designer.vb b/DDUserManager/DDUserManager/frmMain.Designer.vb
index 332d324..9d821aa 100644
--- a/DDUserManager/DDUserManager/frmMain.Designer.vb
+++ b/DDUserManager/DDUserManager/frmMain.Designer.vb
@@ -22,7 +22,6 @@ Partial Class frmMain
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
Private Sub InitializeComponent()
- Me.components = New System.ComponentModel.Container()
Dim GUIDLabel As System.Windows.Forms.Label
Dim PRENAMELabel As System.Windows.Forms.Label
Dim NAMELabel As System.Windows.Forms.Label
@@ -63,7 +62,7 @@ Partial Class frmMain
Me.Label8 = New System.Windows.Forms.Label()
Me.Label4 = New System.Windows.Forms.Label()
Me.LANGUAGEComboBox = New System.Windows.Forms.ComboBox()
- Me.TBDD_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components)
+ Me.TBDD_USERBindingSource = New System.Windows.Forms.BindingSource()
Me.UserDataSet = New DDUserManager.UserDataSet()
Me.DATE_FORMATComboBox = New System.Windows.Forms.ComboBox()
Me.TextBox2 = New System.Windows.Forms.TextBox()
@@ -80,12 +79,12 @@ Partial Class frmMain
Me.Label12 = New System.Windows.Forms.Label()
Me.Label1 = New System.Windows.Forms.Label()
Me.listModules = New System.Windows.Forms.ListBox()
- Me.TBDD_MODULESBindingSource = New System.Windows.Forms.BindingSource(Me.components)
+ Me.TBDD_MODULESBindingSource = New System.Windows.Forms.BindingSource()
Me.listGroups = New System.Windows.Forms.ListBox()
- Me.TBDD_GROUPSBindingSource = New System.Windows.Forms.BindingSource(Me.components)
+ Me.TBDD_GROUPSBindingSource = New System.Windows.Forms.BindingSource()
Me.Label2 = New System.Windows.Forms.Label()
Me.listClients = New System.Windows.Forms.ListBox()
- Me.TBDD_CLIENTBindingSource = New System.Windows.Forms.BindingSource(Me.components)
+ Me.TBDD_CLIENTBindingSource = New System.Windows.Forms.BindingSource()
Me.GridUsers = New DevExpress.XtraGrid.GridControl()
Me.gvUsers = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.colPRENAME = New DevExpress.XtraGrid.Columns.GridColumn()
@@ -117,7 +116,7 @@ Partial Class frmMain
Me.labelGroups_AssignedUsers = New System.Windows.Forms.Label()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.gridGroups_AllGroups = New DevExpress.XtraGrid.GridControl()
- Me.TBDD_GROUPSBindingSource1 = New System.Windows.Forms.BindingSource(Me.components)
+ Me.TBDD_GROUPSBindingSource1 = New System.Windows.Forms.BindingSource()
Me.DS_ChangeS = New DDUserManager.DS_ChangeS()
Me.viewGroups_AllGroups = New DevExpress.XtraGrid.Views.Grid.GridView()
Me.colNAME2 = New DevExpress.XtraGrid.Columns.GridColumn()
@@ -178,7 +177,7 @@ Partial Class frmMain
Me.GridColumn11 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn12 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.Label9 = New System.Windows.Forms.Label()
- Me.TBDD_USERBindingNavigator = New System.Windows.Forms.BindingNavigator(Me.components)
+ Me.TBDD_USERBindingNavigator = New System.Windows.Forms.BindingNavigator()
Me.BindingNavigatorAddNewItem = New System.Windows.Forms.ToolStripButton()
Me.BindingNavigatorCountItem = New System.Windows.Forms.ToolStripLabel()
Me.BindingNavigatorMoveFirstItem = New System.Windows.Forms.ToolStripButton()
@@ -257,7 +256,7 @@ Partial Class frmMain
Me.colNAME10 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.colSHORT_NAME = New DevExpress.XtraGrid.Columns.GridColumn()
Me.Label16 = New System.Windows.Forms.Label()
- Me.TBDD_GROUPSBindingNavigator = New System.Windows.Forms.BindingNavigator(Me.components)
+ Me.TBDD_GROUPSBindingNavigator = New System.Windows.Forms.BindingNavigator()
Me.BindingNavigatorCountItem1 = New System.Windows.Forms.ToolStripLabel()
Me.BindingNavigatorDeleteItem1 = New System.Windows.Forms.ToolStripButton()
Me.BindingNavigatorMoveFirstItem1 = New System.Windows.Forms.ToolStripButton()
@@ -288,7 +287,7 @@ Partial Class frmMain
Me.GridColumn1 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn7 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn6 = New DevExpress.XtraGrid.Columns.GridColumn()
- Me.TBDD_CLIENTBindingNavigator = New System.Windows.Forms.BindingNavigator(Me.components)
+ Me.TBDD_CLIENTBindingNavigator = New System.Windows.Forms.BindingNavigator()
Me.BindingNavigatorAddNewItem2 = New System.Windows.Forms.ToolStripButton()
Me.BindingNavigatorCountItem2 = New System.Windows.Forms.ToolStripLabel()
Me.BindingNavigatorDeleteItem2 = New System.Windows.Forms.ToolStripButton()
@@ -313,7 +312,7 @@ Partial Class frmMain
Me.GridColumn8 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn9 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn10 = New DevExpress.XtraGrid.Columns.GridColumn()
- Me.TBDD_MODULESBindingNavigator = New System.Windows.Forms.BindingNavigator(Me.components)
+ Me.TBDD_MODULESBindingNavigator = New System.Windows.Forms.BindingNavigator()
Me.BindingNavigatorCountItem3 = New System.Windows.Forms.ToolStripLabel()
Me.BindingNavigatorMoveFirstItem3 = New System.Windows.Forms.ToolStripButton()
Me.BindingNavigatorMovePreviousItem3 = New System.Windows.Forms.ToolStripButton()
@@ -326,7 +325,12 @@ Partial Class frmMain
Me.tabPageRights = New DevExpress.XtraTab.XtraTabPage()
Me.tabPageSettings = New DevExpress.XtraTab.XtraTabPage()
Me.Button2 = New System.Windows.Forms.Button()
+ Me.GroupBox3 = New System.Windows.Forms.GroupBox()
+ Me.Label20 = New System.Windows.Forms.Label()
+ Me.Button4 = New System.Windows.Forms.Button()
+ Me.txtLDAPUserQuery = New System.Windows.Forms.TextBox()
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
+ Me.Button3 = New System.Windows.Forms.Button()
Me.btnDebugGroupQuery = New System.Windows.Forms.Button()
Me.txtLDAPGroupQuery = New System.Windows.Forms.TextBox()
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
@@ -336,14 +340,14 @@ Partial Class frmMain
Me.btnOpenLogDir = New System.Windows.Forms.Button()
Me.btnOpenConfigDir = New System.Windows.Forms.Button()
Me.btnConfigConnections = New System.Windows.Forms.Button()
- Me.TBDD_GROUPS_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components)
+ Me.TBDD_GROUPS_USERBindingSource = New System.Windows.Forms.BindingSource()
Me.TBDD_USERTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_USERTableAdapter()
Me.TableAdapterManager = New DDUserManager.UserDataSetTableAdapters.TableAdapterManager()
- Me.TBDD_CLIENT_USERBindingSource = New System.Windows.Forms.BindingSource(Me.components)
+ Me.TBDD_CLIENT_USERBindingSource = New System.Windows.Forms.BindingSource()
Me.TBDD_CLIENT_USERTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_CLIENT_USERTableAdapter()
Me.TBDD_CLIENTTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_CLIENTTableAdapter()
Me.TBDD_MODULESTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_MODULESTableAdapter()
- Me.TBDD_USER_MODULESBindingSource = New System.Windows.Forms.BindingSource(Me.components)
+ Me.TBDD_USER_MODULESBindingSource = New System.Windows.Forms.BindingSource()
Me.TBDD_USER_MODULESTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_USER_MODULESTableAdapter()
Me.StatusStrip1 = New System.Windows.Forms.StatusStrip()
Me.tsLabelUser = New System.Windows.Forms.ToolStripStatusLabel()
@@ -356,11 +360,6 @@ Partial Class frmMain
Me.TableAdapterManager1 = New DDUserManager.DS_ChangeSTableAdapters.TableAdapterManager()
Me.TBDD_GROUPS_USERTableAdapter = New DDUserManager.UserDataSetTableAdapters.TBDD_GROUPS_USERTableAdapter()
Me.QueriesTableAdapter1 = New DDUserManager.UserDataSetTableAdapters.QueriesTableAdapter()
- Me.Button3 = New System.Windows.Forms.Button()
- Me.GroupBox3 = New System.Windows.Forms.GroupBox()
- Me.Button4 = New System.Windows.Forms.Button()
- Me.txtLDAPUserQuery = New System.Windows.Forms.TextBox()
- Me.Button5 = New System.Windows.Forms.Button()
GUIDLabel = New System.Windows.Forms.Label()
PRENAMELabel = New System.Windows.Forms.Label()
NAMELabel = New System.Windows.Forms.Label()
@@ -516,13 +515,13 @@ Partial Class frmMain
CType(Me.TBDD_MODULESBindingNavigator, System.ComponentModel.ISupportInitialize).BeginInit()
Me.TBDD_MODULESBindingNavigator.SuspendLayout()
Me.tabPageSettings.SuspendLayout()
+ Me.GroupBox3.SuspendLayout()
Me.GroupBox2.SuspendLayout()
Me.GroupBox1.SuspendLayout()
CType(Me.TBDD_GROUPS_USERBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBDD_CLIENT_USERBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TBDD_USER_MODULESBindingSource, System.ComponentModel.ISupportInitialize).BeginInit()
Me.StatusStrip1.SuspendLayout()
- Me.GroupBox3.SuspendLayout()
Me.SuspendLayout()
'
'GUIDLabel
@@ -833,7 +832,7 @@ Partial Class frmMain
Me.tabPageUsers.AutoScroll = True
Me.tabPageUsers.Controls.Add(Me.SplitContainer1)
Me.tabPageUsers.Controls.Add(Me.TBDD_USERBindingNavigator)
- Me.tabPageUsers.Image = Global.DDUserManager.My.Resources.Resources.user
+ Me.tabPageUsers.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.user
Me.tabPageUsers.Name = "tabPageUsers"
Me.tabPageUsers.Size = New System.Drawing.Size(1193, 784)
Me.tabPageUsers.Text = "Benutzer"
@@ -1199,7 +1198,7 @@ Partial Class frmMain
'tabGroupAssign
'
Me.tabGroupAssign.Controls.Add(Me.SplitContainerUserGroups1)
- Me.tabGroupAssign.Image = Global.DDUserManager.My.Resources.Resources.group
+ Me.tabGroupAssign.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.group
Me.tabGroupAssign.Name = "tabGroupAssign"
Me.tabGroupAssign.Size = New System.Drawing.Size(1187, 349)
Me.tabGroupAssign.Text = "Gruppen Zuordnung"
@@ -1498,7 +1497,7 @@ Partial Class frmMain
'tabClientAssign
'
Me.tabClientAssign.Controls.Add(Me.SplitContainer4)
- Me.tabClientAssign.Image = Global.DDUserManager.My.Resources.Resources.book
+ Me.tabClientAssign.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.book
Me.tabClientAssign.Name = "tabClientAssign"
Me.tabClientAssign.Size = New System.Drawing.Size(1187, 349)
Me.tabClientAssign.Text = "Mandanten Zuordnung"
@@ -1779,7 +1778,7 @@ Partial Class frmMain
'tabModuleAssign
'
Me.tabModuleAssign.Controls.Add(Me.SplitContainer6)
- Me.tabModuleAssign.Image = Global.DDUserManager.My.Resources.Resources.plugin
+ Me.tabModuleAssign.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.plugin
Me.tabModuleAssign.Name = "tabModuleAssign"
Me.tabModuleAssign.Size = New System.Drawing.Size(1187, 349)
Me.tabModuleAssign.Text = "Modul Zuordnung"
@@ -2194,7 +2193,7 @@ Partial Class frmMain
'
Me.tabPageGroups.Controls.Add(Me.SplitContainer3)
Me.tabPageGroups.Controls.Add(Me.TBDD_GROUPSBindingNavigator)
- Me.tabPageGroups.Image = Global.DDUserManager.My.Resources.Resources.group
+ Me.tabPageGroups.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.group
Me.tabPageGroups.Name = "tabPageGroups"
Me.tabPageGroups.Size = New System.Drawing.Size(1193, 784)
Me.tabPageGroups.Text = "Gruppen"
@@ -2411,7 +2410,7 @@ Partial Class frmMain
'XtraTabPage1
'
Me.XtraTabPage1.Controls.Add(Me.SplitContainer5)
- Me.XtraTabPage1.Image = Global.DDUserManager.My.Resources.Resources.book
+ Me.XtraTabPage1.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.book
Me.XtraTabPage1.Name = "XtraTabPage1"
Me.XtraTabPage1.Size = New System.Drawing.Size(1190, 349)
Me.XtraTabPage1.Text = "Mandanten Zuordnung"
@@ -2650,7 +2649,7 @@ Partial Class frmMain
'XtraTabPage2
'
Me.XtraTabPage2.Controls.Add(Me.SplitContainer7)
- Me.XtraTabPage2.Image = Global.DDUserManager.My.Resources.Resources.plugin
+ Me.XtraTabPage2.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.plugin
Me.XtraTabPage2.Name = "XtraTabPage2"
Me.XtraTabPage2.Size = New System.Drawing.Size(1190, 349)
Me.XtraTabPage2.Text = "Modul Zuordnung"
@@ -3012,7 +3011,7 @@ Partial Class frmMain
Me.tabPageClients.Controls.Add(Me.Panel17)
Me.tabPageClients.Controls.Add(Me.gridClients)
Me.tabPageClients.Controls.Add(Me.TBDD_CLIENTBindingNavigator)
- Me.tabPageClients.Image = Global.DDUserManager.My.Resources.Resources.book
+ Me.tabPageClients.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.book
Me.tabPageClients.Name = "tabPageClients"
Me.tabPageClients.Size = New System.Drawing.Size(1193, 784)
Me.tabPageClients.Text = "Mandanten"
@@ -3295,7 +3294,7 @@ Partial Class frmMain
Me.tabPageModules.Controls.Add(Me.Panel18)
Me.tabPageModules.Controls.Add(Me.gridModules)
Me.tabPageModules.Controls.Add(Me.TBDD_MODULESBindingNavigator)
- Me.tabPageModules.Image = Global.DDUserManager.My.Resources.Resources.plugin
+ Me.tabPageModules.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.plugin
Me.tabPageModules.Name = "tabPageModules"
Me.tabPageModules.Size = New System.Drawing.Size(1193, 784)
Me.tabPageModules.Text = "Module"
@@ -3497,7 +3496,7 @@ Partial Class frmMain
'
'tabPageRights
'
- Me.tabPageRights.Image = Global.DDUserManager.My.Resources.Resources.key
+ Me.tabPageRights.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.key
Me.tabPageRights.Name = "tabPageRights"
Me.tabPageRights.PageEnabled = False
Me.tabPageRights.Size = New System.Drawing.Size(1193, 784)
@@ -3512,7 +3511,7 @@ Partial Class frmMain
Me.tabPageSettings.Controls.Add(Me.btnOpenLogDir)
Me.tabPageSettings.Controls.Add(Me.btnOpenConfigDir)
Me.tabPageSettings.Controls.Add(Me.btnConfigConnections)
- Me.tabPageSettings.Image = Global.DDUserManager.My.Resources.Resources.cog
+ Me.tabPageSettings.ImageOptions.Image = Global.DDUserManager.My.Resources.Resources.cog
Me.tabPageSettings.Name = "tabPageSettings"
Me.tabPageSettings.Size = New System.Drawing.Size(1193, 784)
Me.tabPageSettings.Text = "Einstellungen"
@@ -3528,6 +3527,46 @@ Partial Class frmMain
Me.Button2.Text = "Support Tool aufrufen"
Me.Button2.UseVisualStyleBackColor = True
'
+ 'GroupBox3
+ '
+ Me.GroupBox3.Controls.Add(Me.Label20)
+ Me.GroupBox3.Controls.Add(Me.Button4)
+ Me.GroupBox3.Controls.Add(Me.txtLDAPUserQuery)
+ Me.GroupBox3.Location = New System.Drawing.Point(486, 239)
+ Me.GroupBox3.Name = "GroupBox3"
+ Me.GroupBox3.Size = New System.Drawing.Size(700, 200)
+ Me.GroupBox3.TabIndex = 5
+ Me.GroupBox3.TabStop = False
+ Me.GroupBox3.Text = "LDAP Filter für Benutzerabfrage"
+ '
+ 'Label20
+ '
+ Me.Label20.AutoSize = True
+ Me.Label20.Location = New System.Drawing.Point(6, 176)
+ Me.Label20.Name = "Label20"
+ Me.Label20.Size = New System.Drawing.Size(381, 13)
+ Me.Label20.TabIndex = 8
+ Me.Label20.Text = "Benutzen Sie @SAMACCOUNTNAME als Platzhalter für den Aktuellen Benutzer"
+ '
+ 'Button4
+ '
+ Me.Button4.Location = New System.Drawing.Point(582, 171)
+ Me.Button4.Name = "Button4"
+ Me.Button4.Size = New System.Drawing.Size(112, 23)
+ Me.Button4.TabIndex = 7
+ Me.Button4.Text = "Speichern"
+ Me.Button4.UseVisualStyleBackColor = True
+ '
+ 'txtLDAPUserQuery
+ '
+ Me.txtLDAPUserQuery.Font = New System.Drawing.Font("Consolas", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
+ Me.txtLDAPUserQuery.Location = New System.Drawing.Point(6, 20)
+ Me.txtLDAPUserQuery.Multiline = True
+ Me.txtLDAPUserQuery.Name = "txtLDAPUserQuery"
+ Me.txtLDAPUserQuery.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
+ Me.txtLDAPUserQuery.Size = New System.Drawing.Size(688, 145)
+ Me.txtLDAPUserQuery.TabIndex = 2
+ '
'GroupBox2
'
Me.GroupBox2.Controls.Add(Me.Button3)
@@ -3540,6 +3579,15 @@ Partial Class frmMain
Me.GroupBox2.TabStop = False
Me.GroupBox2.Text = "LDAP Filter für Gruppenabfrage"
'
+ 'Button3
+ '
+ Me.Button3.Location = New System.Drawing.Point(438, 171)
+ Me.Button3.Name = "Button3"
+ Me.Button3.Size = New System.Drawing.Size(112, 23)
+ Me.Button3.TabIndex = 7
+ Me.Button3.Text = "Speichern"
+ Me.Button3.UseVisualStyleBackColor = True
+ '
'btnDebugGroupQuery
'
Me.btnDebugGroupQuery.Location = New System.Drawing.Point(556, 171)
@@ -3551,13 +3599,13 @@ Partial Class frmMain
'
'txtLDAPGroupQuery
'
+ Me.txtLDAPGroupQuery.Font = New System.Drawing.Font("Consolas", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtLDAPGroupQuery.Location = New System.Drawing.Point(6, 20)
Me.txtLDAPGroupQuery.Multiline = True
Me.txtLDAPGroupQuery.Name = "txtLDAPGroupQuery"
Me.txtLDAPGroupQuery.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
Me.txtLDAPGroupQuery.Size = New System.Drawing.Size(688, 145)
Me.txtLDAPGroupQuery.TabIndex = 2
- Me.txtLDAPGroupQuery.Text = "(&(objectClass=group) (samAccountName=*))"
'
'GroupBox1
'
@@ -3738,55 +3786,6 @@ Partial Class frmMain
'
Me.TBDD_GROUPS_USERTableAdapter.ClearBeforeFill = True
'
- 'Button3
- '
- Me.Button3.Location = New System.Drawing.Point(438, 171)
- Me.Button3.Name = "Button3"
- Me.Button3.Size = New System.Drawing.Size(112, 23)
- Me.Button3.TabIndex = 7
- Me.Button3.Text = "Speichern"
- Me.Button3.UseVisualStyleBackColor = True
- '
- 'GroupBox3
- '
- Me.GroupBox3.Controls.Add(Me.Button4)
- Me.GroupBox3.Controls.Add(Me.Button5)
- Me.GroupBox3.Controls.Add(Me.txtLDAPUserQuery)
- Me.GroupBox3.Location = New System.Drawing.Point(486, 239)
- Me.GroupBox3.Name = "GroupBox3"
- Me.GroupBox3.Size = New System.Drawing.Size(700, 200)
- Me.GroupBox3.TabIndex = 5
- Me.GroupBox3.TabStop = False
- Me.GroupBox3.Text = "LDAP Filter für Benutzerabfrage"
- '
- 'Button4
- '
- Me.Button4.Location = New System.Drawing.Point(438, 171)
- Me.Button4.Name = "Button4"
- Me.Button4.Size = New System.Drawing.Size(112, 23)
- Me.Button4.TabIndex = 7
- Me.Button4.Text = "Speichern"
- Me.Button4.UseVisualStyleBackColor = True
- '
- 'txtLDAPUserQuery
- '
- Me.txtLDAPUserQuery.Location = New System.Drawing.Point(6, 20)
- Me.txtLDAPUserQuery.Multiline = True
- Me.txtLDAPUserQuery.Name = "txtLDAPUserQuery"
- Me.txtLDAPUserQuery.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
- Me.txtLDAPUserQuery.Size = New System.Drawing.Size(688, 145)
- Me.txtLDAPUserQuery.TabIndex = 2
- Me.txtLDAPUserQuery.Text = "(&(objectClass=group) (samAccountName=*))"
- '
- 'Button5
- '
- Me.Button5.Location = New System.Drawing.Point(556, 171)
- Me.Button5.Name = "Button5"
- Me.Button5.Size = New System.Drawing.Size(138, 23)
- Me.Button5.TabIndex = 6
- Me.Button5.Text = "Abfrage starten"
- Me.Button5.UseVisualStyleBackColor = True
- '
'frmMain
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -3932,6 +3931,8 @@ Partial Class frmMain
Me.TBDD_MODULESBindingNavigator.ResumeLayout(False)
Me.TBDD_MODULESBindingNavigator.PerformLayout()
Me.tabPageSettings.ResumeLayout(False)
+ Me.GroupBox3.ResumeLayout(False)
+ Me.GroupBox3.PerformLayout()
Me.GroupBox2.ResumeLayout(False)
Me.GroupBox2.PerformLayout()
Me.GroupBox1.ResumeLayout(False)
@@ -3941,8 +3942,6 @@ Partial Class frmMain
CType(Me.TBDD_USER_MODULESBindingSource, System.ComponentModel.ISupportInitialize).EndInit()
Me.StatusStrip1.ResumeLayout(False)
Me.StatusStrip1.PerformLayout()
- Me.GroupBox3.ResumeLayout(False)
- Me.GroupBox3.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -4252,5 +4251,5 @@ Partial Class frmMain
Friend WithEvents GroupBox3 As GroupBox
Friend WithEvents Button4 As Button
Friend WithEvents txtLDAPUserQuery As TextBox
- Friend WithEvents Button5 As Button
+ Friend WithEvents Label20 As Label
End Class
diff --git a/DDUserManager/DDUserManager/frmMain.vb b/DDUserManager/DDUserManager/frmMain.vb
index 3cf53d9..cbc083f 100644
--- a/DDUserManager/DDUserManager/frmMain.vb
+++ b/DDUserManager/DDUserManager/frmMain.vb
@@ -5,6 +5,7 @@ Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Config
Imports System.Reflection
Imports DigitalData.Modules.Filesystem
+Imports DigitalData.Modules.Interfaces
'''
''' Anmerkungen:
@@ -160,7 +161,7 @@ Public Class frmMain
End If
LogErrorsOnly = MyConfig.Config.LogErrorsOnly
- ActiveDirectoryRootNode = MyConfig.Config.ActiveDirectoryRootNode
+ ActiveDirectoryRootNode = MyConfig.Config.AdRootPath
End Sub
Private Sub btnImportUsers_Click(sender As Object, e As EventArgs) Handles btnImportUsers.Click
@@ -1075,19 +1076,19 @@ Public Class frmMain
End Sub
Private Sub txtADRootNode_Leave(sender As Object, e As EventArgs) Handles txtADRootNode.Leave, txtLDAPGroupQuery.Leave, txtLDAPUserQuery.Leave
- MyConfig.Config.ActiveDirectoryRootNode = txtADRootNode.Text
+ MyConfig.Config.AdRootPath = txtADRootNode.Text
MyConfig.Save()
End Sub
Private Sub btnADConnectionTest_Click(sender As Object, e As EventArgs) Handles btnADConnectionTest.Click
Dim ldapPAth = IIf(txtADRootNode.Text = String.Empty, ActiveDirectoryRootNode, txtADRootNode.Text)
+ Dim oActiveDirectory As New ActiveDirectoryInterface(MyLogConfig, ldapPAth)
-
- If ClassActiveDirectory.ConnectionTest(txtADRootNode.Text) Then
+ If oActiveDirectory.Authenticate() Then
MsgBox("Verbindung erfolgreich aufgebaut!", MsgBoxStyle.Information)
- MyConfig.Config.ActiveDirectoryRootNode = txtADRootNode.Text
+ MyConfig.Config.AdRootPath = txtADRootNode.Text
MyConfig.Save()
MyLogger.Info($"New ActiveDirectory Path saved: {txtADRootNode.Text}")
@@ -1098,13 +1099,15 @@ Public Class frmMain
Process.Start("https://didalog.de/support")
End Sub
- Private Async Sub btnDebugQuery_Click(sender As Object, e As EventArgs) Handles btnDebugGroupQuery.Click, Button5.Click
+ Private Async Sub btnDebugQuery_Click(sender As Object, e As EventArgs) Handles btnDebugGroupQuery.Click
btnDebugGroupQuery.Text = "Abfrage läuft..."
btnDebugGroupQuery.Enabled = False
+ Dim oActiveDirectory As New ActiveDirectoryInterface(MyLogConfig, MyConfig.Config.AdRootPath)
+
Await Task.Run(Sub()
- Dim groups = ClassActiveDirectory.GetActiveDirectoryGroups(txtLDAPGroupQuery.Text)
- Dim frm As New frmADDebug()
+ Dim groups = oActiveDirectory.ListGroups(MyConfig.Config.AdGroupFilter)
+ Dim frm As New frmADDebug_Groups()
frm.DebugData = groups
frm.ShowDialog()
@@ -1138,7 +1141,7 @@ Public Class frmMain
Private Sub XtraTabControl1_SelectedPageChanged(sender As Object, e As DevExpress.XtraTab.TabPageChangedEventArgs) Handles XtraTabControl1.SelectedPageChanged
If e.Page.Name = tabPageSettings.Name Then
- txtADRootNode.Text = MyConfig.Config.ActiveDirectoryRootNode
+ txtADRootNode.Text = MyConfig.Config.AdRootPath
txtLDAPGroupQuery.Text = MyConfig.Config.AdGroupFilter
txtLDAPUserQuery.Text = MyConfig.Config.AdUserFilter
End If