Jump to content

Blade1981

Members
  • Gesamte Inhalte

    187
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von Blade1981

  1. Dankeschön schonmal, das Tool ist nicht schlecht, auch wenn ich vorerst noch nicht gaaanz damit zurecht komm ;), aber kommt Zeit, kommt Rat :)

     

    Ich habe mich nun anders entschieden. Werde es zwar über VBS machen, aber die Änderung letztendlich wird über NETSH laufen. Weil dort kann man einfach "Drahtlose Netzwerkverbindung" nehmen. Das ist das Einfachste. Zumindest vorerst. Falls Probleme auftreten, kann man's ja immernoch ändern.

  2. Hallo!

     

    Ich brauche ein Script (VB-Script), mit dem ich NUR von der W-LAN Schnittstelle die IP ändern kann.

    Wie geht das?

    Ähm, was noch wichtig ist, wir haben nicht immer die selben Geräte, was heißt, es wäre super, wenn man auf "Drahtlose Netzwerkverbindung" (Eigenschaften der Netzwerkumgebung, dort liest man das so) zugreifen könnte und die Einstellungen nicht über die Bezeichnung/den Namen machen müsste.

    Ein Kumpel von mir meinte, dass es unter VBS ginge, dass man explizit nur auf die W-LAN-Einstellungen zugreifen könnte, konnte mir aber auch nichts weiteres sagen.

    Ziel ist, dass man einfach auf DHCP umstellen kann und von DHCP schnell wieder auf die "normale" IP-Adresse. Da ich aber bisher nur weiß, wie man alle Netzwerkadapter auf einmal (sprich, es hätten alle Netzwerkadapter des Rechners die selbe IP) umstellt, was nicht Sinn und Zweck des Scriptes sein darf, brauche ich eure Hilfe!

     

    Vielen Dank schonmal!

  3. Okay, soo viel is ned um, aber is trotzdem eleganter dein Vorschlag. Geht nur um das If, welches ich ursprünglich in die "Umfangreiche" Lösung umgesetzt habe (If Then Else End If). Es schaut jetzt so aus und funktioniert perfekt:

     

    Private Function Rechnernummer

    Nummer=0

    ..while Nummer < 1 Or Nummer > 254

    Nummer=InputBox ("Bitte Rechnernummer (1 - 254) eingeben!", "Rechnernummer")

    ....If Nummer= FALSE Then

    Abbruch

    ....Else

    On Error Resume Next

    PCNummer=Nummer

    Nummer=Int(Nummer)

    ......If Nummer < 1 Or Nummer > 254 then MsgBox("Ungültige Eingabe!")

    ....End If

    ..Wend

    "Weitere Function"

    End Function

     

    Die Zeile mit Integer wollte ich behalten, weil dies die Abfrage auf die Zahl erleichtert und außerdem die "saubere" IP-Eintragung garantiert. Dass ich die "unsaubere" Variable zunächst in eine andere Variable schreibe, hat den Grund, dass sonst die "0"er bei der Namensvergabe verloren gehen wg. Integer.

     

    Supi! Also dankeschön, hast mir sehr geholfen! :)

  4. Hallo!

     

    Ey supi :) Gute Lösung! Klappt! Abbruch hab ich integriert. Wenn man jetzt noch eine Fehlermeldung integrieren könnte ("Ungültige Eingabe!") dann wär das perfekt. Aber egal wie ich's mir überdenk, die Meldung kommt immer. Wobei ich ja sagen muss, dass ich nicht genug weiß, um das beurteilen zu können ;)

     

    Aber auf jeden Fall schonmal vielen Dank, damit lässt sich gut was anfangen :)

  5. Unter VBS kann man leider keine Variablen deklarieren. Versucht man Dim ... as ..., dann meckert das Script noch bevor es ausgeführt wird wegen dem "as". Automatisch sind alle Variablen als Variant deklariert.

    Jedoch auch wenn ich deklarieren könnte, dann wüsste ich nicht weiter, wie ich bei einem Fehler wieder zurück springen könnte. Die einzige Möglichkeit, die ich bisher kenn, ist, dass man das Script einfach weiter laufen lässt, aber das macht keinen Sinn, da die Nummer für den Rechnernamen und die IP wichtig ist. Und dann versuch mal ne IP mit Buchstaben zu vergeben ;) Also bringt mir das auch nix, wenn er nach nem Fehler einfach weiter macht als wär nix gewesen...

     

    Trotzdem erstmal danke!!!

  6. Hab noch bei anderen Scripts ne Möglichkeit gefunden, aber es geht einfach ned... Hier so, wie es "eigentlich" funktionieren sollte, aber er erkennt nen Fehler in der 2. Zeile wg dem "EnumerateValuesError" -> Syntaxfehler

     

    Private Function Rechnernummer

    On Error Goto EnumerateValuesError

    Nummer=InputBox ("Bitte Rechnernummer (1 - 254) eingeben!", "Rechnernummer")

    If Nummer = FALSE Then

    Abbruch

    ElseIf Nummer >= 1 and Nummer < 255 Then

    Ueberpruefung

    Else

    Meldung = MsgBox("Ungültige Eingabe!", vbOKOnly, "Abbruch!")

    Rechnernummer

    End If

    Exit Function

     

    EnumerateValuesError:

    MsgBox "Error occured ja ja!"

    Rechnernummer

    Exit Function

    End Function

  7. Hallo!

     

    Ich möchte in meinem VB-Script, dass bei einem Fehler nicht abgebrochen wird, sondern dass bei der aktuellen Function wieder von Beginn an gestartet wird.

    Mit "On Error GoTo <Function>" oder "On Error Resume Next" klappt es nicht. Zumindest bekomm ich das nicht hin.

     

    Hier der konkrete Fall:

     

    Wenn hier (Nummer=InputBox) eine Zahl mit Buchstaben oder nur Buchstaben eingegeben werden, folgt der Fehler mit Sciptabbruch. Wär doch viel besser, wenn er die Function nochmals von vorne starten würde mit ner MsgBox als Fehlermeldung!

     

    Private Function Rechnernummer

    Nummer=InputBox ("Bitte Rechnernummer (1 - 254) eingeben!", "Rechnernummer")

    If Nummer = FALSE Then 'Bei drücken auf Abbruch folgt Function Abbruch

    Abbruch

    ElseIf Nummer >= 1 and Nummer < 255 Then

    Ueberpruefung

    Else

    Meldung = MsgBox("Ungültige Eingabe!", vbOKOnly, "Abbruch!")

    Rechnernummer

    End If

    End Function

     

    Danke schonmals!

  8. Hallo!

     

    Und wieder mal ein VB-Script-Problem...

     

    Ich brauche ein Script, mit dem ich einen PC in eine Domäne aufnehmen kann oder wechseln kann, falls er vorher schon in einer Anderen war.

    Per Batch geht das ja über NETDOM, aber ich brauche ein VB-Script.

     

    Und wisst ihr was darüber, ob nun bei Longhorn wirklich keine Batch-Scripte mehr unterstützt werden?

     

    Danke schonmal!

  9. Weiß denn niemand was? Ich weiß, dass es geht, aber nicht wie. Es gibt ja sogar bei WinXP ein VB-Script dafür, aber das ist sehr sehr sehr sehr umfangreich und ich blick da nicht durch, welche paar Zeilen für mich da nötig sind. Zu finden ist das Script dort:

     

    %systemroot%\system32

     

    und heißt pgefileconfig.vbs.

    Hab gestern scho ewig rumgetan, aber i find's echt ned raus...

  10. Hallo!

     

    Mich würde interessieren, wie ich die Auslagerungsdatei über ein VB-Script anpassen kann?

     

    Wie das per REG-Datei geht, is klar, aber ich brauch das in meinem VB-Script!

     

    Ich weiß nur, dass das mit RegWrite nicht geht, da hier ein REG_MULTI_SZ - Wert geschrieben werden muss und dieser von RegWrite nicht unterstützt wird.

    Andere Möglichkeit? Gibt es andere Methoden dafür? Falls ja, welche?

     

    Danke schonmals!

  11. Okay... Ich hab jetzt herausgefunden, dass man REGWRITE keinen REG_MULTI_SZ - Wert ändern kann. Aber wie kann ich das dann in das Script einbauen?

    Alternative (aber trotzdem lieber alles nur per Script):

    Kann ich auch den Eintrag per .REG-Datei ändern, ohne dass nachgefragt wird, ob ich den Eintrag wirklich vornehmen will. Tja, mit einem Batch, wär's einfach, da wüsst ich's schon, aber wie geht das per VBS?

    Oder gibt's noch ne andere Möglichkeit? Z.B. über WMI? Oder ne andere Methode? Kenn mi ja leider ned so aus...

    Aber dafür gibt's ja die Foren ;)

     

    Danke schonmal!!!

  12. Hallo!

     

    Ich habe ein VB-Script und dies muss nun erweitert werden. Wegen gewissen Umständen, die sich nicht so schnell ändern lassen, müssen wir die Auslagerungsdatei anpassen. Dies soll per VB-Script passieren. Wenn ich allerdings den Eintrag für die Auslagerungsdatei ändern will, was einen REG_MULTI_SZ-Wert ist, dann bringt er Typenunverträglichkeit. Änder ich das dann von REG_MULTI_SZ in REG_SZ oder lass es ganz weg, dann führt er den Vorgang aus, jedoch passt dann natürlich der Wert nicht.

    Noch ergänzend: W2K ist bei uns auf D installiert und wir brauchen die Auslagerungsdatei aber auf C, was sich nach dem Sysprep aber wieder auf D umstellt. Kann man leider auch nicht in der Sysprep.ini einstellen...

     

    Also bei mir schaut das wie folgt aus:

     

    Regestrie.RegWrite "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management2\PagingFiles","c:\pagefile.sys 512 512","REG_SZ"

     

    Wie gesagt, dann führt er das Script aus. Änder ich das in "REG_MULTI_SZ" macht er es nicht (ich habe absichtlich vorerst den Pfad bisschen abgeändert, um mir die Registry nicht zu schießen ;) und es liegt sicherlich nicht daran!).

     

    Wie muss ich vorgehen, dass die Änderung ausführt wird?

     

    Danke schonmals!

  13. Guten Morgen!

     

    Ach menno... Jetz läuft zwar das Script auf meinem XP-Rechner, aber nicht auf dem W2K Rechner, obwohl ich schon Microsoft Windows Script 5.6 (Windows 2000, XP) installiert hab. Weißt du noch was drüber? --->>>Siehe Edit ;)

     

    Des mit'm Case von meinem vorigen Beitrag besteht immer noch, aber wär gut, wenn ma des au no in den Griff bekommen würden... ;)

     

    --->>> Edit

    Mensch, das tut weh. Er führte das Script schon aus, nur hat man nicht gesehen, dass er es macht. Also funzt au anscheinend unter W2K ;) *auf-Stirn-hau!*

  14. Hmmm. Mal schauen, is ne Überlegung wert find ich!

     

    Mal noch ne Frage...

     

    Ne Case-Abfrage...

     

    Warum kann ich folgendes machen:

    Select case Rechnertyp

    case "Typ1"

    ...

    case "Typ2"

    ...

    ...

    End Select

     

    machen, aber nicht:

    Select Case Rechnernummer

    case > 255

    msgbox "Falsche Eingabe!"

    case > 0

    ...Funktion...

    case else

    Abbruch

    End Select

     

    Er mag das kleiner und größer-Zeichen nicht. Kann ich das umgehen? Oder auch nur wieder durch so ein Modul? Sind die Module dann nur für die Funktion geladen, oder für den gesamten Scriptablauf?

    Lernst du dein Zeugs hauptsächlich aus dem Buch?

  15. Halli hallo!

     

    Also dein letztes Script hat mir jetzt schon gut weiter geholfen. Dankeschön ;) Die Lösung, die ich hier hab (schön langsam recht umfangreicher code), kommt schön langsam dem Ende entgegen ;)

    Noch ne Frage. Wie kann ich das Script abbrechen über den Abbrechen-Button? Wenn ich einfach nur End eingeb, dann kommt ne Fehlermeldung, dass noch was erwartet wird. Auch wenn ich es in ner Unterfunktion mach...

     

    Danke nochmals ;)

     

    Ähm... Noch was... Wie geht's dann weiter? Ich kann bei deiner Vorlage die Buttons nicht belegen. Hab schon folgendes versucht (da ich vorher schon so ne ähnliche Abfrage drin hab):

     

    Dim Meldung

    Meldung = "Rechnername: " + Rechnername + " - IP-Adresse: " + IPAdresse

    MsgBox Meldung, vbYesNoCancel + vbInformation + vbDefaultButton1 + vbApplicationModal

    If vbYes Then

    msgbox "Yes funktioniert!"

    ElseIf vbNo Then

    Aendern

    Else

    msgbox "Sie haben abgebrochen!"

    End IF

     

    Hab auch schon statt Meldung eine andere Vatiable genommen (MeldPruef), aber funktioniert nicht. Hab dann auch noch folgendes versucht:

     

    If Meldung = vbYes Then

    msgbox "Yes funktioniert!"

    ElseIf Meldung = vbNo Then

    Aendern

    Else

    msgbox "Sie haben abgebrochen!"

    End IF

     

    Bei einem bringt er immer "Sie haben abgebrochen!" und beim Anderen "Yes funktioniert!" :(

  16. Sorry, aber der Rechnertyp soll ja abgefragt werden vom Rechnernamen. Diese Abfrage ist wichtig für die vom Script resultierende Configuration des Rechners. IP-Adresse und endgültiger Rechnername.

    Somit soll das Script den Typen abfragen, dass man nur noch die Rechnernummer eingeben muss. Denn aus diesen beiden "Variablen" resultieren die IP-Adresse und der Computername nach der Imageaufspielung.

    Also ich brauch doch nur eine Inputbox mit 3 Buttons und eben einem Textfeld, in das ich die Nummer reinschreiben kann. Der ausgelesene Rechnertyp, der kann entweder in der Titelleiste der Inputbox stehen oder als Text in der Box...

  17. Okay... Hab jetz bei dem Programm (der einen Hilfe, die vorhin erwähnt wurde) was gefunden. Jetz muss ich nur noch eine Variable in die Titelleiste oder als Text anzeigen lassen können in dem Auswahlfenster, dann passt des zumindest halbwegs, wenn es keine andere Möglichkeit unter VB-Script gibt ;)

     

    Wenn ich des so probier:

     

    Rechnertyp = test

    Meldung = msgbox(Rechnertyp, vbYesNoCancel + vbInformation + vbDefaultButton1 + vbApplicationModal, Rechnertyp)

    If Meldung = vbYes Then

    ' -- Code für Ja

    ElseIf Meldung = vbNo Then

    ' -- Code für Nein

    Else

    ' -- Code für Abbrechen

    End If

     

    dann zeigt er nicht "test" an, sondern garnix. Weiß da noch jemand was?

  18. Hilfe...

    Bei dem Code von TFEA38 blick i ned ganz durch... ;)

     

    Ich setz jetz einfach mal meinen bisherigen Code mit rein:

    _______________________

    Set Regestrie = Wscript.CreateObject("WScript.Shell")

    Set Network = WScript.CreateObject("WScript.Network")

     

    Rechnertyp=Network.ComputerName

    Rechnername=Rechnertyp

     

    Select case Rechnertyp

     

    case "Typ1"

    IPAddr="x.x.x."

     

    case "Typ2"

    IPAddr="x.x.x."

     

    case "Typ3"

    IPAddr="x.x.x."

     

    case "Typ4"

    IPAddr="x.x.x."

     

    end select

     

    Hier soll ein Fenster erscheinen, wo der Rechnertyp zur Überprüfung angezeigt wird. Ist dieser richtig, so braucht man in diesem Fenster nur noch dessen Nummer eingeben. Ist der Typ Falsch, soll man die Möglichkeit haben, den Typen manuell zu ändern (z.B. über nen Button, der eine Imputbox öffnet). Außerdem soll Abbruch zur Verfügung stehen.

     

    ' Um alles Weitere kümmer ich mich dann schon irgendwie ;)

     

    Wichtig ist, dass man, wenn der Typ stimmt, nur noch die Nummer eingeben muss. Erst, wenn es nicht stimmt, dann dürfen auch mehr klicks nötig sein. Soll halt alles optimal sein ;)

×
×
  • Neu erstellen...