Magia w Remote Apps


Dzisiaj bedzie o konkretnym przypadku. Otóz byla sobie aplikacja. Wlasnego wyrobu (w sensie, ze firma miala dostep do kodu, programistów itp.), absolutnie krytyczna dla biznesu i uzywajaca CPU w sposób dosc specyficzny. Otóz najwazniejsze operacje bardzo mocno obciazaly procesor na kilkanascie sekund, po których aplikacja byla gotowa do uzytku i procesora nie obciazala juz tak wyraznie przez kolejne kilka albo i kilkanascie minut. Trudno sie dziwic, ze pojawila sie koncepcja pilotazowego scentralizowania jej poprzez przeniesienie do uslug terminalowych. Na silnym, wieloprocesorowym serwerze, mocne chwilowe obciazenia ladnie rozkladaly sie pomiedzy wielu uzytkowników, a równoczesnie czas oczekiwania na te jedna operacje znaczaco sie skrócil. Generalnie, wszystko dzialalo jak trzeba, wiec pojawil sie pomysl, zeby pójsc dalej. Zamiast udostepniac przez uslugi terminalowe pelne pulpity, z Menu Start itp., lepiej przeciez "wyterminalowac" jedna aplikacje. Poza elegancja takiego rozwiazania, Remote Apps maja ogromna zalete, ze przy porównaniu do aplikacji zainstalowanych lokalnie, nie zmienia sie znaczaco to, co uzytkownik widzi na ekranie. W sytuacji, gdy z aplikacja pracuja setki osób to ma naprawde ogromne znaczenie, poniewaz laczny czas zaoszczedzony na szkoleniach i zmianie nawyków sumuje sie do niemalej wartosci.

Zostala przygotowana nowa platforma (calkiem spora szafa pelna serwerów) i wykonano testy. Wszystko bylo dobrze, choc odwlekane w nieskonczonosc aktualizacje ServicePacków na WindowsXP nabraly tempa, bo Remote Apps wymagalo aktualizacji klienta RDP. ServicePack 3 pozwolil na normalna prace. Po aktualizacji wyterminalowano kilka systemowych aplikacji, bo ludziom z IT latwiej poruszac sie po notepadzie, kalkulatorze czy menedzerze zadan niz po aplikacji biznesowej. Ta uruchamiala sie poprawnie, wiec uznano ze w codziennych pracach równiez dziala tak, jak trzeba. Bylo to o tyle uzasadnione, ze w realiach udostepniania pelnego pulpitu pracowala juz w kilku miejscach produkcyjnie i bez zastrzezen. Mozna bylo przejsc do pilota. I tu zaczely sie schody.

Po uruchomieniu kilku instancji aplikacji przez jednego uzytkownika, przy bardzo szczególnych operacjach okazywalo sie, ze dane wpisywane w jednym oknie pojawiaja sie w zupelnie innym. Czysta magia. Problem byl prosty do powtórzenia i dawal sie dzieki temu dosc prosto diagnozowac. Szybko okazalo sie, ze pojawia sie tylko przy Remote Apps. Udostepnienie na tym samym serwerze calego pulpitu i uruchamianie aplikacji spod explorer.exe powodowalo, ze problem znikal. Po wielu godzinach dlubania w konfiguracji farmy (a tak naprawde szukania natchnienia co by tu moglo byc powodem problemów) po dyskusjach z programistami (kto programowal, ten wie jak radosne moze byc szukanie przyczyny w takim scenariuszu) pojawila sie jeszcze jedna mysl: A co na to Windows 7? Okazalo sie, ze w Windows 7 problem nie wystepuje. Dalej bylo juz z górki, mimo ze szybka zmiana systemu na stacjach klienckich nie wchodzila w gre. Wystarczyla instalacja klienta RDP 7.0 na XP (milo z jej strony, ze nie wymaga restartu), testy i okazalo sie, ze klawiatura dziala tak, jak trzeba. Pozostalo zautomatyzowanie instalacji (WSUS+skrypty tam, gdzie WSUS byl zbyt powolny) i wykrywanie gdzie jeszcze problem istnieje. Gdyby ktos kiedys potrzebowal sie dowiedziec o wersje klienta RDP na zdalnej stacji, to z wiersza polecen mozna tak:

wmic /node:nazwakomputera datafile where "name='c:\\windows\\system32\\mstsc.exe'" get version

Warto pamietac o podwójnych backslashach wymaganych przez skladnie WMIC.

Autor: Grzegorz Tworek [MVP]

Comments (5)

  1. Sprawdziłem i działa poprawnie… można ze strony skopiować i wkleić, też będzie ok.

  2. Anonymous says:

    Anno: Twoja nazwa komputera zapewne ma myślnik "-" w nazwie, musisz wziąć ją w pojedyncze apostrofy 'nazwa-komputera' i wszystko będzie OK 🙂

  3. Rozumiem, że chodzi o polecenie "WMIC…" Powinno działać niezależnie od środowiska, jeżeli tylko na docelowym komputerze masz odpowiednie uprawnienia.

    Możesz napisać jak dokładnie kończy się próba użycia?

  4. Anna Pysz says:

    Spróbowałam wydac tą komendę na swoim systemie Windows 7 i nie zadziałała. Miała prawo? Czy to tylko działa w środoisku domenowym?

  5. Anna Pysz says:

    Tak, dokładnie o to polecenie.

    Uruchomiłam wiersz poleceń z uprawnieniami administracyjnymi i po wydaniu komendy otrzymuję komunikat; "Invalid Global Switch"

Skip to main content