1200 lines
47 KiB
VB.net
1200 lines
47 KiB
VB.net
Imports System.Data.SqlClient
|
|
'Imports System.IO
|
|
'Imports System.Runtime.InteropServices
|
|
'Imports System.Text
|
|
Imports System.Reflection
|
|
|
|
|
|
|
|
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 Debug As Boolean
|
|
Public Suchbegriff As String
|
|
Public Tabelle 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
|
|
|
|
|
|
|
|
|
|
|
|
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
|
|
Me.KeyPreview = True
|
|
'MsgBox(sAppPath)
|
|
If sAppPath Like "*\bin\Debug" Then
|
|
Debug = True
|
|
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()
|
|
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
|
|
|
|
EnableDoubleBuffered(DgVMain)
|
|
|
|
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.Enabled = True
|
|
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.Enabled = False
|
|
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()
|
|
Dim dt As New DataTable()
|
|
dbload()
|
|
Dim dataadapter As New SqlDataAdapter("SELECT NWSTANDORT from TbL_Netzwerke where main='True' order by NWSTANDORT", con)
|
|
LstStandort.Items.Clear()
|
|
|
|
Try
|
|
con.Open()
|
|
dataadapter.Fill(ds)
|
|
|
|
'DgVMain.DataSource = ds.Tables(0)
|
|
|
|
For Each dr As DataRow In ds.Tables(0).Rows
|
|
LstStandort.Items.Add(dr.Item(0))
|
|
Next
|
|
|
|
Catch ex As Exception
|
|
MsgBox("DataadapterFill LstStandOrtLoad(): " & ex.Message)
|
|
End Try
|
|
|
|
con.Close()
|
|
'LstStandort.SelectedIndex = 0
|
|
LstStandort.SelectedItem = "Verag_SUB"
|
|
|
|
Dim dsa As New DataSet()
|
|
Dim da_allgemein As New SqlDataAdapter("select distinct Rubrik from tbl_allgemein", con)
|
|
LstAllgemein.Items.Clear()
|
|
|
|
Try
|
|
con.Open()
|
|
da_allgemein.Fill(dsa)
|
|
|
|
'DgVMain.DataSource = ds.Tables(0)
|
|
|
|
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
|
|
|
|
con.Close()
|
|
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 dt As New DataTable()
|
|
Dim Standort As String = LstStandort.SelectedItem
|
|
dbload()
|
|
Dim dataadapter As New SqlDataAdapter("select NETNAME from TbL_Netzwerke where NWSTANDORT='" & Standort & "' ORDER BY NETNAME", con)
|
|
LstNetzwerk.Items.Clear()
|
|
Try
|
|
con.Open()
|
|
dataadapter.Fill(ds)
|
|
|
|
'DgVMain.DataSource = ds.Tables(0)
|
|
|
|
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
|
|
con.Close()
|
|
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 dt As New DataTable()
|
|
Dim Standort As String = LstStandort.SelectedItem
|
|
Dim Netzwerk As String = LstNetzwerk.SelectedItem
|
|
|
|
Try
|
|
con.Open()
|
|
|
|
If tabelle = "TbL_Netzwerkclients" Then
|
|
If ChkFreieHosts.Checked Then
|
|
Dim dataadapter As New SqlDataAdapter("select * from " & tabelle & " where NWSTANDORT='" & Standort & "' AND NETNAME='" & Netzwerk & "' order by host", con)
|
|
dataadapter.Fill(ds)
|
|
dgvfill(ds, "Netzwerk")
|
|
Else
|
|
Dim dataadapter As New SqlDataAdapter("select * from " & tabelle & " where NWSTANDORT='" & Standort & "' AND NETNAME='" & Netzwerk & "' AND FQDN is not NUll order by host", con)
|
|
dataadapter.Fill(ds)
|
|
dgvfill(ds, "Netzwerk")
|
|
End If
|
|
|
|
ElseIf tabelle = "TbL_Allgemein" Then
|
|
Dim dataadapter As New SqlDataAdapter("select * from " & tabelle & " WHERE Rubrik = '" & LstAllgemein.SelectedItem & "'", con)
|
|
dataadapter.Fill(ds)
|
|
dgvfill(ds, "Allgemein")
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
'MsgBox("DataadapterFill dgvload(): " & ex.Message)
|
|
End Try
|
|
|
|
con.Close()
|
|
NetzwerkInfoAnzeige()
|
|
End Function
|
|
|
|
Public Function dgvload_filter(suchbegriff As String)
|
|
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 & "')"
|
|
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 & "')"
|
|
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 & "')"
|
|
End If
|
|
|
|
If Not ChkFreieHosts.Checked Then
|
|
'AND (DHCP = '0' OR DHCP is Null)
|
|
Suchparameter &= " and FQDN 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"
|
|
If ChKZugangsdaten.Checked Then
|
|
SelSQL4DGV &= ", Benutzer, Passwort"
|
|
End If
|
|
|
|
'''ABFRAGE RADIOBUTTONS + SUCHPARAMETER'''
|
|
|
|
If RadGlobal.Checked Then
|
|
Dim dataadapter As New SqlDataAdapter("select " & SelSQL4DGV & " from TbL_Netzwerkclients where " & Suchparameter & " order by host", con)
|
|
con.Open()
|
|
dataadapter.Fill(ds)
|
|
ElseIf RadNurNetzwerk.Checked Then
|
|
Dim dataadapter As New SqlDataAdapter("select " & SelSQL4DGV & " from TbL_Netzwerkclients where NWSTANDORT = '" & Standort & "' AND NETNAME ='" & Netzwerk & "' AND " & Suchparameter & " order by host", con)
|
|
con.Open()
|
|
dataadapter.Fill(ds)
|
|
ElseIf RadStandort.Checked Then
|
|
Dim dataadapter As New SqlDataAdapter("select " & SelSQL4DGV & " from TbL_Netzwerkclients where NWSTANDORT = '" & Standort & "' AND " & Suchparameter & " order by host", con)
|
|
con.Open()
|
|
dataadapter.Fill(ds)
|
|
ElseIf suchbegriff = "" Then
|
|
Dim dataadapter As New SqlDataAdapter("select " & SelSQL4DGV & " from TbL_Netzwerkclients order by host", con)
|
|
con.Open()
|
|
dataadapter.Fill(ds)
|
|
End If
|
|
con.Close()
|
|
|
|
Try
|
|
endtime = DateTime.Now
|
|
LblDebugInfo.Text = "dgvload: " & ((endtime - starttime).Milliseconds) & vbCrLf
|
|
''--------------------------------------------------------------------------------------------------------/START// Abfrage DHCP Clients
|
|
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
|
|
|
|
''--------------------------------------------------------------------------------------------------------/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
|
|
End Function
|
|
|
|
Public Function dgvfill(ds As DataSet, design As String)
|
|
Dim starttime As Date = DateTime.Now
|
|
Dim endtime As Date
|
|
If design = "Netzwerk" Then
|
|
|
|
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
|
|
Else
|
|
.RowsDefaultCellStyle.BackColor = Color.AntiqueWhite
|
|
End If
|
|
|
|
.RowHeadersVisible = True
|
|
|
|
.Columns("FQDN").DisplayIndex = 0
|
|
.Columns("FQDN").HeaderText = "Name / FQDN"
|
|
|
|
.Columns("IPAdresse").DisplayIndex = 1
|
|
.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").DisplayIndex = 8
|
|
|
|
'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
|
|
|
|
|
|
''--------------------------------------------------------------------------------------------------------/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("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
|
|
End Function
|
|
|
|
Private Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click
|
|
dgvload_filter(Suchbegriff)
|
|
End Sub
|
|
|
|
Private Sub CMdTest2_Click(sender As Object, e As EventArgs) Handles CMdTest2.Click
|
|
LstNetzwerkLoad()
|
|
NetzwerkInfoAnzeige()
|
|
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)
|
|
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"
|
|
|
|
|
|
''----------------------------------------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
|
|
|
|
ds.Tables(0).Rows.Add(newrow)
|
|
'End If
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
ds.Tables(0).DefaultView.Sort = "Host"
|
|
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
|
|
'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 Then
|
|
Suchbegriff = "%%"
|
|
dgvload_filter(Suchbegriff)
|
|
Else
|
|
Suchbegriff = "%" & Class1.hochkomma(TxtSuche.Text) & "%"
|
|
ChkDHCPClients.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
|
|
werbinich()
|
|
StartHostBearbeiten()
|
|
|
|
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()
|
|
startputty()
|
|
End Sub
|
|
|
|
Private Sub DgvMainContextMenuItemLink_Click(sender As Object, e As EventArgs) Handles DgvMainContextMenuItemLink.Click, CmdLink.Click
|
|
werbinich()
|
|
startlink()
|
|
End Sub
|
|
Public Function startlink()
|
|
Dim URL As String
|
|
Try
|
|
URL = DgVMain.CurrentRow.Cells("Link").Value
|
|
If URL.Contains("http") Or URL.Contains("https") Then
|
|
Process.Start(DgVMain.CurrentRow.Cells("Link").Value)
|
|
ElseIf URL = "" Then
|
|
Exit Function
|
|
Else
|
|
Dim mstsc As New Process
|
|
mstsc.StartInfo.FileName = "mstsc.exe"
|
|
mstsc.StartInfo.Arguments = " /v: " & DgVMain.CurrentRow.Cells("Link").Value
|
|
mstsc.Start()
|
|
|
|
End If
|
|
|
|
' Process.Start("mstsc.exe", "/v: dc01")
|
|
Catch ex As Exception
|
|
'MsgBox(ex.Message)
|
|
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Public Function startputty()
|
|
Dim MainIP As String = Class1.MainHost(DgVMain.CurrentRow.Cells("IPAdresse").Value)
|
|
Dim Benutzer, Passwort As String
|
|
Class1.GetUserPasswort(MainIP, Benutzer, Passwort)
|
|
Try
|
|
Dim putty As New Process
|
|
putty.StartInfo.FileName = "putty.exe"
|
|
If Benutzer = "" And Passwort = "" Then
|
|
putty.StartInfo.Arguments = DgVMain.CurrentRow.Cells("IPAdresse").Value
|
|
Else
|
|
putty.StartInfo.Arguments = DgVMain.CurrentRow.Cells("IPAdresse").Value & " -l " & Benutzer & " -pw " & Passwort
|
|
End If
|
|
putty.Start()
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
|
|
End Try
|
|
End Function
|
|
|
|
Private Sub CmdPutty_Click(sender As Object, e As EventArgs) Handles CmdPutty.Click, PuttyToolStripMenuItem.Click
|
|
startputty()
|
|
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
|
|
Dim ping As New Process
|
|
ping.StartInfo.FileName = "cmd.exe"
|
|
ping.StartInfo.Arguments = " /k ping " & DgVMain.CurrentRow.Cells("IPAdresse").Value
|
|
ping.Start()
|
|
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)
|
|
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
|
|
EintragBearbeiten.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)
|
|
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
|
|
MsgBox("Keine neuen Updates verfügbar.")
|
|
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
|
|
CheckUpdate("Timer")
|
|
End Sub
|
|
|
|
Public Sub EnableDoubleBuffered(ByVal dgv As DataGridView)
|
|
|
|
Dim dgvType As Type = dgv.[GetType]()
|
|
|
|
Dim pi As PropertyInfo = dgvType.GetProperty("DoubleBuffered",
|
|
BindingFlags.Instance Or BindingFlags.NonPublic)
|
|
|
|
pi.SetValue(dgv, True, Nothing)
|
|
|
|
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 IP As String = DgVMain.CurrentRow.Cells("IPAdresse").Value
|
|
Dim da As New SqlDataAdapter("SELECT * FROM TbL_Netzwerkclients WHERE LinkedWith ='" & IP & "'", con)
|
|
Dim linked As Boolean = False
|
|
Dim slavenetzwerke As String = ""
|
|
Dim NetzID As String = DgVMain.CurrentRow.Cells("NWStandort").Value & "_" & DgVMain.CurrentRow.Cells("NETNAME").Value
|
|
Dim Host As String = DgVMain.CurrentRow.Cells("Host").Value
|
|
Dim netzwerk As String = DgVMain.CurrentRow.Cells("Netzwerk").Value
|
|
|
|
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 DgVMain.CurrentRow.Cells("Linked").Value = "1" Then
|
|
linked = True
|
|
End If
|
|
|
|
If MessageBox.Show("Eintrag >>" & Host & "<< wirklich löschen?", "Hosteintrag löschen", MessageBoxButtons.OKCancel) = DialogResult.OK Then
|
|
Try
|
|
con.Open()
|
|
cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE LinkedWith ='" & IP & "'"
|
|
cmd.ExecuteNonQuery()
|
|
reader = cmd.ExecuteReader()
|
|
If reader.Read Then
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
|
|
|