Files
Doku/Dokumentation/Main.vb
2020-09-22 09:43:22 +02:00

1546 lines
62 KiB
VB.net

Imports System.Data.SqlClient
Imports System.IO
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
Public Shared Event ResetButtonPressed()
Private Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As IntPtr
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
LblUhrzeit.Text = "Willkommen " & Class1.LoggedOnUser.Name
Class1.ini.LoadParameters()
SetAnsichtLautIni()
Class1.EnableDoubleBuffered(DgVMain)
Me.KeyPreview = True
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 = ""
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
Try
LstStandort.SelectedItem = "Verag_SUB"
Catch
End Try
' 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.StatisticsEnabled = True
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
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
Catch
End Try
''--------------------------------------------------------------------------------------------------------/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
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 CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click
End Sub
Private Sub CMdTest2_Click(sender As Object, e As EventArgs) Handles CMdTest2.Click
Dim testuser As New cDomUser
testuser.getDomUser("mit_email", "ms@verag.ag")
Dim frm As New frmLeer
frm.Text = "Benutzerverwaltung"
Dim usrcntrl As New uscntr_DomUser
usrcntrl.DomUser = testuser
usrcntrl.Dock = DockStyle.Fill : frm.PanMain.Controls.Add(usrcntrl)
frm.Size = usrcntrl.Size
frm.Show()
AddHandler frm.FormClosing, Function()
End Function
End Sub
Private Sub btnTest3_Click(sender As Object, e As EventArgs) Handles btnTest3.Click
Class1.ini.save()
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 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()
cExtProgramme.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()
cExtProgramme.startlink(DgVMain.CurrentRow.Cells("Link").Value)
End Sub
Private Sub CmdPutty_Click(sender As Object, e As EventArgs) Handles CmdPutty.Click, PuttyToolStripMenuItem.Click
cExtProgramme.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
cExtProgramme.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 Exit Sub
explorerstarten("Client")
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
cFolder.explorerstarten(SenderIP) : Exit Function
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()
cSQL.SQL2DS("Select * FROM TbL_Allgemein WHERE Rubrik='" & DgVMain.CurrentRow.Cells("Rubrik").Value & "' AND Titel='" & DgVMain.CurrentRow.Cells("Titel").Value & "'", ds)
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)
neuerEintrag()
End Sub
Private Sub ChkKompAnsicht_CheckedChanged(sender As Object, e As EventArgs) Handles ChkKompAnsicht.CheckedChanged, ChkFreieHosts.CheckedChanged, ChkDHCPClients.CheckedChanged
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 " & Class1.DBAdmin & ".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)
TimerUpdate.Enabled = False
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"
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 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
cExtProgramme.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
cExtProgramme.StartTeamviewer(Host2Connect.TeamviewerID, Host2Connect.TeamviewerKennwort)
Else
MsgBox("TeamviewerID nicht eingepflegt!")
End If
End Sub
Private Sub btnBenutzerverwaltung_Click(sender As Object, e As EventArgs) Handles btnBenutzerverwaltung.Click
Dim frm As New frmLeer
frm.Text = "Benutzerverwaltung"
Dim usrcntrl As New uscntr_DomUserList
usrcntrl.Dock = DockStyle.Fill : frm.PanMain.Controls.Add(usrcntrl)
frm.Size = usrcntrl.Size
frm.Show()
AddHandler frm.FormClosing, Function()
End Function
End Sub
Dim Timer_REFRESH_firstTime = True
Private Sub Timer_REFRESH_Tick(sender As Object, e As EventArgs) Handles Timer_Refresh.Tick
If Timer_REFRESH_firstTime Then
Timer_REFRESH_firstTime = False
Exit Sub
End If
Try
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_ChatBenutzer And picAVISOMessenger.Visible Then
Dim newMsg = VERAG_PROG_ALLGEMEIN.cMessenger.GET_NewMSG_COUNT()
' MsgBox(newMsg)
Label20.Text = newMsg
Label20.Visible = (newMsg > 0)
If newMsg Then
' Me.Icon = My.Resources.avisoNewMsg
Dim isshown = False
For Each openForm In Application.OpenForms()
If TypeOf (openForm) Is frmNotify Then
isshown = True
End If
Next
Dim isInFront = False
For Each openForm In Application.OpenForms()
If TypeOf (openForm) Is VERAG_PROG_ALLGEMEIN.frmMessenger Then
' If DirectCast(openForm, VERAG_PROG_ALLGEMEIN.frmMessenger).Focused Then
If GetActiveWindow = DirectCast(openForm, VERAG_PROG_ALLGEMEIN.frmMessenger).Handle Then
isInFront = True
End If
End If
Next
If Not isshown And Not isInFront Then newNotify(frmNotify.cNotify_ART.NEUER_CHAT, 0, "Neue Chat-Nachricht!", -1)
Else
' Me.Icon = My.Resources.Aviso
End If
If Label20.Visible Then Label20.BringToFront()
End If
Catch ex As Exception
End Try
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles picAVISOMessenger.Click
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
For Each openForm In Application.OpenForms()
If TypeOf (openForm) Is VERAG_PROG_ALLGEMEIN.frmMessenger Then
CType(openForm, VERAG_PROG_ALLGEMEIN.frmMessenger).WindowState = FormWindowState.Normal
CType(openForm, VERAG_PROG_ALLGEMEIN.frmMessenger).BringToFront()
Exit Sub
End If
Next
Dim f As New VERAG_PROG_ALLGEMEIN.frmMessenger
f.Location = Cursor.Position
f.Show(Me)
End Sub
Sub newNotify(art As frmNotify.cNotify_ART, title As Integer, text As String, id As Integer)
' Exit Sub 'NICHT AKTIV
Dim formTmp = Me.ActiveForm
Dim frmNotify As New frmNotify(art, title, text, id)
frmNotify.TimerInterval = 1200000 ' 20min
Dim tmpY As Integer = Me.Height
If tmpY <= 0 Then tmpY = My.Computer.Screen.WorkingArea.Height
For Each ft As Form In Application.OpenForms
' MsgBox(ft.GetType.ToString)
If ft.GetType.ToString = "frmNotify" Then
If ft.Location.Y < tmpY Then tmpY = ft.Location.Y
End If
Next
frmNotify.Y = tmpY - frmNotify.Height - 10
frmNotify.Show()
' If formTmp IsNot Nothing Then formTmp.Focus()
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "VORLAGEN", "SONSTIGE", "", "", "Telefonliste")
'MsgBox(DS.da_id)
DS.OPEN_SINGLE()
End Sub
Public Sub PictureBox1_Click_1(sender As Object, e As EventArgs) Handles PictureBox1.Click
TxtSuche.Text = ""
RadNurNetzwerk.PerformClick()
CmdSucheReset.PerformClick()
Try
RaiseEvent ResetButtonPressed()
Catch ex As Exception
MsgBox(ex.Message)
End Try
LstStandortLoad()
'dgvload_filter
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
Function SetAnsichtLautIni()
If File.Exists(Application.StartupPath & "\config.ini") Then
chkTSSitzungen.Checked = Class1.ini.prop_TSSitzungenAnzeigen
ChkKompAnsicht.Checked = Class1.ini.prop_Kompansicht
ChkFreieHosts.Checked = Class1.ini.prop_FreiHostsAnzeigen
ChkDHCPClients.Checked = Class1.ini.prop_DHCPClientsAnzeigen
ChkTools.Checked = Class1.ini.prop_ToolsPanelAnzeizgen
chkPano.Checked = Class1.ini.prop_Pano
Else
' File.Create(Application.StartupPath & "\config.ini")
End If
End Function
Private Sub btnTSSitzungen_Click(sender As Object, e As EventArgs) Handles btnTSSitzungen.Click
Dim TSSitzungen As New frmLeer
TSSitzungen.PanMain.Controls.Clear()
Dim dingsi As New uscntr_TSSitzungen
TSSitzungen.AutoSize = AutoSizeMode.GrowAndShrink
TSSitzungen.Size = New Size(434, 863)
dingsi.Dock = Dock.Fill
TSSitzungen.PanMain.Controls.Add(dingsi)
TSSitzungen.Show()
End Sub
Private Sub Main_Closed(sender As Object, e As EventArgs) Handles Me.Closed
Class1.ini.prop_Kompansicht = ChkKompAnsicht.Checked
Class1.ini.prop_FreiHostsAnzeigen = ChkFreieHosts.Checked
Class1.ini.prop_DHCPClientsAnzeigen = ChkDHCPClients.Checked
Class1.ini.prop_ToolsPanelAnzeizgen = ChkTools.Checked
Class1.ini.prop_TSSitzungenAnzeigen = chkTSSitzungen.Checked
Class1.ini.prop_Pano = chkPano.Checked
Class1.ini.save()
End Sub
End Class
'1208