Citrix-Session öffnen und IE starten

  • Hallo liebe Leute,

    ich habe folgende Problemstellung. Ich möchte von einem Client eine Citrix-Session starten. Soweit kein Problem, dass ich auf dem Client-Desktop das Citrix-Icon anklicke und sich die Sitzung aufbaut. Nun wird ja der Client-Desktop (chat.jpg) durch den Citrix-Desktop (_Base64.au3) auf dem Citrix-Server überdeckt und der IE leider nicht gestartet. Ich denke, das Skript erkennt nicht, auf welchen Desktop es nun aktiv sein soll. Kann man das irgendwie mitgeben - gibt ja leider keine Fensternamen o. ä.? Anbei mal mein bisheriges Skript.

    [autoit]

    #include <IE.au3>

    [/autoit][autoit][/autoit][autoit]

    MouseMove (45, 400)
    MouseClick ("left")
    MouseClick ("left")
    WinWait ("Verbindungsaufbau")
    WinWait ("CC-Desktop")
    WinWait ("Anmeldeskript")
    WinWaitClose ("Anmeldeskript")
    Sleep (1000)
    $oIE = _IECreate ("http://mitarbeiterportal-np.intranet.kkh.de/",1,1,1)
    WinSetState ($oIE, "", @SW_MAXIMIZE )
    _IELoadWait ($oIE)

    [/autoit]

    Für Idee sehr dankbar!

  • Hab dein Skript mal gekürzt. Sollte genauso funktionieren. Die erste 2 WinWait werden wahrscheinlich doch auch nicht benötigt, oder?
    Ein MouseClick funktioniert immer auf das Fenster, dass gerade oben ist. Entweder du nimmst ControlClick oder je nachdem wo du da draufklickst vllt sogar Run.

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>

    [/autoit] [autoit][/autoit] [autoit]

    MouseClick ("left", 45, 400, 2) ;Worauf wird geklickt?? Geht das vllt mit Run('Befehl.exe')

    [/autoit] [autoit][/autoit] [autoit]

    WinWait ("Verbindungsaufbau")
    WinWait ("CC-Desktop")
    WinWait ("Anmeldeskript")
    WinWaitClose ("Anmeldeskript")

    [/autoit] [autoit][/autoit] [autoit]

    Sleep (1000)
    $oIE = _IECreate ("http://mitarbeiterportal-np.intranet.kkh.de/",1,1,1)
    $oHWND = _IEPropertyGet($oIE, "hwnd") ;wichtig ;)
    WinSetState ($oHWND, "", @SW_MAXIMIZE )

    [/autoit]
  • Hi. Danke dir. Das mit der Maus sieht so wirklich besser aus :D Aber die Koordinaten müssen, ist keine Exe. Wegen den vielen Winwaits: hatte erst nur die letzte, da es das letzte Popup beim Verbinden zum Citrix-Server ist, aber da hatte er schon den IE auf dem Client gestartet. Deshalb wollte ich auf Nummer sicher gehen ;)


    Test leider negativ - IE wieder nicht geöffnet :( Mir scheint es so, dass er auf dem Citrix-Desktop nicht aktiv wird - hatte noch einen MouseMove probiert - tut sich nix :cursing:

    Einmal editiert, zuletzt von dhacker (18. Dezember 2008 um 16:35)

  • Aha, Citrix ist sowas wie Remote-Desktop, oder?
    Da funktioniert das auch nicht immer so mit der Mause. _MouseTrap funktioniert z.B. überhaupt nicht.

    Und der IE soll auf dem Remote-Rechner gestartet werden? Dann geht das so sowieso nicht. Da brauchst du ein Autoit-Skript direkt auf dem Citrix-Rechner.

  • klar iexplorer als published application ... musste mal dem Admin vorschlagen :)
    Der ist sicher begeistert wenn 80% der CPU auf dem Citrixserver für youtube draufgehn :)

    Lege Dir den IE doch in die AutoStartleiste oder ein Script was dann remote das macht was durch Citix nicht geht,
    seamless funktioniert Autoit zumindest

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Als "normaler" Anwender kannst du nur mit send(), sleep, clipput, clipget, pixelchecksum, ... arbeiten.

    Die nächste höhere Stufe ist, wie bereits erwähnt, Anwendungen als published application freischalten zu lassen. Sollte kein Problem sein. Ich habe alles wesentliche Programme, Excel, ... als Pulished Application. Dann kannst mit Fenstertiteln, Meldeboxen, ... arbeiten.

    Die nächste Stufe ist - ohne die IT großartig stören zu müssen - lasse dir auf ein Serverlaufwerk eine Schreibberechtigung einräumen. Dann als erstes Au3info.exe hochladen, scripten - compilieren und hoch damit.

    MfG. Reinhard

  • So, erstmal sortieren. Also ihr sagt, man kann ein Skript auch remote ausführen. Z. b. den IE als published App und es müsste gehen? Youtube und solche Spielerein sind eh gesperrt :P Das Problem ist ja, er stellt einwandfrei die Citrix-Sitzung her, arbeitet dann aber nicht weiter - wie kann ich denn in dem Skript den Citrix-Desktop aktivieren/in den Vordergrudn rücken? Hat ja keinen Titel etc.

    Das Skript müsste wohl eh als Anwender mit erweiterten Rechten laufen, da er Zugriff auf mehrere Anwendungen haben soll - also kann man ruhig weiter gehen.

  • published app im seamless Mode fühlt sich wie eine lokale Anwendung an, von daher hast Du dann auch wieder Fenstertitel.
    Darf man nach dem eigentlichen Ziel fragen, vielleicht geht es anders noch einfacher?

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Zuerst solltest du abklären, ob du die Anwendungen die du "steuern" willst als published appliction freigeschalted bekommst . Das vereinfacht die Dinge erheblich.

    "Hat ja keinen Titel etc. " Eher ungewöhnlich. Normalerweise: "irgendwas" - "Citrix Server ..."

    Aber egal, mit WinList() bekommst du Zugriff auf die laufenden Prozesse. Dadrüber das "handle" (Hwnd) des Citrix Servers ermitteln (wenn im Titel = "Citrix" oder einfach "...\\Remote"). Das handle als GLOBAL definieren (DIM reicht nicht) und mit Winactivate($handle), Win... weiterarbeiten.

    MfG. Reinhard

  • Es hat keinen Titel - ist ja ein Desktop und kein Browserfenster etc.

    habe jetzt folgendes probiert - leider ohne Erfolg

    [autoit]

    #include <IE.au3>

    [/autoit][autoit][/autoit][autoit]

    MouseClick ("left", 45, 400, 2)
    WinWait ("Verbindungsaufbau")
    WinWait ("CC-Desktop")
    WinWait ("Anmeldeskript")
    WinWaitClose ("Anmeldeskript")
    Sleep (1000)
    Global $handle = HWnd ("csrss.exe")
    Winactivate($handle)
    $oIE = _IECreate ("http://mitarbeiterportal-np.intranet.kkh.de/",1,1,1)

    [/autoit][autoit]

    MouseClick ("left", 45, 400, 2)
    WinWait ("Verbindungsaufbau")
    WinWait ("CC-Desktop")
    WinWait ("Anmeldeskript")
    WinWaitClose ("Anmeldeskript")
    Sleep (1000)
    Global $handle = HWnd ("csrss.exe")
    _viGTL ( $handle )
    $oIE = _IECreate ("http://mitarbeiterportal-np.intranet.kkh.de/",1,1,1)

    [/autoit]