ccornelsen 10 Geschrieben 27. März 2008 Melden Teilen Geschrieben 27. März 2008 So ihr Profis, ich denke mal die Frage ist einfach, ich beschäftige mich aber heute das erstmal mit Scipting, allerdings Programmieren konnte ich mal, also nicht ganz unbefleckt.... Mein Szenario: Ich will in meiner Citrix Farm über ein VB Script den Usern auf den Servern eine Nachricht schicken. Der Admin/HelpDesk MA soll die Nachricht aber per Input Box eingeben. Soweit funzt es auch. Nur jetzt will ich in dem Scipt ein net send absetzen, welches auch alleine wunderbar funktioniert, aber die Komination nicht :) Mein VB Script: Abmelden.bvs _____________________ Nachricht = Inputbox("Welche Nachricht sollen die User bekommen ? ") if Nachricht = "" then Set WSHShell = Wscript.CreateObject("Wscript.Shell") msgbox "Keine gültige Eingabe!",0,"Fehler in der Eingabe" WScript.Quit else end if _____________________ Der net send soll so aussehen: net send %computername% " <Nachricht aus der inputbox> " _____________________ Wie bekomme ich das zusammengeflanscht? Was muss ich wo machen :) Danke in Vorraus! Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 27. März 2008 Melden Teilen Geschrieben 27. März 2008 WSHShell.Run(<cmd Befehl>)[/Code] Mehr Infos dazu hier: Run Method (Windows Script Host) Zitieren Link zu diesem Kommentar
ccornelsen 10 Geschrieben 27. März 2008 Autor Melden Teilen Geschrieben 27. März 2008 Danke! Klappt schon ganz gut, allerdings wie übergebe ich die Variable "Nachricht" aus der Inputbox in den netsend command für die Ausgabe? Set WshShell = WScript.CreateObject("WScript.Shell") Nachricht = Inputbox("Welche Nachricht sollen die User bekommen ? ") if Nachricht = "" then msgbox "Keine gültige Eingabe!",0,"Fehler in der Eingabe" else end if wshshell.run "net send %computername% + Nachricht " Oder muss ich dafür eine extra Variable für deklarieren? :) Alles für mich neuland :) Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 27. März 2008 Melden Teilen Geschrieben 27. März 2008 In dem Fall würde ich das ganze folgendermaßen probieren: dim cmdcmd = "net send " & computername & " " & Nachrichtwshshell.run(cmd)[/Code] Dann musst du nur noch dafür sorgen, das die Variablen computername und Nachricht belegt sind... Zitieren Link zu diesem Kommentar
ccornelsen 10 Geschrieben 27. März 2008 Autor Melden Teilen Geschrieben 27. März 2008 Jaa, ist schon fast so wie ich es haben will.... Der Quellcode sieht wie folgt aus : Set WshShell = WScript.CreateObject("WScript.Shell") Dim Nachricht Nachricht=Inputbox("Welche Nachricht sollen die User bekommen ? ") if Nachricht="" then msgbox "Keine gültige Eingabe!",0,"Fehler in der Eingabe" else end if dim cmd cmd = "net send %computername%" & " " & wshshell.run(Nachricht) wshshell.run(cmd) Die Variable computername bleibt Computername, da der Zielserver ein Terminalserver ist und somit jeder User, egal ob RDP oder ICA Verbindung dann diese Nachricht erhält. Die Varibale Nachricht funzt noch nicht. In der Inputbox soll die Nachricht eingegeben werden, die nachher als netsend Nachricht versendet wird. Beispiel: In der InputBox wird eingegeben: "Bitte um 17Uhr abmelden" Die Nachricht soll dann sein, wie sie dann in net send geschrieben wird: net send %computername% "Bitte um 17Uhr abmelden" Ich hoffe das geht aus meinen Codeversucher hervor, wie ich das gern hätte, funzt aber noch nicht ganz, nochmal bitte kurze Hilfe :) DANKE!!!! Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 27. März 2008 Melden Teilen Geschrieben 27. März 2008 Probier mal folgende Zeile: cmd = "net send %computername% " & Nachricht[/Code] Zitieren Link zu diesem Kommentar
ccornelsen 10 Geschrieben 27. März 2008 Autor Melden Teilen Geschrieben 27. März 2008 Die Zeile hatte ich vorhin auch schon ausprobiert: cmd = "net send %computername%" & Nachricht Da passiert nix, geht einmal kurz die Dos-Box auf und das wars. Keine Nachricht. habe das auch schon in mehreren Variationen ausprobiert... Oder stimmt was mit der Variablen nicht? Oder andere Ideen? Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 27. März 2008 Melden Teilen Geschrieben 27. März 2008 Kleiner Debugtip: Schreib dir mal den Inhal von cmd auf ne MessageBox raus und schau, was da raus kommt und setz das mal selber in einer Commandline ab und schau was dabei rauskommt. Zitieren Link zu diesem Kommentar
ccornelsen 10 Geschrieben 27. März 2008 Autor Melden Teilen Geschrieben 27. März 2008 Achjo, die alten debugTipps... Kenn ich noch von früher... Naja, aber trotzdem, die Variable gibt er mir sauber wieder in der Msgbox nur beim net send will er mir die nicht mit reinpacken die Variable.... Oder gibt es dafür noch spezielle Syntax regeln? Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 27. März 2008 Melden Teilen Geschrieben 27. März 2008 Wenn ich daziwschenfunken darf: Bei dem Vorschlag von phoenixcp ist nach %computername% noch ein Leerzeichen! Zitieren Link zu diesem Kommentar
ccornelsen 10 Geschrieben 27. März 2008 Autor Melden Teilen Geschrieben 27. März 2008 Bingo, ganz genau, ist mir beim ausprobieren auch aufgefallen :) Also so funzt es: dim cmd cmd = "net send %computername%" & " " & Nachricht wshshell.run(cmd) Dann macht der das auch, sau geil! Danke schön für die Hilfe, bei Administrativen MS und CTX Problem helfe ich gerne weiter :D Zitieren Link zu diesem Kommentar
phoenixcp 10 Geschrieben 27. März 2008 Melden Teilen Geschrieben 27. März 2008 Aarghh.... das hatte ich selber übersehen das das fehlte... is ja fast peinlich... Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.