flachzange89
Goto Top

WSH - net send bzw msg und Zeilenumbruch

Wir haben in unserem Netzwerk etwa 100 FatClients (handelsübliche PCs) und etwa 1.000 Thinclients (Anmeldung an W2k/W2k3 Terminal-Servern / Citrix Metaframe). Userbenachrichtigungen über Systemausfälle (SAP, etc.) werden derzeit über die Management-Tools von Citrix gehandhabt. Ich möchte dies über ein zentrales Skript gestalten, das gleichermaßen die Thinclients als auch die Fatclients benachrichtig.

Ich habe mir so weit gedacht, dass ich die Fatclients via "net send" und die Sitzungen auf dem Terminalserver via "msg" benachrichtige.

Ich habe mir dafür zunächst 2 Routinen geschrieben. Es wird jeweils die zu sendende Nachricht und die Organizational Unit im Active Directory angegeben, in dem sich die Fatclients bzw. Terminalserver befinden.

Für die Benachrichtigung der Fatclients:

function informAllFatClients(strMessage, strOU)
	Set objOU = GetObject(strOU)
	objOU.Filter = Array("computer")  
	For Each objComputer in objOU
		wshell.exec ("net send " & objComputer.cn & " " & strMessage)  
	Next
end function

Für die Benachrichtigung der Terminal Server:

function informAllTerminalServers(strMessage, strOU)
	Set objOU = GetObject(strOU)
	objOU.Filter = Array("computer")  
	For Each objComputer in objOU
		wshell.exec ("MSG * /SERVER:" & objComputer.cn & " " & strMessage)  
	Next
end function

Aufgerufen wird das ganze dann später einfach:

informAllFatClients strMitteilung, "LDAP://OU=COMPUTERKONTEN,DC=abcdefgh,DC=de"  
informAllFatClients strMitteilung, "LDAP://OU=AbteilungXYZ,OU=COMPUTERKONTEN,DC=abcdefgh,DC=de"  
[...]
informAllTerminalServers strMitteilung, "LDAP://OU=Terminalserver,OU=COMPUTERKONTEN,DC=abcdefgh,DC=de"  
informAllTerminalServers strMitteilung, "LDAP://OU=Terminalserver2003,OU=COMPUTERKONTEN,DC=abcdefgh,DC=de"  

So. Das prinzip funktioniert auch wunderbar.
Es werden alle Fatclients angesprochen und alle Sitzungen auf allen Terminalservern.

Nun ist das nächste Probleme die Übermittlung der Nachrichten. Einzeilige "Botschaften" sind hier kein Problem, wie schaut es bei mehrzeiligen aus?

Gibt es eine Möglichkeit, Zeilenumbrüche konform einzuarbeiten? Ggf. eine komplette Textdatei rauszuschicken?

Wer hier Ideen oder Erfahrungen hat, könnte diese bitte hier einbringen. Ich werde ein wenig herumspielen und dann noch einmal berichten.


Schönen Gruß,

Content-ID: 89940

Url: https://administrator.de/contentid/89940

Ausgedruckt am: 22.11.2024 um 19:11 Uhr

Logan000
Logan000 16.06.2008 um 13:55:34 Uhr
Goto Top
Moin
Gibt es eine Möglichkeit, Zeilenumbrüche konform einzuarbeiten?
Als kleine Anregung zu Zeilenumbrüchen:
Set wshell = CreateObject("WScript.Shell")  
CRLF = Chr(13) & chr(10)
strMessage ="Hallo " & CRLF & "Welt"  
wshell.exec ("net send " & "MeinPC" & " " & strMessage)   

Viel Erfolg
Gruß L.
Flachzange89
Flachzange89 16.06.2008 um 14:16:31 Uhr
Goto Top
Moin Logan000

danke, das funktioniert schonmal super bei net send.
Gibt es auch eine Möglichkeit für MSG?
Dort werden die Umbrüche nur als Steuerzeichen angezeigt.


Gruß
Logan000
Logan000 16.06.2008 um 14:33:57 Uhr
Goto Top
Leider kann ich dir dabei nicht wirklich weiterhelfen.
Wenn ich das auf meinen PC (lokal) ausprobiere klappt das analog zu Net send.

Wobei mir ist nicht ganz klar warum du für den TermServer MSG verwendest.
Würdes es nicht reichen ein Net Send an den TermServer zu schicken damit alle User darauf diese Meldung sehen?

Gruß L.
Flachzange89
Flachzange89 16.06.2008 um 16:14:32 Uhr
Goto Top
Hallo nochmal Logan,

das stimmt, das reicht vollkommen aus. Ich war zu sehr auf dieses MSG fixiert.
Das klappt einwandfrei und erleichert mir die Arbeit in Zukunft ungemein.

Danke dir noch einmal für den Hinweis mit den Zeilenumbrüchen.


Gruß