An Haufen Zeug

This commit is contained in:
ms
2019-08-07 10:45:49 +02:00
parent f2d5c20559
commit d67e84486a
35 changed files with 4382 additions and 658 deletions

View File

@@ -1,4 +1,5 @@
Imports System.Data.SqlClient
Imports System.DirectoryServices.AccountManagement
Public Class Main
Public con As New SqlConnection
@@ -14,11 +15,12 @@ Public Class Main
Public SenderRubrik As String
Public SenderTitel As String
Public Neu, geaendert As Boolean
Public Debug As Boolean
Public Suchbegriff As String
Public Shared SucheAktiv As Boolean = False
Public Tabelle As String
Public DHCPRefresh As Boolean = True
Public Startparameter As String = ""
Public sAppPath As String = Application.StartupPath
Public Updatequelle As String = "\\192.168.0.91\f\Programme\Doku\"
@@ -33,23 +35,21 @@ Public Class Main
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
LblUhrzeit.Text = "Willkommen " & cSharedClasses.LoggedOnUser.Name
Class1.EnableDoubleBuffered(DgVMain)
Me.KeyPreview = True
'MsgBox(sAppPath)
If sAppPath Like "*\bin\Debug" Then
Debug = True
'If Class1.DBConString = "Server=DEVELOPER\DEVSQL;Initial Catalog=Doku;User ID=sa;Password=BmWr501956;Connection Timeout=5;" Then
If Class1.DebugMode = True Then
LblDEBUGMODE.Visible = True
LblDEBUGMODE.ForeColor = Color.Red
LblDEBUGMODE.Text = "DEBUG "
Class1.DBConString = "Server=DEVELOPER\DEVSQL;Initial Catalog=Doku;User ID=sa;Password=BmWr501956;Connection Timeout=5;"
Class1.FilePath = "\\192.168.0.253\backup\temp_Sebastian\DokuTest"
Else
Class1.DBConString = "Server=192.168.0.94\SQLEXPRESS;Initial Catalog=Doku;User ID=sa;Password=BmWr501956;Connection Timeout=5;"
Class1.FilePath = "\\192.168.0.90\f\EDV-Wartung\Dokumentation"
End If
If Class1.DBConString = "Server=DEVELOPER\DEVSQL;Initial Catalog=Doku;User ID=sa;Password=BmWr501956;Connection Timeout=5;" Then
TimerUpdate.Enabled = False
dbload()
LstStandortLoad()
@@ -69,6 +69,9 @@ Public Class Main
End With
End If
TypeFilter()
ChkTools.Checked = Class1.DebugMode
End Sub
''LISTEN
@@ -90,7 +93,8 @@ Public Class Main
SenderNetzwerk = LstNetzwerk.SelectedItem
Tabelle = "TbL_Netzwerkclients"
PanSuche.Enabled = True
PanNetzwerk.Enabled = True
PanNetzwerk.Visible = True
btnNeu.Enabled = False
If SenderNetzwerk = "" Then
CmdNetzwerkbearbeiten.Enabled = False
Else
@@ -103,7 +107,8 @@ Public Class Main
Private Sub LstAllgemein_SelectedIndexChanged(sender As Object, e As EventArgs) Handles LstAllgemein.SelectedIndexChanged
LstNetzwerk.ClearSelected()
'LstStandort.ClearSelected()
PanNetzwerk.Enabled = False
PanNetzwerk.Visible = False
btnNeu.Enabled = True
PanSuche.Enabled = False
PanType.Enabled = False
TxtSuche.Enabled = True
@@ -163,11 +168,21 @@ Public Class Main
Public Function LstStandortLoad()
Dim ds As New DataSet()
LstStandort.Items.Clear()
LstStandort.Items.Clear() : Class1.Standorte.Clear() : Class1.AlleStandorte.Clear()
SQL.SQL2DS("SELECT NWSTANDORT from TbL_Netzwerke where main='True' order by NWSTANDORT", ds)
Try
For Each dr As DataRow In ds.Tables(0).Rows
LstStandort.Items.Add(dr.Item(0))
Dim b As New cBerechtigungen
b.Benutzeranmeldename = Class1.LoggedOnUser.BenutzeranmeldeName : b.Standort = dr.Item(0)
b.getFromSQL()
Class1.AlleStandorte.Add(dr.Item(0))
Select Case b.Zugriff
Case "0"
Case Else
LstStandort.Items.Add(dr.Item(0))
Class1.Standorte.Add(dr.Item(0))
End Select
Next
Catch ex As Exception
@@ -296,7 +311,8 @@ Public Class Main
End If
ElseIf tabelle = "TbL_Allgemein" Then
SQL.SQL2DS("select * from " & tabelle & " WHERE Rubrik = '" & LstAllgemein.SelectedItem & "'", ds)
'SQL.SQL2DS("select * from " & tabelle & " WHERE Rubrik = '" & LstAllgemein.SelectedItem & "'", ds)
SQL.SQL2DS("select * from TbL_Allgemein left join TbL_Berechtigungen on TbL_Allgemein.ID = TbL_Berechtigungen.Standort where ((Benutzeranmeldename = '" & Class1.LoggedOnUser.BenutzeranmeldeName & "' AND not Zugriff = '0') OR (Zugriff is null )) AND (Rubrik = '" & LstAllgemein.SelectedItem & "')", ds)
dgvfill(ds, "Allgemein")
End If
@@ -334,13 +350,15 @@ Public Class Main
If Not ChkFreieHosts.Checked Then
'AND (DHCP = '0' OR DHCP is Null)
Suchparameter &= " and FQDN is not NUll"
Suchparameter &= " and FQDN is not NULL"
Else
Suchparameter = "IPAdresse is not NULL"
End If
'''ABFRAGE DEFINIEREN'''
'''
'Dim SelSQL4DGV As String = "*"
Dim SelSQL4DGV As String = "FQDN, IPAdresse, Modell, Standort, Type, Seriennummer, QINFO, Info, DHCP, Host, Link"
Dim SelSQL4DGV As String = "FQDN, IPAdresse, Modell, Standort, Type, Seriennummer, QINFO, Info, DHCP, Host, Link, NWSTANDORT"
If ChKZugangsdaten.Checked Then
SelSQL4DGV &= ", Benutzer, Passwort"
End If
@@ -448,7 +466,7 @@ Public Class Main
.Columns("QINFO").HeaderText = "Quick-Info"
' .Columns("NWSTANDORT").DisplayIndex = 8
.Columns("NWSTANDORT").Visible = False
'If ChKZugangsdaten.Checked = False Then
' .Columns("Benutzer").Visible = False
@@ -533,6 +551,7 @@ Public Class Main
End If
.AutoSizeRowsMode = DataGridViewAutoSizeColumnsMode.AllCells
.DataSource = ds.Tables(0)
.Columns("ID").Visible = False
.Columns("Rubrik").Visible = False
.Columns("Linked").Visible = False
.Columns("Link").Visible = False
@@ -552,16 +571,57 @@ Public Class Main
End If
lblCount.Text = DgVMain.Rows.Count - 1
End Function
Private Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click
frmHostBearbeiten.IP = (DgVMain.CurrentRow.Cells("IPAdresse").Value)
frmHostBearbeiten.Show()
Dim i As Integer = 0
Dim Width As Integer = 0
Dim frm As New frmLeer
frm.Text = "Berechtigungen"
Dim tempUser As New cBenutzer
tempUser.FillWithLoggedOnUser()
For Each Standort As String In LstStandort.Items
Dim usrcntrl As New uscntr_Berechtigungen
usrcntrl.User = tempUser
usrcntrl.lblName.Text = Standort
usrcntrl.Name = Standort
usrcntrl.Standort = Standort
usrcntrl.Location = New Point(0, i * usrcntrl.Height)
i = i + 1
frm.PanMain.Controls.Add(usrcntrl)
Width = usrcntrl.Width
Next
frm.Width = Width
frm.Show()
End Sub
Function GetUsersInGroup(ByVal groupname As String, Optional ByVal LDAP As String = "LDAP://DC=VERAG,DC=OST,DC=DMN") As List(Of String)
Dim Userlist As New List(Of String)
Dim locDirectoryEntry As New DirectoryServices.DirectoryEntry(LDAP)
Dim Searcher As New DirectoryServices.DirectorySearcher(locDirectoryEntry, "sAMAccountName=" & groupname)
Dim Result As DirectoryServices.SearchResult = Searcher.FindOne
If Result IsNot Nothing Then
For Each User In Result.Properties("Member")
Userlist.Add(User)
Next
End If
Return Userlist
End Function
Private Sub CMdTest2_Click(sender As Object, e As EventArgs) Handles CMdTest2.Click
LstNetzwerkLoad()
NetzwerkInfoAnzeige()
Dim test As New Object
Dim testuser As New cBenutzer
testuser.FillFromDC("CN=S-1-5-21-585332750-1805456821-3920631953-1235,CN=ForeignSecurityPrincipals,DC=verag,DC=ost,DC=dmn")
End Sub
Public Function GetDHCPClients(Netzwerk As String, DHCPServer As String, Fill As Boolean, ByRef ds As DataSet)
@@ -574,40 +634,51 @@ Public Class Main
Dim b As UInteger = DHCP.StringIPAddressToUInt32("255.255.255.255")
DHCP.ListSubnetClients(DHCPServer, Netzwerk, dhcpclients)
DHCP.StringNWAdressToNWAdressSHORT(Netzwerk, NWShort)
For i = 0 To DHCP.Client_Array.NumElements - 1
DHCPClientIP = NWShort & (b - ((dhcpclients(i).ClientIpAddress * -1) + a - 1)).ToString
Try
''----------------------------------------Fill True: Wenn DHCP Clients bereits im DS enthalten sind werden diese Hosts geändert.
If Fill = True Then
For i = 0 To DHCP.Client_Array.NumElements - 1
DHCPClientIP = NWShort & (b - ((dhcpclients(i).ClientIpAddress * -1) + a - 1)).ToString
''----------------------------------------Fill True: Wenn DHCP Clients bereits im DS enthalten sind werden diese Hosts geändert.
' If Fill = True Then
Dim HostRow() As Data.DataRow
HostRow = ds.Tables(0).Select("IPAdresse = '" & DHCPClientIP & "'")
HostRow(0)("FQDN") = "*" & dhcpclients(i).ClientName
HostRow(0)("QINFO") = "DHCP Client"
HostRow = ds.Tables(0).Select("IPAdresse = '" & DHCPClientIP & "'")
' MsgBox(DHCPClientIP & HostRow.Length)
If HostRow.Length > 0 Then
HostRow(0)("FQDN") = "*" & dhcpclients(i).ClientName
HostRow(0)("QINFO") = "DHCP Client"
''----------------------------------------Fill False: DHCP Clients werden hinzugefügt
Else
Dim rows() As DataRow = ds.Tables(0).Select("IPAdresse = '" & DHCPClientIP & "'")
If rows.Count > 0 Then
Dim FQDN As String = rows(0).Item("FQDN")
Else
Dim newrow As DataRow = ds.Tables(0).NewRow()
newrow("IPAdresse") = DHCPClientIP
newrow("FQDN") = "*" & dhcpclients(i).ClientName
newrow("QINFO") = "DHCP Client"
newrow("DHCP") = "1"
newrow("Host") = (b - ((dhcpclients(i).ClientIpAddress * -1) + a - 1)).ToString
''----------------------------------------Fill False: DHCP Clients werden hinzugefügt
Else
'MsgBox("fill not true")
Dim rows() As DataRow = ds.Tables(0).Select("IPAdresse = '" & DHCPClientIP & "'")
If rows.Count > 0 Then
Dim FQDN As String = rows(0).Item("FQDN")
Else
Dim newrow As DataRow = ds.Tables(0).NewRow()
ds.Tables(0).Rows.Add(newrow)
'End If
newrow("IPAdresse") = DHCPClientIP
newrow("FQDN") = "*" & dhcpclients(i).ClientName
newrow("QINFO") = "DHCP Client"
newrow("DHCP") = "1"
newrow("Host") = (b - ((dhcpclients(i).ClientIpAddress * -1) + a - 1)).ToString
ds.Tables(0).Rows.Add(newrow)
'End If
End If
End If
End If
Next
ds.Tables(0).DefaultView.Sort = "Host"
Next
ds.Tables(0).DefaultView.Sort = "Host"
Catch ex As Exception
MsgBox("GetDHCPClients() " & ex.Message)
End Try
End Function
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerUhrzeit.Tick
@@ -653,18 +724,23 @@ Public Class Main
NetzwerkInfoAnzeige()
End Sub
Private Sub TxtSuche_TextChanged(sender As Object, e As EventArgs) Handles TxtSuche.TextChanged, RadNurNetzwerk.CheckedChanged, RadGlobal.CheckedChanged, RadStandort.CheckedChanged, LstType.SelectedIndexChanged, TxtSuche.MouseClick
Private Sub TxtSuche_TextChanged(sender As Object, e As EventArgs) Handles TxtSuche.TextChanged, RadNurNetzwerk.CheckedChanged, RadGlobal.CheckedChanged, RadStandort.CheckedChanged, LstType.SelectedIndexChanged ', TxtSuche.MouseClick
If TxtSuche.TextLength < 1 And LstType.SelectedItem = "" Then
Suchbegriff = "%%"
ChkFreieHosts.Checked = False
dgvload_filter(Suchbegriff)
ElseIf TxtSuche.TextLength < 1 And Not LstType.SelectedItem = "" Then
ChkDHCPClients.Checked = False
ChkFreieHosts.Checked = False
dgvload_filter(Suchbegriff)
Else
Suchbegriff = "%" & Class1.hochkomma(TxtSuche.Text) & "%"
ChkDHCPClients.Checked = False
ChkFreieHosts.Checked = False
dgvload_filter(Suchbegriff)
End If
End Sub
Private Sub ComTypeClick(sender As Object, e As EventArgs) Handles LstType.Click
TypeFilter()
@@ -672,22 +748,37 @@ Public Class Main
Private Sub DgvMainContextMenuItemHost_Click(sender As Object, e As EventArgs) Handles DgvMainContextMenuItemHost.Click, CmDBearbeiten.Click, DgVMain.CellDoubleClick, DgVMain.RowHeaderMouseDoubleClick
If Tabelle = "TbL_Netzwerkclients" Then
Dim frm As New frmHostBearbeiten
Try
frmHostBearbeiten.IP = (DgVMain.CurrentRow.Cells("IPAdresse").Value)
frm.IP = (DgVMain.CurrentRow.Cells("IPAdresse").Value)
Catch
frmHostBearbeiten.IP = (DgVMain.Rows(0).Cells("IPAdresse").Value)
frm.IP = (DgVMain.Rows(0).Cells("IPAdresse").Value)
End Try
frmHostBearbeiten.Show()
ElseIf Tabelle = "TbL_Allgemein" Then
Dim Eintrag As New EintragBearbeiten
Eintrag.Titel = Class1.DBNull2emptyString((DgVMain.CurrentRow.Cells("Titel").Value))
If Class1.DBNull2emptyString((DgVMain.CurrentRow.Cells("Rubrik").Value)) = "" Then
Eintrag.rubrik = Class1.DBNull2emptyString((DgVMain.Rows(0).Cells("Rubrik").Value))
Else
Eintrag.rubrik = Class1.DBNull2emptyString((DgVMain.CurrentRow.Cells("Rubrik").Value))
If cBerechtigungen.BenutzerBerechtigungfuerStandort(Class1.LoggedOnUser.BenutzeranmeldeName, DgVMain.CurrentRow.Cells("NWSTANDORT").Value) = "R" Then
frm.Panel1.Enabled = False : frm.PanFirewall.Enabled = False
End If
Eintrag.Show()
AddHandler frm.FormClosing, Function()
End Function
frm.Show()
ElseIf Tabelle = "TbL_Allgemein" Then
SelectedDGVIndex = Class1.DBNull2emptyString(DgVMain.CurrentRow.Index)
Dim Eintrag As New cEintrag
Eintrag.ID = Class1.DBNull2emptyString(DgVMain.CurrentRow.Cells("ID").Value)
Eintrag.rubrik = Class1.DBNull2emptyString(DgVMain.CurrentRow.Cells("Rubrik").Value)
Eintrag.Titel = Class1.DBNull2emptyString(DgVMain.CurrentRow.Cells("Titel").Value)
Eintrag.getFromSQL()
Dim frm As New frmAllgemeinEintrag
frm.Eintrag = Eintrag
AddHandler frm.FormClosing, Function()
dgvload(Tabelle)
LstAllgemein.SelectedItem = Eintrag.rubrik
DgVMain.Rows(SelectedDGVIndex).Selected = True
End Function
frm.Show()
End If
End Sub
@@ -923,6 +1014,11 @@ Public Class Main
Private Sub ChkKompAnsicht_CheckedChanged(sender As Object, e As EventArgs) Handles ChkKompAnsicht.CheckedChanged, ChkFreieHosts.CheckedChanged, ChkDHCPClients.CheckedChanged
'dgvload(Tabelle)
If ChkFreieHosts.Checked Then
TxtSuche.Text = ""
LstType.SelectedItem = ""
RadNurNetzwerk.Checked = True
End If
dgvload_filter(Suchbegriff)
End Sub
@@ -1026,7 +1122,7 @@ Public Class Main
End Sub
Private Sub TimerUpdate_Tick(sender As Object, e As EventArgs) Handles TimerUpdate.Tick
CheckUpdate("Timer")
If Class1.DebugMode = False Then CheckUpdate("Timer")
End Sub
@@ -1036,6 +1132,39 @@ Public Class Main
FirstDisplayedDGVEntry = DgVMain.FirstDisplayedScrollingRowIndex
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnNeu.Click
Neu = True
Dim Eintrag As New EintragBearbeiten
'Eintrag.Titel = Class1.DBNull2emptyString((DgVMain.CurrentRow.Cells("Titel").Value))
If Class1.DBNull2emptyString((DgVMain.CurrentRow.Cells("Rubrik").Value)) = "" Then
Eintrag.rubrik = Class1.DBNull2emptyString((DgVMain.Rows(0).Cells("Rubrik").Value))
Else
Eintrag.rubrik = Class1.DBNull2emptyString((DgVMain.CurrentRow.Cells("Rubrik").Value))
End If
Eintrag.Show()
End Sub
Private Sub TimerWillkommen_Tick(sender As Object, e As EventArgs) Handles TimerWillkommen.Tick
TimerWillkommen.Enabled = False
TimerUhrzeit.Enabled = True
End Sub
Private Sub BenutzerToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles BenutzerToolStripMenuItem.Click
Dim frm As New frmLeer
frm.Text = "Benutzerverwaltung"
Dim usrcntrl As New uscntr_Benutzer
usrcntrl.Dock = DockStyle.Fill : frm.PanMain.Controls.Add(usrcntrl)
' frm.Size = usrcntrl.Size
frm.Show()
End Sub
Private Sub btnTest3_Click(sender As Object, e As EventArgs) Handles btnTest3.Click
MsgBox("Jupp")
End Sub
Private Sub ObjektLöschenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ObjektLöschenToolStripMenuItem.Click
If Tabelle = "TbL_Netzwerkclients" Then