Jak korzystać z tscon na Windows7?

12

Muszę uruchomić testy automatyzacji w nocy za pomocą RFT i IE na maszynie wirtualnej z systemem Windows7. Odkryłem, że ponowne uruchomienie systemu Windows przed rozpoczęciem testów pomaga.

Przenoszę środowisko produkcyjne z Windows XP do Windows 7. RFT zwykło narzekać, gdy uruchamiam skrypty RFT CRFCN0557E: Activation failed when running under a Terminal Services environment. This may be caused by using a minimized terminal window - try playing back without minimizing the terminal window (it does not need to be full-screen).

Uruchomienie tscon.exe 0 /dest:consoleprzed uruchomieniem dowolnego skryptu RFT napraw błąd w systemie Windows XP. Ale nie na Windows7.

Przeprowadziłem badania i godzinami próbowałem to naprawić, ale nic nie pomogło. W Windows7 nie ma włączonego wygaszacza ekranu.

Próbowałem uruchomić oba, ale nic nie pomogło.

tscon.exe 0 /dest:console
tscon.exe 1 /dest:console

Na Windows7 tscon zwraca

{ErrorPrintf(): LoadString failed, Error 15105, (0x00003B01)}
Error [15105]:The resource loader cache doesn't have loaded MUI entry.
Error [0]:The operation completed successfully.

W systemie Windows XP tscon zwraca

Could not connect sessionID 0 to sessionname console, Error code 7045
Error [7045]:The requested session access is denied.

Właśnie dwukrotnie sprawdziłem, czy uruchomienie tscon.exe 0 /dest:consolew systemie Windows XP rozwiązuje problem. Nie można wtedy zrozumieć wyniku działania polecenia tscon.

Masz pomysł, jak uruchomić skrypty RFT po automatycznym ponownym uruchomieniu okna Windows? Najlepiej bez angażowania innego komputera. Myślałem nawet o użyciu starego systemu Windows XP, aby sesja pulpitu zdalnego była zadowolona. Mam nadzieję, że istnieje inne lepsze rozwiązanie tego problemu.

Radek
źródło
Stworzyłem kolejne pytanie, które może być powiązane. serverfault.com/questions/429364/…
Radek,
Również ten wygląda obiecująco msdn.microsoft.com/en-us/library/windows/hardware/gg463353.aspx nie wiem, co to znaczy dla mnie.
Radek,

Odpowiedzi:

13

Zanim przejdę do twojego głównego problemu, chciałbym zauważyć, że otrzymujesz wiadomość

{ErrorPrintf(): LoadString failed, Error 15105, (0x00003B01)}
Error [15105]:The resource loader cache doesn't have loaded MUI entry.

oznacza, że ​​coś zostało uszkodzone w twoim systemie. MUI to wielojęzyczny interfejs użytkownika. Czy na danym komputerze z systemem Windows 7 jest ustawiony język inny niż „angielski (Stany Zjednoczone)”? Wygląda na to, że tscon próbuje znaleźć i wyświetlić komunikat o błędzie w skonfigurowanym języku, ale nie może znaleźć pliku językowego, którego powinien użyć. Może to być objaw większego problemu. Używasz tscon.exe, który został zainstalowany na tym komputerze, a nie takiego, który skopiowałeś z innego komputera, prawda?

Możesz być w stanie rozwiązać ten problem, uruchamiając sfc /scannowpo zrobieniu migawki i sprawdzeniu, czy tscon daje ten sam błąd.

Jeśli chodzi o główny problem, liczba, którą podajesz tscon, wskazuje, na który identyfikator sesji ma działać. Czy sprawdziłeś, czy używasz sesji 0 czy 1? Uruchom, query useraby zobaczyć identyfikator sesji, a następnie użyj tego numeru.

Na przykład otrzymuję dane wyjściowe z query userjednego z moich serwerów:

 USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
>starfish              rdp-tcp#4           2  Active          .  9/20/2012 10:12 PM

Ponieważ mój identyfikator sesji to 2, biegnę, tscon 2 /dest:consoleaby wysłać tę sesję do konsoli. Kiedy idę do konsoli i uruchamiam query user, widzę:

 USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
>starfish              console             2  Active          .  9/20/2012 10:12 PM

