DFÜ auf Netzwerkrechner

  • Hallo und guten Abend,
    en.
    da mir schonmal geholfen wurde wollte fragen ob es die Möglichkeit gibt auf einem im Netzwerk befindlichen eine DFÜ Verbindung zu starten. Sicher werdemn jetzt einige sagen das ich diese Verbindung nur freigeben muss. Abder das geht leider nicht, da diese Verbindung nur auf diesen lokalen Rechner( W2K mit FileServer Funktion) gestartet werden kann.
    Vielleicht hat ja wer nen Lösungsansatz.

    MFg

    Thomasb

    MFG ThomasB

    *
    Ich lese viel und gerne (und wenn ich alle Mahnungen durch habe, schmeiße ich sie weg)
    *

  • hi,

    das Problem ist sicher nicht die Remoteverbindung sonder die Frauen die das ganze Thema bedienen sollen. Was passiert: die Verbindung wird benötigt, um CDR, Kundendaten, DTAG Rückmeldungen abzurufen. Da ich es alles Zentral Verwalten muss, ist es notwendig das Programm auf der W2k im Serverraum zu bringen. Nur dort kann die DFÜ Verbindung aufgebaut werden, die auch noch so heissen muss wie das installierte Programm, damit ich überhaupt auf den Gegenserver komme. Shön wäre es wenn nur eine exe gestartet wird, die die Verbindung startet. Den Rest macht das Programm eigenständig bis zur Trennung der Verbindung. Das Problem ist wie gesagt das starten jeniger übers Netzwerk.

    MFG

    ThomasB

    MFG ThomasB

    *
    Ich lese viel und gerne (und wenn ich alle Mahnungen durch habe, schmeiße ich sie weg)
    *

    • Offizieller Beitrag

    Hi,

    okay.

    Viele Varianten : (hier mal 2 exemplarisch)

    1. Auf dem Server liegt eine exe die horcht
    Z.B. auf einen TCP-Strom oder ob in einem Verzeichnis eine Datei exisitiert, o.ä.

    2. Du legst eine exe in einen Share, die du remote starten kannst. Die exe verlangt USER und PASSWORT (damit sie nicht jeder starten kann)

    Du kannst dann lokal auch eine exe legen, die den Share aufbaut, die exe startet und dann den Share wieder löscht.

    Oder wie hast du dir das vorgestellt?

    Das Starten der DFÜ-Verbindung auf derm Server bekommst du hin, oder?

    So long,

    Mega

  • hallo,

    wow ich habe das hier schon im Forum gefunden mit der Share. leider wollte das nicht so wie ich es wollte.

    Spoiler anzeigen

    opt("TrayIconHide", 1)

    #include <GUIConstants.au3>
    #include <Process.au3>
    #Include <GuiListView.au3>
    #include <Array.au3>
    Dim $pid[1]
    $pid[0] = @AutoItPID
    $Form1 = GUICreate(@ComputerName & " - " & @UserName, 350,300,(@DesktopWidth -350)/2,(@DesktopHeight - 300) /2,$WS_CAPTION)
    ;toolbar
    $software = GUICtrlCreateButton("", 0, 0, 20, 20, $BS_ICON)
    GUICtrlSetImage(-1, @SystemDir & "\appwiz.cpl", "", 0)
    GUICtrlSetTip(-1, "software")
    $mmc = GUICtrlCreateButton("", 20, 0, 20, 20, $BS_ICON)
    GUICtrlSetImage(-1, @SystemDir & "\mmc.exe", "", 0)
    GUICtrlSetTip(-1, "Computer Verwaltung")
    $devMan = GUICtrlCreateButton("", 40, 0, 20, 20, $BS_ICON)
    GUICtrlSetImage(-1, @SystemDir & "\sysdm.cpl", "", 0)
    GUICtrlSetTip(-1, "Gerätemanager")
    $cmd = GUICtrlCreateButton("", 60, 0, 20, 20, $BS_ICON)
    GUICtrlSetImage(-1, @SystemDir & "\cmd.exe", "", 0)
    GUICtrlSetTip(-1, "DOS-Eingabe")
    $regedit = GUICtrlCreateButton("", 80, 0, 20, 20, $BS_ICON)
    GUICtrlSetImage(-1, @WindowsDir & "\regedit.exe", "", 0)
    GUICtrlSetTip(-1, "Regedit")
    $ServMan = GUICtrlCreateButton("", 100, 0, 20, 20, $BS_ICON)
    GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", 165, 0)
    GUICtrlSetTip(-1, "Dienste")
    $ODBCMan = GUICtrlCreateButton("", 120, 0, 20, 20, $BS_ICON)
    GUICtrlSetImage(-1, @SystemDir & "\odbccp32.cpl", "", 0)
    GUICtrlSetTip(-1, "ODBC")
    $Netcon = GUICtrlCreateButton("", 140, 0, 20, 20, $BS_ICON)
    GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", 148, 0)
    GUICtrlSetTip(-1, "Netzwerkverbindungen")
    $exit = GUICtrlCreateButton("exit", 316, 0, 34, 20)
    GUICtrlSetTip(-1, "beenden")
    ;tabs
    $Tab1 = GUICtrlCreateTab(0, 20, 350, 280)
    ; lokal-tab
    $TabSheet1 = GUICtrlCreateTabItem("login")
    GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", 104, 0)
    GUICtrlCreateLabel("Password:", 16, 86, 53, 17)
    GUICtrlCreateLabel("User:", 16, 55, 29, 17)
    $usrlocal = GUICtrlCreateInput("administrator", 80, 55, 129, 21, -1, $WS_EX_CLIENTEDGE)
    $pwdlocal = GUICtrlCreateInput("0T1L62", 80, 86, 129, 21, $ES_PASSWORD, $WS_EX_CLIENTEDGE)
    $beAdmin = GUICtrlCreateButton("login", 215, 86, 75, 25)
    GUICtrlCreateLabel("Prog:", 16, 130)
    GUICtrlCreateLabel("IP-Adresse:", 16, 150)
    GUICtrlCreateLabel("User:", 16, 170)
    GUICtrlCreateLabel("OSVersion:", 16, 190)
    GUICtrlCreateLabel("Computer:", 16, 210)
    GUICtrlCreateLabel("LogonDomain:", 16, 230)
    GUICtrlCreateLabel("LogonServer:", 16, 250)
    GUICtrlCreateLabel("aRun 1.0", 100, 130, 150)
    GUICtrlSetFont(-1, 9, 600)
    GUICtrlCreateLabel(@IPAddress1, 100, 150, 150)
    GUICtrlCreateLabel(@UserName, 100, 170, 170)
    GUICtrlCreateLabel(@OSVersion, 100, 190, 190)
    GUICtrlCreateLabel(@ComputerName, 100, 210, 150)
    GUICtrlCreateLabel(@LogonDomain, 100, 230, 150)
    GUICtrlCreateLabel(@LogonServer, 100, 250, 150)
    ;infotab
    ;$TabSheet = GUICtrlCreateTabItem("Info")
    ;GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", 221, 0)
    ;sendmail
    $TabSheet = GUICtrlCreateTabItem("Mail")
    GUICtrlSetImage(-1, @ProgramFilesDir & "\Tobit InfoCenter\DVWIN32.EXE", 4, 0)
    GUICtrlCreateLabel("Empfänger:", 16, 55, 53, 17)
    GUICtrlCreateLabel("Betreff:", 16, 86, 53, 17)
    GUICtrlCreateLabel("Inhalt:", 16, 117, 29, 17)
    $mailto = GUICtrlCreateInput("", 80, 55, 250, 21, -1, $WS_EX_CLIENTEDGE)
    $mailsub = GUICtrlCreateInput("", 80, 86, 250, 21, $WS_EX_CLIENTEDGE)
    $mailbody = GUICtrlCreateEdit("", 80, 117, 250, 150, $WS_EX_CLIENTEDGE)
    $mailsnd = GUICtrlCreateButton("senden", 250, 270, 75, 25)
    $mailattch = GUICtrlCreateButton("...", 16, 135, 25, 17)
    ;netzwerk-tab
    $TabSheet2 = GUICtrlCreateTabItem("Netzwerk")
    GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", 18, 0)
    $label1 = GUICtrlCreateLabel("Share:", 16, 55, 50, 17)
    $share = GUICtrlCreateInput("\\192.168.100.211", 55, 55, 140, 21, -1, $WS_EX_CLIENTEDGE)
    $selectFolder = GUICtrlCreateButton("...", 195, 55, 27, 21)
    $label2 = GUICtrlCreateLabel("Datei:", 16, 80, 50, 17)
    $file = GUICtrlCreateInput("c:\CarrierFree.lnk", 55, 80, 140, 21, -1, $WS_EX_CLIENTEDGE)
    $selectFile = GUICtrlCreateButton("...", 195, 80, 27, 21)
    $logincredits = GUICtrlCreateCheckbox("Netzwerkuser", 80, 110, 100, 17)
    GUICtrlCreateLabel("Password:", 16, 155, 53, 17)
    GUICtrlCreateLabel("User:", 16, 130, 29, 17)
    $usrnet = GUICtrlCreateInput("Administrator", 80, 130, 140, 21, -1, $WS_EX_CLIENTEDGE)
    GUICtrlSetState($usrnet, $GUI_DISABLE)
    $pwdnet = GUICtrlCreateInput("0T1L62", 80, 155, 140, 21, $ES_PASSWORD, $WS_EX_CLIENTEDGE)
    GUICtrlSetState($pwdnet, $GUI_DISABLE)
    $netlogin = GUICtrlCreateButton("login + map", 60, 180, 75, 25)
    $mapDrive = GUICtrlCreateButton("run", 145, 180, 75, 25)
    ;prozess-tab
    $TabSheet3 = GUICtrlCreateTabItem("Prozesse")
    GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", 12, 0)
    $procs = GUICtrlCreateListView("pid|Anwendung", 16, 55, 300, 200, $LVS_REPORT, $LVS_EX_FULLROWSELECT)
    $killproc = GUICtrlCreateButton("prozess beenden", 16, 260, 200, 25)
    ;share-tab
    $TabSheet3 = GUICtrlCreateTabItem("shares")
    GUICtrlSetImage(-1, @SystemDir & "\shell32.dll", 85, 0)
    $shares = GUICtrlCreateListView("device|path", 16, 55, 300, 200, $LVS_REPORT, $LVS_EX_FULLROWSELECT)
    $unmap = GUICtrlCreateButton("Netzlaufwerk trennen", 16, 260, 200, 25)
    ;$unmapall = GUICtrlCreateButton("remove all shares", 16, 185, 200, 25)
    GUISetState(@SW_SHOW)
    While 1
    $msg = GUIGetMsg()
    GUICtrlSetTip ( $file, GuiCtrlRead($file))
    GUICtrlSetTip ( $share, GuiCtrlRead($share))
    Select
    Case $msg = $GUI_EVENT_CLOSE Or $msg = $exit
    ExitLoop
    ;SuiCide()
    Case $msg = $netlogin
    _mapShare()
    Case $msg = $selectFolder
    Case $msg = $unmap
    _unMap()
    Case $msg = $logincredits
    If GUICtrlRead($logincredits) = 1 Then
    GUICtrlSetState($usrnet, $GUI_ENABLE)
    GUICtrlSetState($pwdnet, $GUI_ENABLE)
    Else
    GUICtrlSetState($usrnet, $GUI_DISABLE)
    GUICtrlSetState($pwdnet, $GUI_DISABLE)
    EndIf
    Case Else
    EndSelect
    WEnd
    Exit
    Func _mapShare()
    If GUICtrlRead($logincredits) = 1 Then
    $success = DriveMapAdd("*", GUICtrlRead($share), 0, GUICtrlRead($usrnet), GUICtrlRead($pwdnet))
    Else
    $success = DriveMapAdd("*", GUICtrlRead($share), 0)
    EndIf
    If $success Then
    MsgBox(64, "Connected", "Zugriff auf das Netzwerk erfolgreich!" & @CRLF & "Ressource wurde auf " & $success & " gemappt.")
    GUICtrlCreateListViewItem($success & "|" & GUICtrlRead($share), $shares)
    Else
    MsgBox(16, "Es ist ein Fehler aufgetreten!", "Zugriff auf das Netzwerk war nicht erfolgreich!")
    EndIf
    EndFunc ;==>_mapShare
    Func _unMap()
    $drive = _GUICtrlListViewGetItemText ($shares, _GUICtrlListViewGetSelectedIndices ($shares), 0)
    $cshare = _GUICtrlListViewGetItemText ($shares, _GUICtrlListViewGetSelectedIndices ($shares), 1)
    If $drive <> "" Then
    DriveMapDel($drive)
    _GUICtrlListViewDeleteItem ($shares, $drive)
    ElseIf $cshare <> "" Then
    DriveMapDel($drive)
    _GUICtrlListViewDeleteItem ($shares, $cshare)
    EndIf
    EndFunc ;==>_unMap
    Func _getFolder(ByRef $input)
    $sFolder = FileSelectFolder("Verzeichnis auswählen:", "", "", "::{208D2C60-3AEA-1069-A2D7-08002B30309D}")
    If Not @error = 1 Or $sFolder <> "" Then
    GUICtrlSetData($input, $sFolder)
    EndIf
    EndFunc ;==>_getFolder

    wie die exe auf dem Rechner geht habe ich glaube geschnallt. den Rest muss ich noch begreiffen.

    mfg
    Thomas

    MFG ThomasB

    *
    Ich lese viel und gerne (und wenn ich alle Mahnungen durch habe, schmeiße ich sie weg)
    *

  • versteh Dein Problem zwar nicht ganz, bin aber 50h die Woche als Datentransportknecht am Arbeiten hier meine Lösung:

    die schreibst ein Programm (auf dem Rechner der die DFÜ hat) das läuft als Dienst und arbeitet z.B. alle 35 Sekunden eine INI ab. (auf den einzelnen PCs hast Du eine Freigabe und einen Transportuser eingerichtet, es lassen sich auch aus Sicherheitsgründen mehrere verschiedene Transportuser einrichten, wenn Du Daten aus sensiblen Bereichen abholst (z.B. Personalstelle, Forschung, Entwicklung)

    [Rechner1]
    Network=J
    NetWorkShare=\\rechner1\buchhaltung\export
    Files=\\rechner1\buchhaltung\export\rechnungen.*
    Networkuser=admin_rechner1

    für den admin_rechner1 hast Du Dir ein verschlüsseltest Passwort auf der DFÜ-Kiste hinterlegt (im Schlüssel ist auch noch die IP-Nummer von der DFÜ-Kiste ohne Punkte als Divisor, dann kann sich jeder die Datei klauen, aber nichts mit Anfangen)

    hab das soweit verfeinert, daß ich per Registry den Pausenwert zwischen 15 Sekunden und 15 Minuten variieren kann.

    Wichtig:
    die Zeitspanne darf nicht zu kurz sein,
    Zugriffe auf den Remoterechner erstmal testen nach dem Verbindungsaufbau (temporäre Datei schreiben und wieder löschen)

    Achtung:
    auf Terminalserver sollte man was einbauen, daß die Datei (die Du kopieren/moven) willst eine letzte Zugriffszeit von z.B. mindestens 20 Sekunden hat, sonst kanns passieren, daß der der "Exportapplikation" die Daten unterm Hintern wegziehst und sowas wird zu 99,99% dort nicht abgefangen.

    Nachteil:
    sollte jemand das Programm abschiessen während es die Verbindung geöffnet hat, dann kann evlt. ein Zugriff von der DFÜ-Kiste auf den Rechner1 offen sein (weiß ja nicht, wie sicher Deine Daten da sein müssen).

    Für Fragen stehe ich gerne zur Verfügung.
    Mein Autoit-Programm läuft seit ca. 8 Wochen bei mehreren unserer Großkunden und es läuft einfach ...


    Gruss

    German