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:
Für die Benachrichtigung der Terminal Server:
Aufgerufen wird das ganze dann später einfach:
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ß,
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ß,
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 89940
Url: https://administrator.de/contentid/89940
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
4 Kommentare
Neuester Kommentar
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.
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.