Jump to content

bat Datei remote


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

ich habe ein kleines VB-Porgramm geschrieben, mit dem ich je nach Bedarf die TCP/IP Adressierung auf den Clients verändern kann. Nach dem Starten des VB-Programms soll auf dem Client eine bat-Datei gestartet werden, die dann eine reg-Datei anspricht und diese dann die TCP/IP Adresse ändert. (Den Quelltext habe ich angehängt)

Das Programm liegt nicht auf dem Windows 2000 Server. Die bat Datei und die reg Datei liegen auf den Clients, die VB Datei auf meinen Lehrerrechner. Die bat Datei läßt sich jedoch nur auf dem Rechner ausführen auf dem das VB-Programm liegt.

 

Brauche ich um dieses Problem zu beheben unbedingt einen Telnet? Wenn ja, wie mache ich das? Oder gibt es noch eine andere Lösung?

 

Gruß Nicole

 

 

Option Explicit

Dim speichern_ok As Boolean

Public Sub Main()

frmSplash.Show

speichern_ok = False

frm_internet.Show

Unload frmSplash

 

End Sub

 

 

 

 

 

 

Private Sub cmd_info_Click(Index As Integer)

frm_info.Show vbModal

 

End Sub

 

Private Sub cmd_schliessen_Click(Index As Integer)

Dim shellpara As String

Dim zähler As Integer

zähler = 0

 

While zähler < 4 ' Inner loop.

zähler = zähler + 1 ' Increment Counter.

shellpara = Shell("\\S00" & zähler & "\c$\System16\proxyoff.bat", vbHide)

If shellpara <= 0 Then MsgBox ("Fehler beim Trennen von Rechner S00" & zähler & " !")

Wend

 

 

' While zähler < 34 ' Inner loop.

' zähler = zähler + 1 ' Increment Counter.

' shellpara = Shell("\\S0" & zähler & "\c$\System16\proxyoff.bat", vbHide)

' If shellpara <= 0 Then MsgBox ("Fehler beim Trennen von Rechner S0" & zähler & " !")

' wend

Unload frm_internet

 

End Sub

 

 

 

 

 

 

Private Sub cmd_trennen_Click(Index As Integer)

Dim shellpara As String

shellpara = Shell("\\" & Clientliste.Text & "\c$\System16\proxyoff.bat", vbHide)

If shellpara > 0 Then

MsgBox ("Proxy wurde auf Rechner " & Clientliste.Text & " erfolgreich getrennt!")

Else

MsgBox ("Fragen Sie Ihren Systemadminstrator!")

End If

End Sub

 

Private Sub cmd_verbinden_Click(Index As Integer)

Dim shellpara As String

shellpara = Shell("\\" & Clientliste.Text & "\c$\System16\proxy.bat", vbHide)

If shellpara > 0 Then

MsgBox ("Proxy wurde auf Rechner " & Clientliste.Text & " erfolgreich verbunden!")

Else

MsgBox ("Fragen Sie Ihren Systemadminstrator!")

End If

End Sub

 

 

 

 

 

Private Sub TrennenAlle_Click()

Dim shellpara As String

Dim zähler As Integer

zähler = 0

 

While zähler < 4 ' Inner loop.

zähler = zähler + 1 ' Increment Counter.

shellpara = Shell("\\S00" & zähler & "\c$\System16\proxyoff.bat", vbHide)

If shellpara <= 0 Then MsgBox ("Fehler beim Trennen von Rechner S00" & zähler & " !")

Wend

 

 

' While zähler < 34 ' Inner loop.

' zähler = zähler + 1 ' Increment Counter.

' shellpara = Shell("\\S0" & zähler & "\c$\System16\proxyoff.bat", vbHide)

' If shellpara <= 0 Then MsgBox ("Fehler beim Trennen von Rechner S0" & zähler & " !")

' wend

 

End Sub

 

Private Sub VerbindenAlle_Click()

Dim shellpara As String

Dim zähler As Integer

zähler = 0

 

While zähler < 4 ' Inner loop.

zähler = zähler + 1 ' Increment Counter.

shellpara = Shell("\\S00" & zähler & "\c$\System16\proxy.bat", vbHide)

If shellpara <= 0 Then MsgBox ("Fehler beim Trennen von Rechner S00" & zähler & " !")

Wend

 

 

' While zähler < 34 ' Inner loop.

' zähler = zähler + 1 ' Increment Counter.

' shellpara = Shell("\\S0" & zähler & "\c$\System16\proxy.bat", vbHide)

' If shellpara <= 0 Then MsgBox ("Fehler beim Trennen von Rechner S0" & zähler & " !")

' wend

 

End Sub

Link zu diesem Kommentar

Hi nicki,

 

ich benutze für solche Zwecke immer die Boardmittel der Rechner selber; in diesem Fall den Scheduler (den alten, nicht den Taskmanager, wobei das ja heute keinen SOOOO großen Unterschied ausmacht)

 

An deiner Stelle würde ich die .bat Dateien auf jedem Rechner in das gleiche Verzeichnis legen und mittels "AT" den Start triggern. Das ganze klappt, wenn die Uhrzeiten zeihmlich genau sind, ansonsten musst du etwas mehr Zeit kalkulieren.

 

Ok hier ein Beispiel

 

Auf jeden Rechner hast du ein ausführbare Batch unter c:\winnt\system gespeichert, z.B. change_ip.cmd (oder .bat)

 

Dann kannst du folgendes auf deinem Rechner ausführen:

 

at \\REMOTE HH:MM c:\winnt\system\change_ip.cmd

 

HH:MM ist die Zeit in ein paar Minuten, so dauert das ganze net so lange....

 

das kannst du ja in einer Batchdatei einfügen, so dass du mehrere Rechner erreichen kannst

 

at \\REMOTE1 HH:MM c:\winnt\system\change_ip.cmd

at \\REMOTE2 HH:MM c:\winnt\system\change_ip.cmd

at \\REMOTE3 HH:MM c:\winnt\system\change_ip.cmd

 

 

Oder noch einfacher, indem du die Zeit über die Kommandozeile übergibst...

 

mittels AT \\REMOTE fragst du den Status ab...

 

(REMOTE ist IP oder NetBIOS-NAME des Remoterechners...)

 

Gruß

 

Dejan

Link zu diesem Kommentar

Hallo nochmal,

 

also das hat nicht funktioniert. Habt ihr eventuell noch eine Idee, wie ich das bewerkstelligen kann?

 

Es handelt sich hierbei um einen Schulungsraum und ehe man sich versieht, sind die Schüler auch schon im Internet. Ich möchte vom Lehrerrechner den Internetzugang manuell zulassen und verbieten können.

 

Gruß Nicole

Link zu diesem Kommentar
  • 2 Wochen später...

Hallo blub

 

also die bat Datei kann ich nun aufrufen

 

psexec.exe \\S002 -s -i -d \proxy.bat

 

 

Aber ich habe nun folgendes Problem. Wenn ich die bat Datei lokal auf dem Rechner aufrufe, arbeitet diese eine reg Datei ab, in der der neue Registry Eintrag steht. Der Restistry Eintrag wird korrekt geändert.

Auch wenn ich die bat Datei ferngesteuert aufrufe, wird die bat Datei auf dem Client geöffnet und "anscheinend" die reg Datei ausgeführt, nur eine Änderung des Registry Eintrags erfolgt nicht.

 

Wiedo diese beiden unterscheidlichen Funktionsweisen, obwohl doch eigentlich das Gleiche durchgeführt wird????

 

Gruß Nicki

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...