1428 lines
59 KiB
VB.net
1428 lines
59 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 = "\\share01.verag.ost.dmn\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 " & Class1.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
|
|
chkTSSitzungen.Checked = True
|
|
|
|
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()
|
|
|
|
cSQL.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
|
|
|
|
'MsgBox(LstStandort.Items.Count)
|
|
If Class1.LoggedOnUser.Domäne = "verag.ost.dmn" Then
|
|
LstStandort.SelectedItem = "Verag_SUB"
|
|
' MsgBox("Hier")
|
|
Else
|
|
LstStandort.SelectedIndex = 0
|
|
'MsgBox("Dort")
|
|
End If
|
|
|
|
|
|
Dim dsa As New DataSet()
|
|
cSQL.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
|
|
|
|
cSQL.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
|
|
cSQL.SQL2DS("select * from " & tabelle & " where NWSTANDORT='" & Standort & "' AND NETNAME='" & Netzwerk & "' order by host", ds)
|
|
dgvfill(ds, "Netzwerk")
|
|
Else
|
|
cSQL.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)
|
|
cSQL.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
|
|
|
|
'''BERECHTIGUNGEN ABFRAGEN'''
|
|
|
|
Suchparameter &= "AND ("
|
|
'For Each ber As cBerechtigungen In Class1.LoggedOnUserRights
|
|
' If Not ber.Zugriff = "0" Then
|
|
' Suchparameter &= "NWSTANDORT =" & ber.Standort & " OR "
|
|
' End If
|
|
'Next
|
|
For Each ShownStandort In Class1.Standorte
|
|
Suchparameter &= "NWSTANDORT ='" & ShownStandort & "' OR "
|
|
Next
|
|
Suchparameter = Suchparameter.Substring(0, Suchparameter.Length - 3)
|
|
Suchparameter &= ")"
|
|
|
|
''''''''''''''''''''''''''''''''''''''''''''
|
|
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
|
|
cSQL.SQL2DS("select " & SelSQL4DGV & " from TbL_Netzwerkclients where " & Suchparameter & " order by host", ds)
|
|
ElseIf RadNurNetzwerk.Checked Then
|
|
cSQL.SQL2DS("select " & SelSQL4DGV & " from TbL_Netzwerkclients where NWSTANDORT = '" & Standort & "' AND NETNAME ='" & Netzwerk & "' AND " & Suchparameter & " order by host", ds)
|
|
ElseIf RadStandort.Checked Then
|
|
cSQL.SQL2DS("select " & SelSQL4DGV & " from TbL_Netzwerkclients where NWSTANDORT = '" & Standort & "' AND " & Suchparameter & " order by host", ds)
|
|
ElseIf suchbegriff = "" Then
|
|
cSQL.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
|
|
|
|
Class1.HostList.Clear()
|
|
|
|
For Each dr As DataRow In ds.Tables(0).Rows
|
|
Class1.HostList.Add(dr.Item("IPAdresse").ToString)
|
|
Next
|
|
|
|
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()
|
|
cSQL.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 & "') AND " & Suchparameter & "", ds)
|
|
|
|
|
|
dgvfill(ds, "Allgemein")
|
|
' MsgBox("keine Wahl")
|
|
End If
|
|
printds = ds
|
|
End Function
|
|
|
|
Public Function dgvfill(ds As DataSet, design As String)
|
|
' Class1.dtSuchergebnis.Clear()
|
|
Class1.dtSuchergebnis = ds.Tables(0)
|
|
|
|
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
|
|
Try
|
|
DgVMain.ClearSelection()
|
|
DgVMain.Rows(SelectedDGVIndex).Selected = True
|
|
DgVMain.FirstDisplayedScrollingRowIndex = FirstDisplayedDGVEntry
|
|
Catch
|
|
End Try
|
|
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
|
|
.Columns("Zugriff").Visible = False
|
|
.Columns("Standort").Visible = False
|
|
.Columns("ID1").Visible = False
|
|
.Columns("Benutzeranmeldename").Visible = False
|
|
.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
|
|
'cFolder.netdelete("10.4.3.17")
|
|
|
|
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"
|
|
Dim NWE As New NWEdit
|
|
'NWE.NWStandort = SenderStandort
|
|
'NWE.Netzwerkname = SenderNetzwerk
|
|
NWE.NW.getNetzwerk(SenderStandort, SenderNetzwerk)
|
|
NWE.StartPosition = FormStartPosition.Manual
|
|
NWE.Location = New Point(Location.X + 300, Location.Y + 300)
|
|
'NetzwerkBearbeiten.Show()
|
|
NWE.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
|
|
Dim NW As New cNetzwerk
|
|
NW.getNetzwerk(LstStandort.SelectedItem, LstNetzwerk.SelectedItem)
|
|
NW.getFirstHost()
|
|
frm.IP = NW.StartIP
|
|
End Try
|
|
'If cBerechtigungen.BenutzerBerechtigungfuerStandort(Class1.LoggedOnUser.BenutzeranmeldeName, DgVMain.CurrentRow.Cells("NWSTANDORT").Value) = "R" Then
|
|
If cBerechtigungen.BenutzerBerechtigungfuerStandort(Class1.LoggedOnUser.BenutzeranmeldeName, LstStandort.SelectedItem) = "R" Then
|
|
frm.Panel1.Enabled = False : frm.PanFirewall.Enabled = False
|
|
End If
|
|
frm.StartPosition = FormStartPosition.CenterScreen
|
|
AddHandler frm.FormClosing, Function()
|
|
Me.BringToFront()
|
|
dgvload_filter(Suchbegriff)
|
|
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.Berechtigung = Class1.DBNull2emptyString(DgVMain.CurrentRow.Cells("Zugriff").Value)
|
|
If Eintrag.getFromSQL() = -1 Then
|
|
btnNeu.PerformClick() : Exit Sub
|
|
End If
|
|
Dim frm As New frmAllgemeinEintrag
|
|
frm.Eintrag = Eintrag
|
|
frm.Text = Eintrag.Titel
|
|
frm.btnBerechtigungen.Enabled = Class1.LoggedOnUserisAdmin
|
|
AddHandler frm.FormClosing, Function()
|
|
Me.BringToFront()
|
|
dgvload(Tabelle)
|
|
LstAllgemein.SelectedItem = Eintrag.rubrik
|
|
DgVMain.Rows(returncleandgvindex(SelectedDGVIndex)).Selected = True
|
|
End Function
|
|
frm.Show()
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Function returncleandgvindex(dgvindex As Integer)
|
|
Try
|
|
DgVMain.Rows(dgvindex).Selected = True
|
|
Return dgvindex
|
|
Catch ex As Exception
|
|
Return 0
|
|
End Try
|
|
End Function
|
|
|
|
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, Optional ByVal art As String = "Dateien")
|
|
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()
|
|
cSQL.SQL2DS("SELECT * FROM Tbl_NetzwerkClients WHERE IPAdresse='" & SenderIP & "'", ds)
|
|
|
|
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()
|
|
cSQL.SQL2DS("SELECT * FROM Tbl_NetzwerkClients WHERE IPAdresse='" & LinkedWith & "'", dslinked)
|
|
Select Case art
|
|
Case "Dateien"
|
|
Path = Class1.FilePath & "\" & dslinked.Tables(0).Rows(0).Item("NWStandort") & "_" & dslinked.Tables(0).Rows(0).Item("NetName") & "\" & dslinked.Tables(0).Rows(0).Item("Host")
|
|
Case "SMB"
|
|
Path = "\\" & dslinked.Tables(0).Rows(0).Item("IPAdresse")
|
|
End Select
|
|
|
|
Else
|
|
Select Case art
|
|
Case "Dateien"
|
|
Path = Class1.FilePath & "\" & SenderStandort & "_" & SenderNetzwerk & "\" & SenderHost
|
|
Case "SMB"
|
|
Path = "\\" & SenderIP
|
|
End Select
|
|
|
|
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
|
|
Select Case art
|
|
Case "Dateien"
|
|
If IO.Directory.Exists(Path) Then
|
|
Process.Start(Path)
|
|
Else
|
|
IO.Directory.CreateDirectory(Path)
|
|
Process.Start(Path)
|
|
End If
|
|
Case "SMB"
|
|
Process.Start(Path)
|
|
End Select
|
|
|
|
Catch ex As Exception
|
|
MsgBox("Pfad öffnen: " & Path & vbCrLf & ex.Message)
|
|
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)
|
|
dbload()
|
|
Dim RemoteVersion As String = ""
|
|
LblVersion.Text = "Version: " & Version
|
|
Try
|
|
Dim ds As New DataSet
|
|
cSQL.SQL2DS("SELECT prog_aktuelleVersion FROM ADMIN.dbo.tblProgramme WHERE prog_codename= '" & My.Resources.Programmcode & "'", ds)
|
|
If ds.Tables(0).Rows.Count Then
|
|
RemoteVersion = ds.Tables(0).Rows(0).Item(0).ToString
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("Kann RemoteVersion nicht abfragen." & ex.Message)
|
|
TimerUpdate.Enabled = False
|
|
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 frm As New frmAllgemeinEintrag
|
|
frm.Text = "Neuer Eintrag"
|
|
'Eintrag.Titel = Class1.DBNull2emptyString((DgVMain.CurrentRow.Cells("Titel").Value))
|
|
If Class1.DBNull2emptyString((DgVMain.CurrentRow.Cells("Rubrik").Value)) = "" Then
|
|
frm.Eintrag.rubrik = Class1.DBNull2emptyString((DgVMain.Rows(0).Cells("Rubrik").Value))
|
|
Else
|
|
frm.Eintrag.rubrik = Class1.DBNull2emptyString((DgVMain.CurrentRow.Cells("Rubrik").Value))
|
|
End If
|
|
AddHandler frm.FormClosing, Function()
|
|
Me.BringToFront()
|
|
dgvload(Tabelle)
|
|
LstAllgemein.SelectedItem = frm.Eintrag.rubrik
|
|
DgVMain.Rows(SelectedDGVIndex).Selected = True
|
|
End Function
|
|
frm.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
|
|
panTSSitzungen.Controls.Clear()
|
|
Dim dingsi As New uscntr_TSSitzungen
|
|
' Threading.Thread.Sleep(2000)
|
|
panTSSitzungen.Controls.Add(dingsi)
|
|
|
|
|
|
End Sub
|
|
|
|
Private Sub ToolStripMenuItemINFO_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItemINFO.Click
|
|
Dim frm As New frmLeer
|
|
frm.Text = "INFO"
|
|
Dim usrcntrl As New uscntr_INFO
|
|
|
|
usrcntrl.Dock = DockStyle.Fill : frm.PanMain.Controls.Add(usrcntrl)
|
|
frm.Show()
|
|
End Sub
|
|
|
|
Private Sub SMBToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles SMBToolStripMenuItem.Click
|
|
If DgVMain.GetCellCount(DataGridViewElementStates.Selected) > 0 Then
|
|
explorerstarten("Client", "SMB")
|
|
Else
|
|
LblUhrzeit.Text = "Keine Auswahl getätigt"
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub IPAdresseInZwischenablageToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles IPAdresseInZwischenablageToolStripMenuItem.Click
|
|
werbinich()
|
|
If SenderIP <> String.Empty Then
|
|
Clipboard.SetText(SenderIP)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub PingtToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PingtToolStripMenuItem.Click, CmdPintT.Click
|
|
Ext_Programme.pingip(DgVMain.CurrentRow.Cells("IPAdresse").Value, " -t")
|
|
End Sub
|
|
|
|
Private Sub AllesSichernCSVToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AllesSichernCSVToolStripMenuItem.Click
|
|
Dim dgvtemp As New DataGridView
|
|
Dim dstemp As New DataSet
|
|
|
|
cSQL.SQL2DS("select * from TbL_Netzwerkclients where FQDN is not null order by NWSTANDORT, NETNAME, host", dstemp)
|
|
|
|
dgvtemp.DataSource = dstemp.Tables(0)
|
|
|
|
Class1.datatable_2_csv_export(dstemp.Tables(0))
|
|
End Sub
|
|
|
|
Private Sub chkTSSitzungen_CheckedChanged(sender As Object, e As EventArgs) Handles chkTSSitzungen.CheckedChanged
|
|
If chkTSSitzungen.Checked Then
|
|
panTSSitzungen.Controls.Clear()
|
|
Dim dingsi As New uscntr_TSSitzungen
|
|
dingsi.AutoSize = AutoSizeMode.GrowAndShrink
|
|
dingsi.Dock = Dock.Fill
|
|
|
|
panTSSitzungen.Controls.Add(dingsi)
|
|
panTSSitzungen.Visible = True
|
|
Else
|
|
panTSSitzungen.Controls.Clear()
|
|
panTSSitzungen.Visible = False
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub TeamviewerVerbindenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TeamviewerVerbindenToolStripMenuItem.Click
|
|
Dim Host2Connect As New cHost
|
|
Host2Connect.gethost(Class1.MainHost(DgVMain.CurrentRow.Cells("IPAdresse").Value))
|
|
If Host2Connect.TeamviewerID.Length > 1 Then
|
|
Ext_Programme.StartTeamviewer(Host2Connect.TeamviewerID, Host2Connect.TeamviewerKennwort)
|
|
Else
|
|
MsgBox("TeamviewerID nicht eingepflegt!")
|
|
End If
|
|
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
|