Files
Doku/Dokumentation/Main.vb
2019-08-07 10:45:49 +02:00

1298 lines
53 KiB
VB.net

Imports System.Data.SqlClient
Imports System.DirectoryServices.AccountManagement
Public Class Main
Public con As New SqlConnection
Public conadmin As New SqlConnection
Public cmd As New SqlCommand
Public cmdadmin As New SqlCommand
Public reader As SqlDataReader
Public SenderStandort As String
Public SenderNetzwerk As String
Public SenderHost As String
Public SenderIP As String
Public SenderRubrik As String
Public SenderTitel As String
Public Neu, geaendert 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\"
Private Version As String = My.Resources.Version
Public Shared SelectedDGVIndex As Integer
Public Shared FirstDisplayedDGVEntry As Integer
Public printds As DataSet = Nothing
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 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 "
TimerUpdate.Enabled = False
dbload()
LstStandortLoad()
LblVersion.Text = "Version: " & Version
LblVersion.ForeColor = Color.Red
LblUhrzeit.ForeColor = Color.Red
Else
dbload()
CheckUpdate("Programmstart")
LstStandortLoad()
LblUhrzeit.Text = ""
'ImportToolStripMenuItem.Enabled = False
With DgVMain
.RowsDefaultCellStyle.BackColor = Color.White 'Color.Bisque
.AlternatingRowsDefaultCellStyle.BackColor = ColorTranslator.FromHtml("#d7e4f2")
End With
End If
TypeFilter()
ChkTools.Checked = Class1.DebugMode
End Sub
''LISTEN
Private Sub LstStandort_SelectedIndexChanged(sender As Object, e As EventArgs) Handles LstStandort.SelectedIndexChanged
SenderStandort = LstStandort.SelectedItem
LstAllgemein.ClearSelected()
PanSuche.Enabled = True
PanType.Enabled = True
Tabelle = "TbL_Netzwerkclients"
PuttyToolStripMenuItem.Enabled = True
LstNetzwerkLoad()
LstNetzwerk.SelectedItem = "Intern"
' SenderStandort = LstStandort.SelectedItem
End Sub
Private Sub LstNetzwerk_SelectedIndexChanged(sender As Object, e As EventArgs) Handles LstNetzwerk.SelectedIndexChanged
SenderStandort = LstStandort.SelectedItem
SenderNetzwerk = LstNetzwerk.SelectedItem
Tabelle = "TbL_Netzwerkclients"
PanSuche.Enabled = True
PanNetzwerk.Visible = True
btnNeu.Enabled = False
If SenderNetzwerk = "" Then
CmdNetzwerkbearbeiten.Enabled = False
Else
CmdNetzwerkbearbeiten.Enabled = True
End If
'dgvload("TbL_Netzwerkclients")
dgvload_filter(Suchbegriff)
End Sub
Private Sub LstAllgemein_SelectedIndexChanged(sender As Object, e As EventArgs) Handles LstAllgemein.SelectedIndexChanged
LstNetzwerk.ClearSelected()
'LstStandort.ClearSelected()
PanNetzwerk.Visible = False
btnNeu.Enabled = True
PanSuche.Enabled = False
PanType.Enabled = False
TxtSuche.Enabled = True
Tabelle = "TbL_Allgemein"
PuttyToolStripMenuItem.Enabled = False
dgvload(Tabelle)
End Sub
Private Sub ChKZugangsdaten_CheckedChanged(sender As Object, e As EventArgs) Handles ChKZugangsdaten.CheckedChanged
dgvload_filter(Suchbegriff)
End Sub
Public Function allesladen()
dgvload_filter(Suchbegriff)
'dgvload(Tabelle)
End Function
Public Function werbinich()
If Tabelle = "TbL_Netzwerkclients" Then
Try
SenderStandort = DgVMain.CurrentRow.Cells("NWSTANDORT").Value
Catch ex As Exception
SenderStandort = LstStandort.SelectedItem
End Try
Try
SenderNetzwerk = DgVMain.CurrentRow.Cells("NETNAME").Value
Catch ex As Exception
SenderNetzwerk = LstNetzwerk.SelectedItem
End Try
Try
SenderHost = DgVMain.CurrentRow.Cells("HOST").Value
Catch Ex As Exception
SenderHost = 1
End Try
Try
SenderIP = DgVMain.CurrentRow.Cells("IPAdresse").Value
Catch ex As Exception
End Try
ElseIf Tabelle = "TbL_Allgemein" Then
Try
SenderRubrik = DgVMain.CurrentRow.Cells("Rubrik").Value
SenderTitel = DgVMain.CurrentRow.Cells("Titel").Value
Catch ex As Exception
End Try
End If
End Function
Public Function LstStandortLoad()
Dim ds As New DataSet()
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
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
MsgBox("DataadapterFill LstStandOrtLoad(): " & ex.Message)
End Try
LstStandort.SelectedItem = "Verag_SUB"
Dim dsa As New DataSet()
SQL.SQL2DS("select distinct Rubrik from tbl_allgemein", dsa)
LstAllgemein.Items.Clear()
Try
For Each dr As DataRow In dsa.Tables(0).Rows
LstAllgemein.Items.Add(dr.Item(0))
Next
Catch ex As Exception
MsgBox("DataadapterFill LstStandOrtLoad(): " & ex.Message)
End Try
End Function
Public Function TypeFilter()
Try
Dim ds As New DataSet()
Dim dt As New DataTable()
dbload()
Dim dataadapter As New SqlDataAdapter("SELECT DISTINCT TYPE from TbL_Netzwerkclients WHERE TYPE IS NOT NULL", con)
LstType.Items.Clear()
Try
con.Open()
dataadapter.Fill(ds)
LstType.Items.Add("")
For Each dr As DataRow In ds.Tables(0).Rows
If dr.Item(0) = "" Then
LstType.Items.Add("ohne")
Else
LstType.Items.Add(dr.Item(0))
End If
Next
Catch ex As Exception
MsgBox("TypeFilter(): " & ex.Message)
End Try
' LstType.SelectedItem = "---"
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Function
Public Function LstNetzwerkLoad()
Dim ds As New DataSet()
Dim Standort As String = LstStandort.SelectedItem
SQL.SQL2DS("select NETNAME from TbL_Netzwerke where NWSTANDORT='" & Standort & "' ORDER BY NETNAME", ds)
LstNetzwerk.Items.Clear()
Try
For Each dr As DataRow In ds.Tables(0).Rows
LstNetzwerk.Items.Add(dr.Item(0))
Next
Catch ex As Exception
'MsgBox("DataadapterFill LstNwerkload(): " & ex.Message)
End Try
LstNetzwerk.SelectedItem = "Intern"
Try
' LstNetzwerk.SetSelected(0, True)
NetzwerkInfoAnzeige()
Catch ex As Exception
' MsgBox("LstNetzwerkLoad SetSelected: " & ex.Message)
End Try
NetzwerkInfoAnzeige()
End Function
Public Function NetzwerkInfoAnzeige()
Dim netzwerkname As String = SenderStandort & "_" & SenderNetzwerk
LblNetzwerkinfo.Text = ""
Try
con.Open()
cmd.CommandText = "SELECT * FROM Tbl_Netzwerke WHERE Netzwerkname='" & netzwerkname & "'"
reader = cmd.ExecuteReader()
Do While reader.Read()
LblNetzwerkinfo.Text =
"Netzwerk: " & reader("Netzwerk") & " Subnetz: " & reader("Subnetz") & vbCrLf &
"Gateway: " & reader("Gateway") & vbCrLf &
"DNS Server: " & reader("DNSServer") & vbCrLf
If Class1.ReadNullAsEmptyString(reader, "DHCPServer") = "" Then
Else
LblNetzwerkinfo.Text &= "DHCP Server: " & reader("DHCPServer") & vbCrLf &
"Bereich: " & reader("DHCPStart") & "-" & reader("DHCPEnd") & vbCrLf & reader("Info")
End If
Loop
reader.Close()
Catch ex As Exception
'MsgBox("LblNetzwerkinfo Reader: " & ex.Message)
End Try
con.Close()
End Function
Public Function dbload()
con.ConnectionString = Class1.DBConString
conadmin.ConnectionString = Class1.DBConString
cmd.Connection = con
cmdadmin.Connection = conadmin
End Function
Public Function dgvload(tabelle As String)
Dim ds As New DataSet()
Dim Standort As String = LstStandort.SelectedItem
Dim Netzwerk As String = LstNetzwerk.SelectedItem
Try
If tabelle = "TbL_Netzwerkclients" Then
If ChkFreieHosts.Checked Then
SQL.SQL2DS("select * from " & tabelle & " where NWSTANDORT='" & Standort & "' AND NETNAME='" & Netzwerk & "' order by host", ds)
dgvfill(ds, "Netzwerk")
Else
SQL.SQL2DS("select * from " & tabelle & " where NWSTANDORT='" & Standort & "' AND NETNAME='" & Netzwerk & "' AND FQDN is not NUll order by host", ds)
dgvfill(ds, "Netzwerk")
End If
ElseIf tabelle = "TbL_Allgemein" Then
'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
Catch ex As Exception
'MsgBox("DataadapterFill dgvload(): " & ex.Message)
End Try
NetzwerkInfoAnzeige()
End Function
Public Function dgvload_filter(suchbegriff As String, Optional ByVal DHCPRefresh As Boolean = True)
Dim starttime As Date = DateTime.Now
Dim endtime As Date
Dim ds As New DataSet()
Dim dt As New DataTable()
Dim Standort As String = LstStandort.SelectedItem
Dim Netzwerk As String = LstNetzwerk.SelectedItem
Dim Allgemein As String = LstAllgemein.SelectedItem
Dim Suchparameter As String
Dim DHCPAbfragen As Boolean
If LstNetzwerk.SelectedItem Is Nothing And LstAllgemein.SelectedItem Is Nothing Then
Exit Function
ElseIf LstNetzwerk.SelectedItem IsNot Nothing Then
'''SUCHPARAMETER DEFINIEREN'''
If LstType.SelectedItem = "" Then
Suchparameter = "(Type LIKE'" & suchbegriff & "'OR FQDN LIKE'" & suchbegriff & "'OR QINFO LIKE'" & suchbegriff & "'OR Modell LIKE'" & suchbegriff & "'OR IPAdresse LIKE'" & suchbegriff & " 'OR Standort LIKE'" & suchbegriff & "')"
ElseIf LstType.SelectedItem = "ohne" Then
Suchparameter = "TYPE = '' AND (Type LIKE'" & suchbegriff & "'OR FQDN LIKE'" & suchbegriff & "'OR QINFO LIKE'" & suchbegriff & "'OR IPAdresse LIKE'" & suchbegriff & "'OR Modell LIKE'" & suchbegriff & "'OR Standort LIKE'" & suchbegriff & "')"
Else
Suchparameter = "TYPE = '" & LstType.SelectedItem & "' AND (Type LIKE'" & suchbegriff & "'OR FQDN LIKE'" & suchbegriff & "'OR QINFO LIKE'" & suchbegriff & "'OR IPAdresse LIKE'" & suchbegriff & "'OR Modell LIKE'" & suchbegriff & "'OR Standort LIKE'" & suchbegriff & "')"
End If
If Not ChkFreieHosts.Checked Then
'AND (DHCP = '0' OR DHCP is 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, NWSTANDORT"
If ChKZugangsdaten.Checked Then
SelSQL4DGV &= ", Benutzer, Passwort"
End If
'''ABFRAGE RADIOBUTTONS + SUCHPARAMETER'''
If RadGlobal.Checked Then
SQL.SQL2DS("select " & SelSQL4DGV & " from TbL_Netzwerkclients where " & Suchparameter & " order by host", ds)
ElseIf RadNurNetzwerk.Checked Then
SQL.SQL2DS("select " & SelSQL4DGV & " from TbL_Netzwerkclients where NWSTANDORT = '" & Standort & "' AND NETNAME ='" & Netzwerk & "' AND " & Suchparameter & " order by host", ds)
ElseIf RadStandort.Checked Then
SQL.SQL2DS("select " & SelSQL4DGV & " from TbL_Netzwerkclients where NWSTANDORT = '" & Standort & "' AND " & Suchparameter & " order by host", ds)
ElseIf suchbegriff = "" Then
SQL.SQL2DS("select " & SelSQL4DGV & " from TbL_Netzwerkclients order by host", ds)
End If
Try
endtime = DateTime.Now
LblDebugInfo.Text = "dgvload: " & ((endtime - starttime).Milliseconds) & vbCrLf
''--------------------------------------------------------------------------------------------------------/START// Abfrage DHCP Clients
If DHCPRefresh = True And SucheAktiv = False Then
con.Open()
cmd.CommandText = "SELECT DHCPAbfragen FROM Tbl_Netzwerke WHERE NWSTANDORT = '" & Standort & "' AND NETNAME ='" & Netzwerk & "'"
reader = cmd.ExecuteReader()
Do While reader.Read()
DHCPAbfragen = Class1.ReadNullAs0(reader, "DHCPAbfragen")
Loop
reader.Close()
If DHCPAbfragen = True Then
If ChkDHCPClients.Checked = True Then
Dim NWAdresse As String
Class1.Name2Netzwerk(Standort, Netzwerk, NWAdresse)
Dim DHCPServer As String = Class1.GetDHCPServer(NWAdresse)
GetDHCPClients(NWAdresse, DHCPServer, ChkFreieHosts.Checked, ds)
Else
End If
End If
' DHCPRefresh = False
End If
''--------------------------------------------------------------------------------------------------------/Ende// Abfrage DHCP Clients
dgvfill(ds, "Netzwerk")
Dim endtimedgvfill As Date = Date.Now
LblDebugInfo.Text &= "dgvfill: " & ((endtimedgvfill - starttime).Milliseconds) & vbCrLf
Catch ex As Exception
MsgBox("dgvload_filter(): " & ex.Message)
End Try
con.Close()
NetzwerkInfoAnzeige()
Else
Suchparameter = "(TITEL LIKE'" & suchbegriff & "'OR INFO LIKE'" & suchbegriff & "'OR LINK LIKE'" & suchbegriff & "')"
Dim dataadapter As New SqlDataAdapter("select * from TbL_Allgemein where " & Suchparameter & "", con)
con.Open()
dataadapter.Fill(ds)
con.Close()
dgvfill(ds, "Allgemein")
' MsgBox("keine Wahl")
End If
printds = ds
End Function
Public Function dgvfill(ds As DataSet, design As String)
Dim starttime As Date = DateTime.Now
Dim endtime As New Date
If design = "Netzwerk" Then
Try
With DgVMain
.DataSource = ds.Tables(0)
If ChkKompAnsicht.Checked Then
.DefaultCellStyle.WrapMode = DataGridViewTriState.False
.AutoSizeRowsMode = 0 'DataGridViewAutoSizeColumnsMode.ColumnHeader
'MsgBox(DgVMain.AutoSizeRowsMode)
Else
.DefaultCellStyle.WrapMode = DataGridViewTriState.True
.AutoSizeRowsMode = DataGridViewAutoSizeColumnsMode.AllCells
End If
If TxtSuche.Text = "" And LstType.SelectedItem = "" Then
.RowsDefaultCellStyle.BackColor = Color.White
SucheAktiv = False
Else
.RowsDefaultCellStyle.BackColor = Color.AntiqueWhite
SucheAktiv = True
End If
' MsgBox(SucheAktiv)
.RowHeadersVisible = True
.Columns("FQDN").DisplayIndex = 0
.Columns("FQDN").HeaderText = "Name / FQDN"
.Columns("IPAdresse").DisplayIndex = 1
.Columns("IPAdresse").AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells
' .Columns("IPAdresse").AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
.Columns("Modell").DisplayIndex = 2
.Columns("Standort").DisplayIndex = 3
.Columns("TYPE").DisplayIndex = 4
.Columns("TYPE").HeaderText = "Gerätetype"
.Columns("Seriennummer").DisplayIndex = 5
.Columns("QINFO").HeaderText = "Quick-Info"
.Columns("NWSTANDORT").Visible = False
'If ChKZugangsdaten.Checked = False Then
' .Columns("Benutzer").Visible = False
' .Columns("Passwort").Visible = False
'ElseIf ChKZugangsdaten.Checked = True Then
' .Columns("Benutzer").Visible = True
' .Columns("Benutzer").DisplayIndex = 6
' .Columns("Passwort").Visible = True
' .Columns("Passwort").DisplayIndex = 7
'End If
'' .Columns("NETNAME").Visible = False
'.Columns("Netzwerk").Visible = False
.Columns("DHCP").Visible = False
'.Columns("MAC").Visible = False
.Columns("LINK").Visible = False
'.Columns("Linked").Visible = False
'.Columns("Linked").DisplayIndex = 9
'.Columns("LinkedWith").Visible = False
'' .Columns("AddIp").Visible = False
.Columns("HOST").Visible = False
'' .Columns("NWSTANDORT").Visible = False
'.Columns("Info").Width = 250
'.Sort(DgVMain.Columns("Host"), System.ComponentModel.ListSortDirection.Ascending)
End With
Catch ex As Exception
MsgBox("With DGV: " & ex.Message)
End Try
If SelectedDGVIndex < DgVMain.Rows.Count - 1 Then
DgVMain.ClearSelection()
DgVMain.Rows(SelectedDGVIndex).Selected = True
DgVMain.FirstDisplayedScrollingRowIndex = FirstDisplayedDGVEntry
Else
DgVMain.Rows(0).Selected = True
End If
''--------------------------------------------------------------------------------------------------------/START//Farbig hervorheben, Check DHCP Filter
Dim indexDHCP As Integer = DgVMain.Columns("DHCP").Index
Dim indexFQDN As Integer = DgVMain.Columns("FQDN").Index
Dim modellFQDN As Integer = DgVMain.Columns("Modell").Index
For i = 0 To DgVMain.Rows.Count - 2 '//
If (DgVMain.Item(indexDHCP, i).Value = "1" Or DgVMain.Item(indexDHCP, i).Value = "Start" Or DgVMain.Item(indexDHCP, i).Value = "Ende") And DgVMain.Item(indexFQDN, i).Value.ToString = "" Then '
DgVMain.Rows(i).DefaultCellStyle.BackColor = Color.MistyRose
'DgVMain.Rows(i).Visible = ChkAlles.Checked
ElseIf (DgVMain.Item(indexDHCP, i).Value = "1" Or DgVMain.Item(indexDHCP, i).Value = "Start" Or DgVMain.Item(indexDHCP, i).Value = "Ende") Then
DgVMain.Rows(i).DefaultCellStyle.BackColor = Color.LightYellow
'ElseIf DgVMain.Item(indexDHCP, i).Value = "Start" Or DgVMain.Item(indexDHCP, i).Value = "Ende" Then
' DgVMain.Rows(i).DefaultCellStyle.BackColor = Color.Gold
' DgVMain.Rows(i).Visible = ChkAlles.Checked
End If
Try
If DgVMain.Item(indexFQDN, i).Value.ToString = "" And DgVMain.Item(modellFQDN, i).Value.ToString = "" And DgVMain.Item(indexDHCP, i).Value = "0" Then
DgVMain.Rows(i).DefaultCellStyle.BackColor = Color.LightGreen
' DgVMain.Rows(i).Visible = ChkAlles.Checked
End If
Catch ex As Exception
MsgBox("DgVMain.Item(index*, i).Value: " & ex.Message & vbCrLf & DgVMain.Rows.Count & " " & i)
End Try
Next i
ElseIf design = "Allgemein" Then
'MsgBox(ChKZugangsdaten.Checked)
With DgVMain
If ChkKompAnsicht.Checked Then
.DefaultCellStyle.WrapMode = DataGridViewTriState.False
Else
.DefaultCellStyle.WrapMode = DataGridViewTriState.True
End If
If TxtSuche.Text = "" And LstType.SelectedItem = "" Then
.RowsDefaultCellStyle.BackColor = Color.White
Else
.RowsDefaultCellStyle.BackColor = Color.AntiqueWhite
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
.Columns("LinkedWith").Visible = False
.Columns("Titel").Width = 150
.Sort(DgVMain.Columns("Titel"), System.ComponentModel.ListSortDirection.Ascending)
If ChKZugangsdaten.Checked = False Then
.Columns("Benutzer").Visible = False
.Columns("Passwort").Visible = False
ElseIf ChKZugangsdaten.Checked = True Then
.Columns("Benutzer").Visible = True
' .Columns("Benutzer").DisplayIndex = 6
.Columns("Passwort").Visible = True
' .Columns("Passwort").DisplayIndex = 7
End If
End With
End If
lblCount.Text = DgVMain.Rows.Count - 1
End Function
Private Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click
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
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)
Dim NWShort As String
Dim DHCPClientIP As String
Dim dhcpclients() As DHCP.DHCP_CLIENT_INFO
LblDebugInfo.Text &= ""
Dim a As UInteger = DHCP.StringIPAddressToUInt32(Netzwerk)
Dim b As UInteger = DHCP.StringIPAddressToUInt32("255.255.255.255")
DHCP.ListSubnetClients(DHCPServer, Netzwerk, dhcpclients)
DHCP.StringNWAdressToNWAdressSHORT(Netzwerk, NWShort)
Try
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 & "'")
' 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
'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()
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
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
LblUhrzeit.Text = Date.Now
End Sub
'Private Sub DgVMain_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DgVMain.CellContentDoubleClick, DgVMain.CellDoubleClick
' 'MsgBox(DgVMain.CurrentRow.Cells("HOST").Value)
' werbinich()
' If Tabelle = "TbL_Netzwerkclients" Then
' If LstStandort.SelectedItem = "" Then
' LblUhrzeit.Text = "Kein Standort ausgewählt!"
' Exit Sub
' End If
' If LstNetzwerk.SelectedItem = "" Then
' LblUhrzeit.Text = "Kein Netzwerk ausgewählt!"
' Exit Sub
' End If
' Class1.Absender = "Main"
' HostBearbeiten.Show()
' ElseIf Tabelle = "TbL_Allgemein" Then
' EintragBearbeiten.Show()
' End If
'End Sub
Private Sub CmdNetzwerkbearbeiten_Click(sender As Object, e As EventArgs) Handles CmdNetzwerkbearbeiten.Click
werbinich()
Class1.Absender = "Main"
NWEdit.StartPosition = FormStartPosition.Manual
NWEdit.Location = New Point(Location.X + 300, Location.Y + 300)
'NetzwerkBearbeiten.Show()
NWEdit.Show()
End Sub
Private Sub NetzwerkeToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NetzwerkeToolStripMenuItem.Click
NetzwerkAdmin.Show()
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
LstStandortLoad()
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
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()
End Sub
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
frm.IP = (DgVMain.CurrentRow.Cells("IPAdresse").Value)
Catch
frm.IP = (DgVMain.Rows(0).Cells("IPAdresse").Value)
End Try
If cBerechtigungen.BenutzerBerechtigungfuerStandort(Class1.LoggedOnUser.BenutzeranmeldeName, DgVMain.CurrentRow.Cells("NWSTANDORT").Value) = "R" Then
frm.Panel1.Enabled = False : frm.PanFirewall.Enabled = False
End If
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
Public Function StartHostBearbeiten()
HostBearbeiten.StartPosition = FormStartPosition.Manual
HostBearbeiten.Location = New Point(Location.X + 150, Location.Y + 150)
EintragBearbeiten.StartPosition = FormStartPosition.Manual
EintragBearbeiten.Location = New Point(Location.X + 150, Location.Y + 150)
If Tabelle = "TbL_Netzwerkclients" Then
If LstStandort.SelectedItem = "" Then
LblUhrzeit.Text = "Kein Standort ausgewählt!"
Exit Function
End If
If LstNetzwerk.SelectedItem = "" Then
LblUhrzeit.Text = "Kein Netzwerk ausgewählt!"
Exit Function
End If
Class1.Absender = "Main"
If HostBearbeiten.Visible Then
MsgBox("Fenster ist bereits geöffnet.")
HostBearbeiten.BringToFront()
Else
HostBearbeiten.Show()
End If
ElseIf Tabelle = "TbL_Allgemein" Then
If EintragBearbeiten.Visible Then
MsgBox("Fenster ist bereits geöffnet.")
EintragBearbeiten.BringToFront()
Else
EintragBearbeiten.Show()
End If
End If
End Function
Private Sub DgvMainContextMenuItemPutty_Click(sender As Object, e As EventArgs)
werbinich()
Ext_Programme.startputty(Class1.MainHost(DgVMain.CurrentRow.Cells("IPAdresse").Value))
End Sub
Private Sub DgvMainContextMenuItemLink_Click(sender As Object, e As EventArgs) Handles DgvMainContextMenuItemLink.Click, CmdLink.Click
werbinich()
Ext_Programme.startlink(DgVMain.CurrentRow.Cells("Link").Value)
End Sub
Private Sub CmdPutty_Click(sender As Object, e As EventArgs) Handles CmdPutty.Click, PuttyToolStripMenuItem.Click
Ext_Programme.startputty(Class1.MainHost(DgVMain.CurrentRow.Cells("IPAdresse").Value))
End Sub
Private Sub ChkTools_CheckedChanged(sender As Object, e As EventArgs) Handles ChkTools.CheckedChanged
If ChkTools.Checked Then
PanTools.Visible = True
Else
PanTools.Visible = False
End If
End Sub
Private Sub CmdPing_Click(sender As Object, e As EventArgs) Handles CmdPing.Click, PingToolStripMenuItem.Click
Ext_Programme.pingip(DgVMain.CurrentRow.Cells("IPAdresse").Value)
End Sub
Private Sub CmdFiles_Click(sender As Object, e As EventArgs) Handles CmdFiles.Click, DateienToolStripMenuItem.Click
If DgVMain.GetCellCount(DataGridViewElementStates.Selected) > 0 Then
explorerstarten("Client")
Else
LblUhrzeit.Text = "Keine Auswahl getätigt"
End If
End Sub
Private Sub CmdNWDateien_Click(sender As Object, e As EventArgs) Handles CmdNWDateien.Click, NetzwerkdateienToolStripMenuItem.Click
Try
explorerstarten("Netzwerk")
Catch ex As Exception
End Try
End Sub
Private Function explorerstarten(sender As String)
Dim ds As New DataSet
Dim Path As String
Dim islinked As Integer
Dim LinkedWith As String
If Tabelle = "TbL_Netzwerkclients" Then
werbinich()
If sender = "Client" Then
Try
dbload()
con.Open()
Dim sda As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE IPAdresse='" & SenderIP & "'", con)
sda.Fill(ds)
con.Close()
If IsDBNull(ds.Tables(0).Rows(0).Item("Linked")) Then
islinked = "0"
ElseIf Not IsDBNull(ds.Tables(0).Rows(0).Item("Linked")) Then
islinked = ds.Tables(0).Rows(0).Item("Linked")
End If
If IsDBNull(ds.Tables(0).Rows(0).Item("LinkedWith")) Then
LinkedWith = ""
ElseIf Not IsDBNull(ds.Tables(0).Rows(0).Item("LinkedWith")) Then
LinkedWith = ds.Tables(0).Rows(0).Item("LinkedWith")
End If
'Dim linked As Integer = ds.Tables(0).Rows(0).Item("Linked")
'Dim IPA As String = ds.Tables(0).Rows(0).Item("LinkedWith")
If islinked = "1" Then
Dim dslinked As New DataSet()
dbload()
con.Open()
Dim da As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE IPAdresse='" & LinkedWith & "'", con)
da.Fill(dslinked)
con.Close()
Path = Class1.FilePath & "\" & dslinked.Tables(0).Rows(0).Item("NWStandort") & "_" & dslinked.Tables(0).Rows(0).Item("NetName") & "\" & dslinked.Tables(0).Rows(0).Item("Host")
Else
Path = Class1.FilePath & "\" & SenderStandort & "_" & SenderNetzwerk & "\" & SenderHost
End If
Catch ex As Exception
MsgBox("ExplorerStarten() Tbl_Netzwerkclients: " & ex.Message)
End Try
ElseIf sender = "Netzwerk" Then
Path = Class1.FilePath & "\" & SenderStandort & "_Allgemein"
End If
ElseIf Tabelle = "TbL_Allgemein" Then
Try
dbload()
con.Open()
Dim sda As New SqlDataAdapter("Select * FROM TbL_Allgemein WHERE Rubrik='" & DgVMain.CurrentRow.Cells("Rubrik").Value & "' AND Titel='" & DgVMain.CurrentRow.Cells("Titel").Value & "'", con)
sda.Fill(ds)
con.Close()
Dim Info As String = ds.Tables(0).Rows(0).Item("Info")
If IsDBNull(ds.Tables(0).Rows(0).Item("Linked")) Then
islinked = "0"
ElseIf Not IsDBNull(ds.Tables(0).Rows(0).Item("Linked")) Then
islinked = ds.Tables(0).Rows(0).Item("Linked")
End If
If IsDBNull(ds.Tables(0).Rows(0).Item("LinkedWith")) Then
LinkedWith = ""
ElseIf Not IsDBNull(ds.Tables(0).Rows(0).Item("LinkedWith")) Then
LinkedWith = ds.Tables(0).Rows(0).Item("LinkedWith")
End If
If islinked = "1" Then
Dim dslinked As New DataSet()
dbload()
con.Open()
Dim da As New SqlDataAdapter("SELECT * FROM Tbl_Allgemein WHERE LinkedWith='" & LinkedWith & "'", con)
da.Fill(dslinked)
con.Close()
Path = Class1.FilePath & "\" & dslinked.Tables(0).Rows(0).Item("Rubrik") & "\" & dslinked.Tables(0).Rows(0).Item("Titel") '& "\" & dslinked.Tables(0).Rows(0).Item("Host")
Else
'MsgBox("not linked")
Path = Class1.FilePath & "\" & DgVMain.CurrentRow.Cells("Rubrik").Value & "\" & DgVMain.CurrentRow.Cells("Titel").Value '& "\" & SenderHost
End If
Catch ex As Exception
MsgBox("ExplorerStarten() Tbl_Allgemein: " & ex.Message)
End Try
Else
MsgBox("Da lief was schief...")
Exit Function
End If
''Pfad öffnen:
Try
If IO.Directory.Exists(Path) Then
Process.Start(Path)
Else
IO.Directory.CreateDirectory(Path)
Process.Start(Path)
End If
Catch ex As Exception
End Try
'MsgBox(Tabelle)
'MsgBox(path)
End Function
Private Sub AnsichtDruckenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AnsichtDruckenToolStripMenuItem.Click
' PrintDGV.Print_DataGridView(DgVMain)
Dim Print As New frmPrint
Print.DruckeZugangsdaten = ChKZugangsdaten.Checked
Print.ds = printds
Print.Show()
End Sub
Public Function neuerEintrag()
werbinich()
If Tabelle = "TbL_Netzwerkclients" Then
If LstStandort.SelectedItem = "" Then
LblUhrzeit.Text = "Kein Standort ausgewählt!"
Exit Function
End If
If LstNetzwerk.SelectedItem = "" Then
LblUhrzeit.Text = "Kein Netzwerk ausgewählt!"
Exit Function
End If
Class1.Absender = "Main"
HostBearbeiten.Show()
ElseIf Tabelle = "TbL_Allgemein" Then
'SenderTitel = ""
'SenderRubrik = LstAllgemein.SelectedItem
Neu = True
Dim EintragNeu As New EintragBearbeiten
EintragNeu.rubrik = Class1.DBNull2emptyString((DgVMain.Rows(0).Cells("Rubrik").Value))
EintragNeu.Show()
End If
End Function
Private Sub ErstellenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ErstellenToolStripMenuItem.Click
neuerEintrag()
End Sub
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
Private Sub ExportToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExportToolStripMenuItem.Click
Class1.csvexport(DgVMain)
End Sub
Private Sub ImportToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ImportToolStripMenuItem.Click
CSVImportieren.Show()
End Sub
Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ExitToolStripMenuItem.Click
Application.Exit()
End Sub
Private Sub Closing_Closing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Application.Exit()
End Sub
Private Sub UpdateToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles UpdateToolStripMenuItem.Click
CheckUpdate("ImProgramm")
End Sub
Public Sub StartUpdate()
Dim Updater As String = "Dokumentation_Updater.exe"
Try
My.Computer.FileSystem.CopyFile(Updatequelle & "\" & Updater, sAppPath & "\" & Updater, True)
Catch ex As Exception
End Try
Process.Start("Dokumentation_Updater.exe")
Application.Exit()
End Sub
Private Sub CmdSucheReset_Click(sender As Object, e As EventArgs) Handles CmdSucheReset.Click
TxtSuche.Text = ""
LstType.SelectedItem = ""
RadNurNetzwerk.Checked = True
End Sub
Public Function CheckUpdate(starter As String)
Dim RemoteVersion As String = ""
LblVersion.Text = "Version: " & Version
Try
con.Close()
conadmin.Open()
cmdadmin.CommandText = "SELECT prog_aktuelleVersion FROM ADMIN.dbo.tblProgramme WHERE prog_codename= '" & My.Resources.Programmcode & "'"
reader = cmdadmin.ExecuteReader()
Do While reader.Read()
RemoteVersion = reader("prog_aktuelleVersion")
Loop
reader.Close()
conadmin.Close()
Catch ex As Exception
'reader.Close()
MsgBox("Kann RemoteVersion nicht abfragen." & ex.Message)
TimerUpdate.Enabled = False
conadmin.Close()
Exit Function
End Try
Try
If CInt(RemoteVersion.Replace(".", "")) > CInt(Version.Replace(".", "")) Then
TimerUpdate.Enabled = False
' LblDebugInfo.Text = sAppPath & ", Version: " & Version & vbCrLf & "TimerUpdateStatus: " & TimerUpdate.Enabled
LblInfo.ForeColor = Color.Red
LblInfo.Text = "Neue Version verfügbar: " & RemoteVersion
If MsgBox("Neue Updates verfügbar. Jetzt ausführen?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
StartUpdate()
Else
Exit Function
End If
Else
LblInfo.Text = ""
If starter = "ImProgramm" Then
If MsgBox("Keine neuen Updates verfügbar. Trotzdem ausführen?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then StartUpdate()
Else
End If
' LblDebugInfo.Text = sAppPath & ", Version: " & Version & vbCrLf & "TimerUpdateStatus: " & TimerUpdate.Enabled
End If
Catch ex As Exception
MsgBox("Kann Versionen nicht vergleichen: " & ex.Message)
End Try
End Function
Private Sub Form_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.KeyData = Keys.F5 Then
If Tabelle = "TbL_Allgemein" Then
dgvload(Tabelle)
Else
dgvload_filter(Suchbegriff)
End If
End If
End Sub
Private Sub TimerUpdate_Tick(sender As Object, e As EventArgs) Handles TimerUpdate.Tick
If Class1.DebugMode = False Then CheckUpdate("Timer")
End Sub
Private Sub DgVMain_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DgVMain.CellClick
SelectedDGVIndex = DgVMain.CurrentRow.Index
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
Dim ds As New DataSet
Dim linked As Boolean = False
Dim Standort, Netzwerkname As String
Dim slavenetzwerke As String = ""
Dim NetzID As String
Dim IP As String = DgVMain.CurrentRow.Cells("IPAdresse").Value
Dim Host As String = DgVMain.CurrentRow.Cells("Host").Value
Dim netzwerk As String = Class1.IP2ShortNW(IP)
Class1.ip2netname(IP, Standort, Netzwerkname)
NetzID = Standort & "_" & Netzwerkname
Dim da As New SqlDataAdapter("SELECT * FROM TbL_Netzwerkclients WHERE LinkedWith ='" & IP & "'", con)
da.Fill(ds)
Dim i As Integer = 0
For Each dr As DataRow In ds.Tables(0).Rows
slavenetzwerke &= ds.Tables(0).Rows(i).Item("NWStandort") & "_" & ds.Tables(0).Rows(i).Item("NetName") & ": " & ds.Tables(0).Rows(i).Item("IPAdresse") & vbCrLf
i = i + 1
Next
con.Close()
If Class1.IsLinked(IP) = "1" Then
linked = True
End If
If MsgBox("Eintrag >>" & Host & "<< wirklich löschen?", MessageBoxButtons.OKCancel + MsgBoxStyle.DefaultButton2, "Hosteintrag löschen") = DialogResult.OK Then
Me.Cursor = Cursors.WaitCursor
Try
con.Open()
cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE LinkedWith ='" & IP & "'"
cmd.ExecuteNonQuery()
reader = cmd.ExecuteReader()
If reader.Read Then
Me.Cursor = Cursors.Default
If MsgBox("Dieser Eintrag ist ein Master-Eintrag (Linked). Es werden sämtliche Slave-Einträge" & vbCrLf & slavenetzwerke & " ebenfalls gelöscht. Fortfahren?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
Me.Cursor = Cursors.WaitCursor
con.Close()
con.Open()
cmd.CommandText = "DELETE TbL_Netzwerkclients WHERE LinkedWith ='" & IP & "'"
cmd.ExecuteNonQuery()
cmd.CommandText = "DELETE TbL_Netzwerkclients WHERE IPAdresse ='" & IP & "'"
cmd.ExecuteNonQuery()
Else
con.Close()
Exit Sub
End If
End If
con.Close()
con.Open()
cmd.CommandText = "DELETE TbL_Netzwerkclients WHERE IPAdresse ='" & IP & "'"
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
End Try
Me.Cursor = Cursors.Default
con.Close()
ElseIf DialogResult.Cancel Then
con.Close()
Exit Sub
End If
If linked = False Then
If MsgBox("Dazugehörigen Ordner im Dateisystem löschen?", MessageBoxButtons.YesNo + MsgBoxStyle.DefaultButton2, "Dateien löschen") = DialogResult.Yes Then
Me.Cursor = Cursors.WaitCursor
Dim path As String = Class1.FilePath & "\" & NetzID & "\" & Host
Try
If IO.Directory.Exists(path) Then
Dim files As String() = IO.Directory.GetFiles(path)
For Each file As String In files
IO.File.Delete(file)
Next
IO.Directory.Delete(path, True)
'Else
' MsgBox("Kein Ordner zum Löschen gefunden: wird übersprungen.")
End If
Catch ex As Exception
MsgBox("Beim Löschen der Dateien: " & ex.Message)
End Try
ElseIf DialogResult.No Then
Exit Sub
End If
Me.Cursor = Cursors.Default
End If
Class1.RefillNW(netzwerk)
dgvload_filter(Suchbegriff)
ElseIf Tabelle = "TbL_Allgemein" Then
Dim Rubrik, Titel As String
Rubrik = DgVMain.CurrentRow.Cells("Rubrik").Value
Titel = DgVMain.CurrentRow.Cells("Titel").Value
If MessageBox.Show("Eintrag >>" & Titel & "<< wirklich löschen?", "Eintrag löschen", MessageBoxButtons.OKCancel) = DialogResult.OK Then
con.Open()
cmd.CommandText = "DELETE TbL_Allgemein WHERE RUBRIK = '" & Rubrik & "' AND TITEL= '" & Titel & "'"
cmd.ExecuteNonQuery()
con.Close()
End If
If MsgBox("Dazugehörigen Ordner im Dateisystem löschen?", MessageBoxButtons.YesNo + MsgBoxStyle.DefaultButton2, "Dateien löschen") = DialogResult.Yes Then
Dim path As String = Class1.FilePath & "\" & Rubrik & "\" & Titel
Try
If IO.Directory.Exists(path) Then
Dim files As String() = IO.Directory.GetFiles(path)
For Each file As String In files
IO.File.Delete(file)
Next
IO.Directory.Delete(path, True)
'Else
' MsgBox("Kein Ordner zum Löschen gefunden: wird übersprungen.")
End If
Catch ex As Exception
MsgBox("Beim Löschen der Dateien: " & ex.Message)
End Try
End If
dgvload("TbL_Allgemein")
LstAllgemein.SelectedItem = Rubrik
End If
End Sub
End Class
'1208