Imports System.Data.SqlClient Public Class HostBearbeiten Public con As New SqlConnection Public cmd As New SqlCommand Public reader As SqlDataReader Public HostA As String = Main.SenderHost Public NetA As String = Main.SenderNetzwerk Public StandA As String = Main.SenderStandort Public Netzwerk As String Public LinkedHost As String Public LinkedNet As String Public LinkedStand As String Public LinkedNetzwerk As String Public SQLWhere As String = "WHERE NWSTANDORT='" & StandA & "' AND NETNAME='" & NetA & "'" Public NetzID As String = StandA & "_" & NetA Dim Linked As Integer = 0 Dim LinkedWith As String Public geaendert As Boolean ''''LADEN'''' Private Sub HostBearbeiten_Load(sender As Object, e As EventArgs) Handles MyBase.Load dbload() If Class1.DebugMode = True Then PanDebug.Visible = True End If FillAutocomplete() 'importiere(Main.SenderStandort, Main.SenderNetzwerk, Main.SenderHost) 'MsgBox(NetA & StandA & HostA) importiere(StandA, NetA, HostA) 'laden(Main.SenderIP, Main.SenderHost) LblInfo.Text = "" & Main.SenderStandort & "_" & Main.SenderNetzwerk & " " & TxtName.Text End Sub ''''''''''''''' Public Function dbload() con.ConnectionString = Class1.DBConString cmd.Connection = con End Function Private Function laden(IP As String, Host As String) FillAutocomplete() Dim abfrage As String = "IPAdresse='" & IP & "'" 'MsgBox(standort & netzwerk & Host) Try con.Open() cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE " & abfrage & "" Catch ex As Exception MsgBox("Fehler Function Import: " & ex.Message) End Try ausgabe_Host(Host) con.Close() geaendert = False LbLDebug.Text = "nicht geändert" 'LblInfo.Text = "Netzwerk: " & Main.SenderStandort & "_" & Main.SenderNetzwerk & " " & TxtName.Text Me.Text = Main.SenderStandort & "_" & Main.SenderNetzwerk & " " & TxtName.Text End Function Public Function importiere(standort As String, netzwerk As String, Host As String) ' FillAutocomplete() Dim abfrage As String = "NWSTANDORT='" & standort & "' AND NETNAME='" & netzwerk & "' AND HOST='" & Host & "'" 'MsgBox(standort & netzwerk & Host) Try con.Open() cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE " & abfrage & "" Catch ex As Exception MsgBox("Fehler Function Import: " & ex.Message) End Try ausgabe_Host(Host) con.Close() geaendert = False LbLDebug.Text = "nicht geändert" 'LblInfo.Text = "Netzwerk: " & Main.SenderStandort & "_" & Main.SenderNetzwerk & " " & TxtName.Text Me.Text = StandA & "_" & NetA & " " & TxtName.Text End Function Private Function importierelinked(ip As String) Try con.Close() dbload() Catch ex As Exception MsgBox("dbload in importierelinked") End Try Dim abfrage As String = "IPAdresse= '" & ip & "'" 'MsgBox(standort & netzwerk & Host) Try con.Open() cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE " & abfrage & "" Catch ex As Exception MsgBox("importierelinked(ip As String): " & ex.Message) End Try ausgabe_LinkedHost() con.Close() geaendert = False LbLDebug.Text = "nicht geändert" End Function Private Function ausgabe_Host(Host As String) TxtHost.BackColor = Color.White TxtHost.Text = Host TxtIP.Text = "" TxtName.Text = "" TxtMAC.Text = "" TxtType.Text = "" TxtInfo.Text = "" TxtBenutzername.Text = "" TxtKennwort.Text = "" TxtLink.Text = "" TxtQuickInfo.Text = "" TxtModell.Text = "" TxtSeriennummer.Text = "" TxtStandort.Text = "" Linked = "0" chkFirewall.Checked = False Try reader = cmd.ExecuteReader() Do While reader.Read() Netzwerk = reader("Netzwerk") TxtBenutzername.Text = checknull("Benutzer") TxtIP.Text = reader("IPAdresse") TxtName.Text = checknull("FQDN") TxtStandort.Text = checknull("Standort") TxtMAC.Text = checknull("MAC") TxtType.Text = checknull("TYPE") TxtInfo.Text = checknull("Info") TxtHost.Text = reader("Host") TxtKennwort.Text = checknull("Passwort") TxtLink.Text = checknull("LINK") TxtQuickInfo.Text = checknull("QINFO") TxtModell.Text = checknull("Modell") TxtSeriennummer.Text = checknull("Seriennummer") Linked = reader("Linked") ' If Linked = "1" Then If Linked = True Then ChkLinked.Checked = True TxtLinkedWith.Text = reader("LinkedWith") ' uscntr_Firewalleinstellungen.Host = TxtLinkedWith.Text ' importierelinked(TxtLinkedWith.Text) Else ChkLinked.Checked = False ' uscntr_Firewalleinstellungen.Host = TxtIP.Text End If chkFirewall.Checked = returnTrueFalse("Firewall") ShowFirewallPanel(chkFirewall.Checked) Loop reader.Close() Catch ex As Exception MsgBox("123Hostbearbeiten.Ausgabe_Host reader.Read: " & ex.Message) 'LbLDebug.Text = ex.Message End Try 'MsgBox(Linked) End Function Private Sub AutoCompleteFüllenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AutoCompleteFüllenToolStripMenuItem.Click FillAutocomplete() End Sub Private Function checknull(text As String) Try If reader.IsDBNull(0) Then Return String.Empty Else Return reader(text).ToString End If Catch ex As Exception MsgBox("Checknull: " & ex.Message) End Try End Function Private Function returnTrueFalse(text As String) Try If reader.IsDBNull(0) Then Return False ElseIf reader(text).ToString = "" Then Return False Else Return reader(text).ToString End If Catch ex As Exception MsgBox("Checknull: " & ex.Message) End Try End Function Private Function ausgabe_LinkedHost() 'TxtHost.Text = host 'TxtIP.Text = "" TxtName.Text = "" TxtMAC.Text = "" TxtType.Text = "" TxtInfo.Text = "" TxtBenutzername.Text = "" TxtKennwort.Text = "" TxtLink.Text = "" TxtQuickInfo.Text = "" TxtModell.Text = "" TxtStandort.Text = "" TxtSeriennummer.Text = "" Try reader = cmd.ExecuteReader() Do While reader.Read() 'TxtIP.Text = checknull("IPAdresse") TxtName.Text = checknull("FQDN") TxtMAC.Text = checknull("MAC") TxtType.Text = checknull("TYPE") TxtInfo.Text = checknull("Info") 'TxtHost.Text = checknull("Host") TxtBenutzername.Text = checknull("Benutzer") TxtKennwort.Text = checknull("Passwort") TxtLink.Text = checknull("LINK") TxtQuickInfo.Text = checknull("QINFO") TxtModell.Text = checknull("Modell") TxtSeriennummer.Text = checknull("Seriennummer") TxtStandort.Text = checknull("Standort") 'Linked = checknull("Linked") Loop reader.Close() Catch ex As Exception MsgBox("Hostbearbeiten.Ausgabe_Host reader.Read: " & ex.Message) End Try End Function Private Function deleteHost() dbload() Dim ds As New DataSet Dim da As New SqlDataAdapter("SELECT * FROM TbL_Netzwerkclients WHERE LinkedWith ='" & TxtIP.Text & "'", con) Dim slavenetzwerke As String = "" 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() Try con.Open() cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE LinkedWith ='" & TxtIP.Text & "'" cmd.ExecuteNonQuery() reader = cmd.ExecuteReader() If reader.Read Then If MsgBox("Dieser Eintrag ist ein Master-Eintrag (Linked). Es werden sämtliche Slave-Einträge" & vbCrLf & slavenetzwerke & " ebenfalls gelöscht. Fortfahren?", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then con.Close() con.Open() cmd.CommandText = "DELETE TbL_Netzwerkclients WHERE LinkedWith ='" & TxtIP.Text & "'" cmd.ExecuteNonQuery() cmd.CommandText = "DELETE TbL_Netzwerkclients WHERE IPAdresse ='" & TxtIP.Text & "'" cmd.ExecuteNonQuery() Else con.Close() Exit Function End If End If con.Close() con.Open() cmd.CommandText = "DELETE TbL_Netzwerkclients WHERE IPAdresse ='" & TxtIP.Text & "'" cmd.ExecuteNonQuery() Catch ex As Exception MsgBox(ex.Message) End Try con.Close() End Function Private Function deleteFiles(host As String) 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 End Function Private Sub CmdReset_Click(sender As Object, e As EventArgs) Handles CmdReset.Click importiere(StandA, NetA, HostA) End Sub Private Sub CmdSave_Click(sender As Object, e As EventArgs) Handles CmdSave.Click HostSpeichern("speichern") LinkedMasterUpdate() TxtHost.BackColor = Color.White geaendert = False End Sub Public Function HostSpeichern(mach As String) If mach = "machlink" Then importierelinked(TxtLinkedWith.Text) End If dbload() If TxtIP.Text = "" Then HostErstellen() ElseIf Linked = "1" Then Try ''Linked Master speichern con.Open() cmd.CommandText = "UPDATE TbL_Netzwerkclients Set FQDN='" & TxtName.Text & "', MAC='" & TxtMAC.Text & "', Standort='" & TxtStandort.Text & "', type='" & TxtType.Text & "', info='" & TxtInfo.Text & "' , Benutzer='" & TxtBenutzername.Text & "', passwort='" & TxtKennwort.Text & "' , link='" & TxtLink.Text & "', Modell='" & TxtModell.Text & "', QINFO='" & TxtQuickInfo.Text & "', Seriennummer='" & TxtSeriennummer.Text & "' WHERE IPAdresse = '" & TxtLinkedWith.Text & "' " '' Linked Slave speichern cmd.ExecuteNonQuery() cmd.CommandText = "UPDATE TbL_Netzwerkclients Set IPAdresse = '" & TxtIP.Text & "', FQDN='" & TxtName.Text & "', Standort='" & TxtStandort.Text & "', Linked='" & Linked & "', LinkedWith='" & TxtLinkedWith.Text & "', MAC='" & TxtMAC.Text & "', type='" & TxtType.Text & "', info='" & TxtInfo.Text & "' , Benutzer='" & TxtBenutzername.Text & "', passwort='" & TxtKennwort.Text & "' , link='" & TxtLink.Text & "', Modell='" & TxtModell.Text & "', QINFO='" & TxtQuickInfo.Text & "', Seriennummer='" & TxtSeriennummer.Text & "' " & SQLWhere & " AND Host='" & HostA & "'" cmd.ExecuteNonQuery() Catch ex As Exception MsgBox("Linked HostSpeichern(): " & ex.Message) End Try con.Close() Else Try con.Open() cmd.CommandText = "UPDATE TbL_Netzwerkclients Set IPAdresse = '" & TxtIP.Text & "', FQDN='" & TxtName.Text & "', Standort='" & TxtStandort.Text & "', Linked='" & Linked & "', LinkedWith='" & TxtLinkedWith.Text & "', MAC='" & TxtMAC.Text & "', type='" & TxtType.Text & "', info='" & TxtInfo.Text & "' , Benutzer='" & TxtBenutzername.Text & "', passwort='" & TxtKennwort.Text & "' , link='" & TxtLink.Text & "', Modell='" & TxtModell.Text & "', QINFO='" & TxtQuickInfo.Text & "', Seriennummer='" & TxtSeriennummer.Text & "' " & SQLWhere & " AND Host='" & HostA & "'" cmd.ExecuteNonQuery() Catch ex As Exception MsgBox("Hostspeichern(): " & ex.Message) End Try con.Close() End If End Function Private Sub CmdIPUp_Click(sender As Object, e As EventArgs) Handles CmdIPUp.Click abfrage_aenderungenspeichern() If HostA < 255 Then HostA = HostA + 1 importiere(StandA, NetA, HostA) Else HostA = 254 End If End Sub Private Sub CmdIPDown_Click(sender As Object, e As EventArgs) Handles CmdIPDown.Click abfrage_aenderungenspeichern() If HostA > 1 Then HostA = HostA - 1 importiere(StandA, NetA, HostA) Else HostA = 1 End If End Sub Private Sub CmdForward_Click(sender As Object, e As EventArgs) Handles CmdForward.Click abfrage_aenderungenspeichern() Try con.Open() Dim ds As New DataSet() Dim dataadapter As New SqlDataAdapter("SELECT FQDN FROM Tbl_Netzwerkclients WHERE NWSTANDORT='" & StandA & "' AND NETNAME = '" & NetA & "' ORDER BY HOST", con) dataadapter.Fill(ds) Do Until HostA = 254 HostA = HostA + 1 For Each Row As DataRow In ds.Tables(0).Rows 'If HostA = Row.Item(0).ToString Then If Row.Item(0) IsNot Nothing Then LbLDebug.Text &= Row.Item(0).ToString & vbCrLf HostA = Row.Item(0).ToString LbLDebug.Text &= "Host A: " & HostA con.Close() importiere(StandA, NetA, HostA) Exit Sub End If Next Loop con.Close() Catch ex As Exception MsgBox("Forward: " & ex.Message & vbCrLf & HostA) con.Close() End Try End Sub Private Sub CmdBack_Click(sender As Object, e As EventArgs) Handles CmdBack.Click abfrage_aenderungenspeichern() Try con.Open() Dim ds As New DataSet() Dim dataadapter As New SqlDataAdapter("SELECT HOST FROM Tbl_Netzwerkclients WHERE NWSTANDORT='" & StandA & "' AND NETNAME = '" & NetA & "' ORDER BY HOST", con) dataadapter.Fill(ds) Do Until HostA = 1 HostA = HostA - 1 For Each Row As DataRow In ds.Tables(0).Rows If HostA = Row.Item(0).ToString Then LbLDebug.Text &= Row.Item(0).ToString & vbCrLf HostA = Row.Item(0).ToString LbLDebug.Text &= "Host A: " & HostA con.Close() importiere(StandA, NetA, HostA) Exit Sub End If Next Loop con.Close() Catch ex As Exception MsgBox("Forward: " & ex.Message) con.Close() End Try End Sub Private Sub TxtHost_KeyUp_Enter(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TxtHost.KeyUp ', TxtHost.TextChanged Try If e.KeyValue = Keys.Enter Then HostA = TxtHost.Text importiere(StandA, NetA, HostA) End If Catch End Try End Sub Private Sub CmdIPErstellen_Click(sender As Object, e As EventArgs) HostErstellen() End Sub Private Sub CmdCopy_Click(sender As Object, e As EventArgs) Handles CmdCopy.Click Dim FQDN, Type, IP As String Class1.GetFQDNandType(TxtIP.Text, FQDN, Type) Class1.Host2IP(TxtHost.Text, StandA, NetA, IP) If FQDN = "" And Type = "" Then HostA = TxtHost.Text Try con.Open() 'cmd.CommandText = "INSERT INTO Tbl_Netzwerkclients (Host, IPAdresse, NWStandort, NetName) VALUES ('" & HostA & "', '" & TxtIP.Text & "','" & Main.SenderStandort & "', '" & Main.SenderNetzwerk & "') " 'cmd.ExecuteNonQuery() cmd.CommandText = "UPDATE TbL_Netzwerkclients Set FQDN='" & TxtName.Text & "', Standort='" & TxtStandort.Text & "', Linked='" & Linked & "', LinkedWith='" & TxtLinkedWith.Text & "', MAC='" & TxtMAC.Text & "', type='" & TxtType.Text & "', info='" & TxtInfo.Text & "' , Benutzer='" & TxtBenutzername.Text & "', passwort='" & TxtKennwort.Text & "' , link='" & TxtLink.Text & "', Modell='" & TxtModell.Text & "', QINFO='" & TxtQuickInfo.Text & "', Seriennummer='" & TxtSeriennummer.Text & "' WHERE IPAdresse = '" & IP & "'" cmd.ExecuteNonQuery() Catch ex As Exception MsgBox("Hostspeichern(): " & ex.Message) End Try con.Close() Else MsgBox("Ziel ist bereits mit " & FQDN & " belegt") End If MsgBox("Host kopiert!") HostA = TxtHost.Text importiere(StandA, NetA, HostA) End Sub Private Function IPErstellen() Dim nwaddress As String Try con.Open() cmd.CommandText = "SELECT nwaddress FROM Tbl_Netzwerke where Netzwerkname ='" & NetzID & "'" reader = cmd.ExecuteReader() Do While reader.Read() nwaddress = reader("nwaddress") Loop con.Close() con.Open() cmd.CommandText = "SELECT * FROM Tbl_Netzwerkclients WHERE IPAdresse = '" & nwaddress & TxtHost.Text & "'" cmd.ExecuteNonQuery() reader = cmd.ExecuteReader() If reader.Read Then MsgBox("Die IP Adresse " & nwaddress & TxtHost.Text & " ist bereits belegt!") Return ("Fehler") con.Close() Exit Function End If con.Close() TxtIP.Text = nwaddress & TxtHost.Text Catch exgen As Exception MsgBox("Fehler beim Generieren der IP Adresse: " & vbCrLf & exgen.Message) End Try con.Close() End Function Private Function HostErstellen() IPErstellen() Try HostA = TxtHost.Text con.Open() cmd.CommandText = "INSERT INTO Tbl_Netzwerkclients (Host, IPAdresse, NWStandort, NetName) VALUES ('" & HostA & "', '" & TxtIP.Text & "','" & Main.SenderStandort & "', '" & Main.SenderNetzwerk & "') " cmd.ExecuteNonQuery() cmd.CommandText = "UPDATE TbL_Netzwerkclients Set IPAdresse = '" & TxtIP.Text & "', FQDN='" & TxtName.Text & "', Standort='" & TxtStandort.Text & "', Linked='" & Linked & "', LinkedWith='" & LinkedWith & "', MAC='" & TxtMAC.Text & "', type='" & TxtType.Text & "', info='" & TxtInfo.Text & "' , Benutzer='" & TxtBenutzername.Text & "', passwort='" & TxtKennwort.Text & "' , link='" & TxtLink.Text & "', Modell='" & TxtModell.Text & "', QINFO='" & TxtQuickInfo.Text & "', Seriennummer='" & TxtSeriennummer.Text & "' " & SQLWhere & " AND Host='" & HostA & "'" cmd.ExecuteNonQuery() Catch exin As Exception MsgBox("exin: " & exin.Message) End Try con.Close() End Function Private Sub CmdDelete_Click(sender As Object, e As EventArgs) Handles CmdDelete.Click Dim linked As Boolean linked = ChkLinked.Checked If MessageBox.Show("Eintrag " & HostA & " wirklich löschen?", "Hosteintrag löschen", MessageBoxButtons.OKCancel) = DialogResult.OK Then deleteHost() importiere(StandA, NetA, HostA) ElseIf DialogResult.Cancel Then 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 'MsgBox("Er. Mayank Nainwal", MsgBoxStyle.YesNoCancel + MsgBoxStyle.DefaultButton2, "Default Button is NO ?") deleteFiles(HostA) ElseIf DialogResult.No Then Exit Sub End If End If Class1.RefillNW(Netzwerk) importiere(Main.SenderStandort, Main.SenderNetzwerk, Main.SenderHost) LblInfo.Text = "Netzwerk: " & Main.SenderStandort & "_" & Main.SenderNetzwerk & "" End Sub Private Sub ChkKennwortAnzeigen_CheckedChanged(sender As Object, e As EventArgs) Handles ChkKennwortAnzeigen.CheckedChanged If ChkKennwortAnzeigen.Checked Then TxtKennwort.PasswordChar = "" Else TxtKennwort.PasswordChar = "*" End If End Sub Private Sub CmdDateien_Click(sender As Object, e As EventArgs) Handles CmdDateien.Click explorerstarten() End Sub Private Function explorerstarten() Main.werbinich() Dim Path As String If Linked = "1" Then Dim ds As New DataSet() Dim IPA As String = TxtLinkedWith.Text dbload() con.Open() Dim da As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE IPAdresse='" & IPA & "'", con) da.Fill(ds) con.Close() Path = Class1.FilePath & "\" & ds.Tables(0).Rows(0).Item("NWStandort") & "_" & ds.Tables(0).Rows(0).Item("NetName") & "\" & ds.Tables(0).Rows(0).Item("Host") Else Path = Class1.FilePath & "\" & NetzID & "\" & HostA End If If IO.Directory.Exists(path) Then Process.Start(path) Else IO.Directory.CreateDirectory(path) Process.Start(path) End If 'MsgBox(path) End Function Private Sub LblLink_DOubleClick(sender As Object, e As EventArgs) Handles LblLink.DoubleClick Dim URL As String Try URL = TxtLink.Text If URL.Contains("http") Or URL.Contains("https") Then Process.Start(URL) ElseIf URL = "" Then Exit Sub Else Dim mstsc As New Process mstsc.StartInfo.FileName = "mstsc.exe" mstsc.StartInfo.Arguments = " /v: " & URL mstsc.Start() End If ' Process.Start("mstsc.exe", "/v: dc01") Catch ex As Exception 'MsgBox(ex.Message) End Try End Sub Private Sub LblLink_Click(sender As Object, e As EventArgs) Handles LblLink.Click End Sub Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TxtQuickInfo.TextChanged End Sub Private Sub ChkMulti_CheckedChanged(sender As Object, e As EventArgs) Handles ChkLinked.CheckedChanged If ChkLinked.Checked Then TxtLinkedWith.Enabled = True CmdLink.Visible = True Linked = "1" Else TxtLinkedWith.Enabled = False CmdLink.Visible = False Linked = "0" LinkedWith = "" TxtLinkedWith.Text = "" End If End Sub Private Sub CmdLink_Click(sender As Object, e As EventArgs) Handles CmdLink.Click LinkedWith = TxtLinkedWith.Text ' HostSpeichern() ''Linked is linked? con.Open() cmd.CommandText = "SELECT * FROM TbL_Netzwerkclients WHERE IPAdresse='" & LinkedWith & "'" cmd.ExecuteNonQuery() reader = cmd.ExecuteReader() Do While reader.Read() If checknull("Linked") = "1" Then LinkedWith = checknull("LinkedWith") TxtLinkedWith.Text = LinkedWith End If Loop reader.Close() con.Close() ''Link erstellen con.Open() cmd.CommandText = "UPDATE TbL_Netzwerkclients SET Linked='" & Linked & "', LinkedWith='" & LinkedWith & "' WHERE IPAdresse = '" & TxtIP.Text & "' " cmd.ExecuteNonQuery() con.Close() HostSpeichern("machlink") importiere(Main.SenderStandort, Main.SenderNetzwerk, TxtHost.Text) HostSpeichern("speichern") End Sub Private Function LinkedMasterUpdate() Dim slaveds As New DataSet() Dim dt As New DataTable() LbLDebug.Text = "" Try dbload() con.Open() Dim dataadapterslave As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE Linked='1'", con) dataadapterslave.Fill(slaveds) For Each dr As DataRow In slaveds.Tables(0).Rows Dim LinkedWith As String = dr.Item("LinkedWith") Dim masterds As New DataSet() Dim dataadaptermaster As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE IPAdresse='" & LinkedWith & "'", con) dataadaptermaster.Fill(masterds) LbLDebug.Text &= "MasterFQDN: " & masterds.Tables(0).Rows(0).Item("FQDN") & " Slave Linkedwith: " & LinkedWith & " Slave IP: " & dr.Item("IpAdresse") & vbCrLf '' Linked Slave speichern cmd.ExecuteNonQuery() cmd.CommandText = "UPDATE TbL_Netzwerkclients Set FQDN='" & masterds.Tables(0).Rows(0).Item("FQDN") & "', Standort='" & masterds.Tables(0).Rows(0).Item("Standort") & "', MAC='" & masterds.Tables(0).Rows(0).Item("MAC") & "', type='" & masterds.Tables(0).Rows(0).Item("Type") & "', info='" & masterds.Tables(0).Rows(0).Item("Info") & "' , Benutzer='" & masterds.Tables(0).Rows(0).Item("Benutzer") & "', passwort='" & masterds.Tables(0).Rows(0).Item("Passwort") & "' , link='" & masterds.Tables(0).Rows(0).Item("Link") & "', Modell='" & masterds.Tables(0).Rows(0).Item("Modell") & "', QINFO='" & masterds.Tables(0).Rows(0).Item("QINFO") & "', Seriennummer='" & masterds.Tables(0).Rows(0).Item("Seriennummer") & "' WHERE IPAdresse = '" & dr.Item("IpAdresse") & "'" cmd.ExecuteNonQuery() Next con.Close() Catch ex As Exception MsgBox("LinkedMasterUpdate(): " & ex.Message) con.Close() End Try End Function Private Sub CmdHostLink_Click(sender As Object, e As EventArgs) Handles CmdHostLink.Click Dim URL As String Try URL = TxtLink.Text If URL.Contains("http") Or URL.Contains("https") Then Process.Start(TxtLink.Text) ElseIf URL = "" Then Exit Sub Else Dim mstsc As New Process mstsc.StartInfo.FileName = "mstsc.exe" mstsc.StartInfo.Arguments = " /v: " & TxtLink.Text mstsc.Start() End If ' Process.Start("mstsc.exe", "/v: dc01") Catch ex As Exception 'MsgBox(ex.Message) End Try End Sub Private Sub CmdTest_Click(sender As Object, e As EventArgs) Handles CmdTest.Click Dim FQDN, Type As String Class1.GetFQDNandType(TxtIP.Text, FQDN, Type) LbLDebug.Text = "FQDN: " & FQDN & vbCrLf & "Type: " & Type End Sub Public Function IPChange() Dim dspath As New DataSet() Dim alteip As String = TxtIP.Text Dim Path As String Dim HostOld As String Dim NewPath As String NewPath = Class1.FilePath & "\" & NetzID & "\" & TxtHost.Text If IPErstellen() = "Fehler" Then con.Close() Exit Function ElseIf IO.Directory.Exists(NewPath) Then If MsgBox("Zielordner existiert bereits. Löschen?", MsgBoxStyle.OkCancel) = MsgBoxResult.Cancel Then con.Close() Exit Function Else deleteFiles(TxtHost.Text) End If Else 'else -> erstellen der IP ergab keinen Fehler, Zielordner ist nicht vorhanden -> alles paletti End If dbload() con.Open() Dim da As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE IPAdresse='" & alteip & "'", con) da.Fill(dspath) HostOld = dspath.Tables(0).Rows(0).Item("Host") cmd.CommandText = "Update Tbl_Netzwerkclients SET IPAdresse = '" & TxtIP.Text & "', Host = '" & TxtHost.Text & "' WHERE IPAdresse = '" & alteip & "'" cmd.ExecuteNonQuery() Dim ds As New DataSet Dim dt As New DataTable() Dim dataadapter As New SqlDataAdapter("SELECT * FROM Tbl_NetzwerkClients WHERE LinkedWith='" & alteip & "'", con) dataadapter.Fill(ds) con.Close() Dim i As Integer = 0 Dim slaveip As String For Each dr As DataRow In ds.Tables(0).Rows slaveip = ds.Tables(0).Rows(i).Item("IPAdresse") con.Open() cmd.CommandText = "Update Tbl_Netzwerkclients SET LinkedWith = '" & TxtIP.Text & "' WHERE IPAdresse = '" & slaveip & "'" cmd.ExecuteNonQuery() con.Close() i = i + 1 Next con.Close() If Linked = "1" Then 'Dim IPA As String = TxtLinkedWith.Text 'Path = Class1.FilePath & "\" & ds.Tables(0).Rows(0).Item("NWStandort") & "_" & ds.Tables(0).Rows(0).Item("NetName") & "\" & ds.Tables(0).Rows(0).Item("Host") Exit Function Else Path = Class1.FilePath & "\" & NetzID & "\" & HostOld End If If IO.Directory.Exists(path) Then My.Computer.FileSystem.RenameDirectory(Path, TxtHost.Text) End If importiere(Main.SenderStandort, Main.SenderNetzwerk, TxtHost.Text) End Function Public Function abfrage_aenderungenspeichern() If geaendert = False Then Exit Function ElseIf geaendert = True Then Dim result As Integer = MsgBox("Änderungen speichern?", MsgBoxStyle.YesNo) If result = MsgBoxResult.No Then Exit Function ElseIf result = MsgBoxResult.Yes Then HostSpeichern("speichern") LinkedMasterUpdate() End If End If geaendert = False End Function Private Sub CmdIPChange_Click(sender As Object, e As EventArgs) Handles CmdIPChange.Click IPChange() End Sub Private Sub TxtIP_TextChanged(sender As Object, e As EventArgs) Handles TxtStandort.TextChanged, TxtIP.TextChanged, TxtName.TextChanged, TxtModell.TextChanged, TxtQuickInfo.TextChanged, TxtType.TextChanged, TxtSeriennummer.TextChanged, TxtMAC.TextChanged, TxtInfo.TextChanged, TxtBenutzername.TextChanged, TxtKennwort.TextChanged, TxtLink.TextChanged geaendert = True LbLDebug.Text = "geändert" End Sub Private Sub MitHTTPFüllenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles MitHTTPFüllenToolStripMenuItem.Click TxtLink.Text = "http://" & TxtIP.Text & "/" End Sub Private Function FillAutocomplete() Class1.Autocomplete(TxtType, "Type", "Tbl_Netzwerkclients") Class1.Autocomplete(TxtStandort, "Standort", "Tbl_Netzwerkclients") Class1.Autocomplete(TxtModell, "Modell", "Tbl_Netzwerkclients") Class1.Autocomplete(TxtBenutzername, "Benutzer", "Tbl_Netzwerkclients") End Function Private Sub DebugToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DebugToolStripMenuItem.Click PanDebug.Visible = Not PanDebug.Visible End Sub Private Sub TxtHost_TextChanged(sender As Object, e As EventArgs) Handles TxtHost.TextChanged TxtIP.Text = "" geaendert = True 'TxtHost.BackColor = Color.Red End Sub ''SCHLIESSEN'' Private Sub Hostbearbeiten_Closing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing abfrage_aenderungenspeichern() 'Main.allesladen() Main.dgvload_filter(Main.Suchbegriff) End Sub Private Sub CmdAbbrechen_Click(sender As Object, e As EventArgs) Handles CmdAbbrechen.Click abfrage_aenderungenspeichern() 'Main.allesladen() Main.dgvload_filter(Main.Suchbegriff) Close() End Sub Private Sub NetzwerkÄndernToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles HostVerschiebenToolStripMenuItem.Click HostVerschieben.Show() End Sub Private Sub chkFirewall_CheckedChanged(sender As Object, e As EventArgs) Handles chkFirewall.MouseClick Dim hostip As String = TxtIP.Text If TxtLinkedWith.Text <> "" Then hostip = TxtLinkedWith.Text EnableDisableFirewallBoolean(hostip, chkFirewall.Checked) ShowFirewallPanel(chkFirewall.Checked) End Sub Public Function EnableDisableFirewallBoolean(ByVal hostip As String, ByVal EnDisable As Boolean) con.Open() cmd.CommandText = "update TbL_Netzwerkclients set Firewall = '" & EnDisable & "' where ipadresse = '" & hostip & "'" cmd.ExecuteNonQuery() cmd.CommandText = "update TbL_Netzwerkclients set Firewall = '" & EnDisable & "' where linkedwith = '" & hostip & "'" cmd.ExecuteNonQuery() con.Close() End Function Public Function ShowFirewallPanel(ByVal EnDisable As Boolean) If EnDisable = True Then PanFirewall.Controls.Clear() PanFirewall.Visible = True Dim UserControl As New uscntr_Firewalleinstellungen PanFirewall.Size = UserControl.Size UserControl.SplitContainer1.Panel1Collapsed = True PanFirewall.Controls.Add(UserControl) Else PanFirewall.Controls.Clear() PanFirewall.Visible = False End If End Function End Class