Przetestowałem to również na pulpicie Windows 7 Pro z tymi samymi wynikami.

Jeśli wykonanie powyższych poleceń zakończy się powodzeniem, możesz umieścić poniższe polecenie w pliku wsadowym i uruchomić go, aby wysłać bieżącą sesję do konsoli.

for /f "skip=1 tokens=3 usebackq" %%s in (
  `query user %username%`
) do (
  %windir%\System32\tscon.exe %%s /dest:console
)

Powinno to również wyeliminować potrzebę ponownego uruchomienia komputera, co, jak podejrzewam, miało zapewnić, że zawsze masz identyfikator sesji 0.

Rozgwiazda
źródło
Bardzo interesujące. Muszę się przygotować i zbadać więcej w poniedziałek. W tej chwili mogę przeprowadzić test po ponownym uruchomieniu, jeśli nie wykonam „zdalnego połączenia” z Windows7 przed rozpoczęciem testów. Jeśli to zrobię, nie będę pracować.
Radek,
Nie mogłem uruchomić „tscon”, ale znalazłem go w katalogu winsxs. Był też plik mui. Skopiowałem oba do mojego katalogu i stamtąd uruchamiam tscon ....
Radek
1
OK, więc dowiedziałem się, że jeśli uruchomię tscon 1 /dest:consolez wiersza poleceń jako administrator, działa. Teraz muszę dowiedzieć się, jak uruchomić ten plik exe zawsze jako administrator.
Radek
Nie zapomnij uruchomić polecenia wsadowego ( for /f ...) jako administrator. Zobacz także support.smartbear.com/viewarticle/72794
biskup
Dla tych, którzy nadal mają problemy po wyłączeniu wygaszacza ekranu, kilka wskazówek tutaj superuser.com/questions/51416/…
binithb
1

Ta strona mówi, że problem dotyczy zablokowania systemu podczas próby uruchomienia go przez zaplanowane zadania: http://www-01.ibm.com/support/docview.wss?uid=swg21304791

Skonfiguruj system, aby automatycznie się logował, wyłączał wygaszacz ekranu i automatyczne blokowanie i sprawdzał, czy to pomoże. Nie łącz się z maszyną za pośrednictwem zdalnego pulpitu - spowoduje to zablokowanie sesji konsoli. Zainstaluj vnc, aby się zalogować, lub użyj dowolnej metody dostarczonej przez oprogramowanie maszyny wirtualnej. W rzeczywistości wyłącz zdalny pulpit, aby nie można było przypadkowo zablokować systemu.

Aby skonfigurować automatyczne logowanie, uruchom polecenie „control userpasswords2”

Zgodnie z tym: http://support.microsoft.com/kb/302801 Tscon pozostawiłby sesję odblokowaną na serwerze 2003 (i przypuszczalnie) xp. Był to błąd, który prawdopodobnie został poprawiony w nowszych wersjach systemu Windows.

Dotacja
źródło
Już skonfigurowałem automatyczne logowanie i wyłączony wygaszacz ekranu. Jak wyłączyć automatyczne blokowanie?
Radek,
Czytam stronę MS i naprawdę nie rozumiem, jak to działa lub powinno działać. Kiedy zadziała RFT? Czy konsola jest zablokowana czy nie? To, co robiłem z XP, to to, że planowałem zrestartować okno XP, a następnie system automatycznie zalogował użytkownika rft, a użytkownik uruchomił, tscon.exe 0 /dest:consolea następnie rozpoczął testy. Ten przepływ nie działa w systemie Windows7.
Radek,
Myślę, że jeśli po prostu przełączysz się na łączenie przez vnc zamiast zdalnego pulpitu, to zadziała. Korzystanie ze zdalnego pulpitu spowoduje zablokowanie ekranu, co zepsuje rft`
Grant
Wyłączenie blokowania powinno być wykonane dla Ciebie, jeśli wyłączysz wygaszacz ekranu, upewnij się również, że wyłączanie monitorów i wyłączanie monitorów jest wyłączone w zarządzaniu energią.
Grant
Jak korzystanie z VNC może rozwiązać ten problem? Czy uruchamiam RFT zaraz po restarcie i wcześniej nie było połączenia ze zdalnym pulpitem?
Radek,