Zdalne logowanie na drugiego użytkownika


(Pablik) #1

Witam, nie wiem czy istnieje taka aplikacja, ale potrzebna mi jest do następującej rzeczy :

Posiadam Win7, w systemie jest możliwość zalogowania na raz 2 użytkowników i przelogowanie pomiędzy nimi. Lecz tylko pulpit jednego użytkownika mogę mieć dostępny na raz .

Potrzebuje takiej aplikacji abym mógł kontrolować w okienku (coś w stylu pulpitu zdalnego) jednego zalogowanego użytkownika będąc zalogowanym na drugim (tzn. Posiadam w systemie 2 użytkowników np. user1 i user2, loguje się na user1 a następnie przeloguje się na user2. Aktualnie jestem zalogowany na user2 i aby zrobić coś na user1 murze się przelogować na niego ponownie. Pomocna by mi byłą aplikacja która umożliwia zdalne logowanie się na user1).

Próbowałem tak zrobić z systemowym "Podłączenie pulpitu zdalnego" kierując połączenie na lokalhost'a (127.0.0.1) lecz wyskakuje mi komunikat "komputer nie może nawiązać połączenia z inną sesją konsoli na komputerze zdalnym, ponieważ jedna sesja konsoli już trwa" .

Więc czy istnieje jakaś aplikacja która mi to umożliwi, lub jakaś konfiguracja pulpitu zdalnego ???


(Łukash) #2

http://www.miniframe.com/solutions/mult ... tions.html

http://friendlyseats.com/en/download

Tylko nie wiem czy zdalnie da radę ,oraz czy wersja posiadanego systemu nie nakłada ograniczeń (programowych i licencyjnych)


(_nikt79_) #3

Nie trzeba do tego żadnej aplikacji , wystarczy spatchowana wersja termsrv.dll.

Pobrać możesz ją tutaj -> http://www.missingremote.com/guide/how-enable-concurrent-sessions-windows-7-service-pack-1-rtm

Wersja pliku przeznaczona jest dla win 7 sp1 , jeżeli nie zadziała , spróbuj poszukać w google hasła "sala terminal server patch".

Korzystałem swojego czasu z tego rozwiązania na XP.

Oczywiście funkcjonalność polegająca na używaniu więcej niż jednej sesji nie jest udostępniana przez Microsoft dla systemów przeznaczonych na stację roboczą - czyli XP / Vista / Win7 - tylko dla systemów w wersji serwer.


(Pablik) #4

Friendly Seats - nie działa na systemach x64 (a ja posiadam Win7 x64)

SoftXpand - link do wersji trial mi nie dochodzi ;(

Enable Concurrent Sessions in Windows 7 - działa ale nie tak jak chciałem. Jeśli posiadamy 2 komputery np. nr1 i nr2, na komputerze nr2 są użytkownicy user1 i user2, to z komputera nr1 można naraz odpalić 2 pulpity zdalne na user1 i user2, dzięki "Enable Concurrent Sessions in Windows 7".

Chodziło mi o logowanie zdalne tylko na jednym komputerze, podczas gdy jestem normalnie zalogowany na user1 to dodatkowo logować się zdalnie na user2 . Mimo że spatchowałem termsrv.dll dalej wyskakuje komunikat "komputer nie może nawiązać połączenia z inną sesją konsoli na komputerze zdalnym, ponieważ jedna sesja konsoli już trwa" .

Więc jakieś inne aplikacje lub konfiguracje ??

Testowałem już te: TeamViewer, VVNC.


(Łukash) #5

Pablik , spróbuj ten link http://www.miniframe.com/try-buy/downlo ... 64bit.html (ewentualnie wejdź z proxy)

Ogólnie szukaj: multiseat windows x64

http://www.thinsoftinc.com/index.aspx


(_nikt79_) #6

Dokładnie tak to działa , przed chwilą sprawdziłem na WIN7 HP SP1.

Jeden komputer , jeden system , dwie sesje :

  • pierwsza konsolowa user Lex

  • druga przez RDP user Xel

RDP uruchomione z poziomu użytkownika Lex


(Pablik) #7

Instalowałeś tylko tą paczkę "W7-SP1-RTM-RDP-v4.zip" z http://www.missingremote.com/guide/how- ... pack-1-rtm ??

Podczas próby zalogowania na lokalhost'a mi dale wyskakuje ten komunikat "komputer nie może nawiązać połączenia z inną sesją konsoli na komputerze zdalnym, ponieważ jedna sesja konsoli już trwa", może dlatego ze mam Windoes 7 Ultimate SP1 x64 ???

Czy wyskakiwanie tego komunikatu "komputer nie może nawiązać połączenia z inną sesją konsoli na komputerze zdalnym, ponieważ jedna sesja konsoli już trwa" może świadczyć o błędnym zainstalowaniu tej paczki ??.


(_nikt79_) #8

Albo jakiś błąd w instalacji (w komentarzach część użytkowników twierdziła , że czynności wykonywane przez skrypt musieli robić ręcznie) , albo kwestia 64 bitowej wersji ( testowałem na 32 bitowej - niemniej do dyspozycji były 2 wersje pliku dla 32 i 64 bitowego systemu)

Komunikat , który podajesz wskazuje na to , że próbujesz po raz drugi zalogować się jako ten sam użytkownik , który zalogował się z poziomu konsoli , ponownie przez pulpit zdalny.


(Pablik) #9

to są logi z instalacji, coś chyba jednak nie gra

Source Folder is C:\Users\Pablik\Desktop\W7-SP1-RTM-RDP-v4\W7-SP1-RTM-RDP\, Windows is 64-bit


Taking ownership of C:\Windows\System32\termsrv.dll


POWODZENIE: Plik (lub folder): "C:\Windows\System32\termsrv.dll" należy teraz do grupy administratorów.

Granting Administrators rights 

przetworzono plik: C:\Windows\System32\termsrv.dll

Liczba plików przetworzonych pomyślnie: 1; liczba plików, których przetwarzanie nie powiodło się: 0.

Administrators: Nie zostało wykonane mapowanie między nazwami kont a identyfikat orami zabezpieczeń.

Liczba plików przetworzonych pomyślnie: 0; liczba plików, których przetwarzanie nie powiodło się: 1.

Stopping Remote Desktop Services

Następujące usługi są zależne od usługi Usługi pulpitu zdalnego.

Zatrzymanie usługi Usługi pulpitu zdalnego spowoduje także zatrzymanie tych usług.


   Przekierowanie portu trybu użytkownika usług pulpitu zdalnego


Usługa Przekierowanie portu trybu użytkownika usług pulpitu zdalnego jest właśnie zatrzymywana..

Usługa Przekierowanie portu trybu użytkownika usług pulpitu zdalnego została zatrzymana pomyślnie.


Usługa Usługi pulpitu zdalnego jest właśnie zatrzymywana.

Usługa Usługi pulpitu zdalnego została zatrzymana pomyślnie.


######################################

# Patched Already ,Config Editing... #

######################################

Enabling RDP

Operacja ukończona pomyślnie.

Setting fSingleSessionPerUser to 1

Operacja ukończona pomyślnie.

Setting LimitBlankPasswordUser to 1

Operacja ukończona pomyślnie.

Configuring Remote Desktop in Windows Firewall


Brak reguł spełniających kryteria.


Starting Remote Desktop Services

Usługa Usługi pulpitu zdalnego jest właśnie uruchamiana.

Pomyślnie uruchomiono usługę Usługi pulpitu zdalnego.


Pausing 5 seconds to give service time to start listening

Checking if Service is listening on port 3389

  TCP 0.0.0.0:3389 Nr1:0 NASŁUCHIWANIE

  TCP [::]:3389 Nr1:0 NASŁUCHIWANIE

Service is listening

Done

Aby kontynuować, naciśnij dowolny klawisz . . .

kod instalacji

@ECHO OFF


SETLOCAL ENABLEDELAYEDEXPANSION


SET WINVER=Windows 7 Build 7601

SET SET_PRODUCTNAME="Windows 7"

SET SET_CURRENTBUILD="7601"

SET SET_CSDBUILDNUMBER="1130"

SET SET_VERSION=%SET_CURRENTBUILD%.%SET_CSDBUILDNUMBER%


TITLE Concurrent Remote Desktop Sessions %WINVER%


:SHOWHELP

	IF /I *%1 == *-? GOTO PRINTHELP

	IF /I *%1 == *help GOTO PRINTHELP

	GOTO PERMISSIONCHK


:PRINTHELP

	ECHO This script enables concurrent remote desktop sessions

	ECHO for %WINVER%

	ECHO.

	ECHO This script must be run as an Administrator.

	ECHO To open an elevated command prompt with Administrator privileges

	ECHO press WinKey, typ cmd, and hit Ctrl+Shift+Enter.

	ECHO.

	ECHO.

	ECHO Available commandline switches:

	ECHO.

	ECHO -? Show this help.

	ECHO help Same as -?.

	ECHO multi Enable multiple sessions per user.

	ECHO blank Enable remote logon for user accounts that are not password protected.

	ECHO.

	GOTO END


:PERMISSIONCHK

	REM Note: Mikinho, Updated admin right checks to a more appropiate method


	SET HasAdminRights=0

	FOR /F %%i IN ('WHOAMI /PRIV /NH') DO (

		IF "%%i"=="SeTakeOwnershipPrivilege" SET HasAdminRights=1

	)


	IF NOT %HasAdminRights%==1 (

		ECHO.

		ECHO This script must be run as an Administrator.

		ECHO.

		ECHO Use switch -? to show help.

		ECHO.

		GOTO END

	)


:VERSIONCHECK

	REM Note: Mikinho, Improved checks...


	FOR /F "tokens=3*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| FIND "ProductName"') DO SET PRODUCTNAME=%%A %%B

	REM IF /I NOT "%PRODUCTNAME%" == %SET_PRODUCTNAME% GOTO UNSUPPORTED


	FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "EditionID"') DO SET EDITIONID=%%A

	IF /I NOT "%EDITIONID:~0,8%" == "Ultimate" IF /I NOT "%EDITIONID:~0,10%" == "Enterprise" IF /I NOT "%EDITIONID:~0,12%" == "Professional" IF /I NOT "%EDITIONID:~0,11%" == "HomePremium" GOTO UNSUPPORTED


	FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CurrentBuild"') DO SET CURRENTBUILD=%%A

	IF /I NOT "%CURRENTBUILD%" == %SET_CURRENTBUILD% GOTO UNSUPPORTED


	FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CSDBuildNumber"') DO SET CSDBUILDNUMBER=%%A

	IF /I NOT "%CSDBUILDNUMBER%" == %SET_CSDBUILDNUMBER% GOTO UNSUPPORTED


	GOTO START


:UNSUPPORTED

	ECHO.

	ECHO Your operating system is not supported.

	ECHO Only for %WINVER%

	GOTO END


:START

	CLS

	IF /I EXIST %SystemRoot%\SysWOW64 (SET ARCH=64) ELSE (SET ARCH=32)


:DETECTARGUMENTS

	SET SINGLESESSION=1

	SET BLANK=1

	IF /I *%1 == *MULTI SET SINGLESESSION=0

	IF /I *%2 == *MULTI SET SINGLESESSION=0

	IF /I *%1 == *BLANK SET BLANK=0

	IF /I *%2 == *BLANK SET BLANK=0


:SETSOURCEFOLDER

	REM This will get the folder the batch file was launched from since the current

	REM directory will change if launched from a network share

	SET SOURCEFOLDER=%~dp0

	ECHO Source Folder is %SOURCEFOLDER%, Windows is %ARCH%-bit

	ECHO.


:TAKEOWNERSHIP

	ECHO Taking ownership of %SystemRoot%\System32\termsrv.dll

	takeown /a /f %SystemRoot%\System32\termsrv.dll

	ECHO Granting Administrators rights

	ICACLS %SystemRoot%\System32\termsrv.dll /Grant "%USERNAME%":F

	ICACLS %SystemRoot%\System32\termsrv.dll /Grant Administrators:F


:STOPTERMINALSERVICES

	ECHO Stopping Remote Desktop Services

	REM Update: Mikinho, changed to TermService for globalization

	NET stop TermService /y


:BACKUPTERMSRVDLL

	IF /I EXIST %SystemRoot%\System32\termsrv.dll.%SET_VERSION%.bak GOTO PATCHED

	COPY "%SystemRoot%\System32\termsrv.dll" "%SystemRoot%\System32\*.*.%SET_VERSION%.bak"


:COPYTERMSRVDLL	

	IF /I NOT EXIST "%SOURCEFOLDER%%ARCH%_termsrv.dll" (

		ECHO.

		ECHO The %ARCH% version of termsrv.dll is not present

		ECHO.

		ECHO Use switch -? to show help.

		ECHO.

		GOTO END

	)


	ECHO Copying "%SOURCEFOLDER%%ARCH%_termsrv.dll" to "%SystemRoot%\System32\termsrv.dll"

	COPY /Y "%SOURCEFOLDER%%ARCH%_termsrv.dll" "%SystemRoot%\System32\termsrv.dll"


	GOTO IMPORTREGKEYS


:PATCHED

	ECHO ######################################

	ECHO # Patched Already ,Config Editing... #

	ECHO ######################################


:IMPORTREGKEYS

	ECHO Enabling RDP

	REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f


:HOMEPREMIUM

	IF /I "%EDITIONID%" == "HomePremium" (

		NETSH advfirewall firewall delete rule name="Remote Desktop (TCP-In)"

		NETSH advfirewall firewall add rule name="Remote Desktop (TCP-In)" program=System profile=public,private,domain dir=in localport=3389 protocol=tcp action=allow description="Inbound rule for the Remote Desktop service to allow RDP traffic. [TCP 3389]"

		COPY /Y "%SOURCEFOLDER%%ARCH%_rdpclip.exe" "%SystemRoot%\system32\rdpclip.exe"

	)


:SETSINGLESESSIONSETTING

	ECHO Setting fSingleSessionPerUser to %SINGLESESSION%

	REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d %SINGLESESSION% /f


:SETBLANKPASSWORDPOLICY

	ECHO Setting LimitBlankPasswordUser to %BLANK%

	REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d %BLANK% /f


:CONFIGUREFIREWALL

	ECHO Configuring Remote Desktop in Windows Firewall

	NETSH advfirewall firewall set rule group="remote desktop" new enable=Yes


:STARTTERMINALSERVICES

	ECHO Starting Remote Desktop Services

	REM Update: Mikinho, changed from "Remote Desktop Services" for globalization

	NET START TermService


:PAUSE5SECONDS

	ECHO Pausing 5 seconds to give service time to start listening

	CHOICE /n /c y /d y /t 5 > nul


:CHECKIFSERVICELISTENING

	ECHO Checking if Service is listening on port 3389

	SUBST

	NETSTAT -a | find /i "3389"

	IF ERRORLEVEL 1 GOTO SERVICENOTLISTENING


:SERVICEISLISTENING

	ECHO Service is listening

	ECHO Done

	GOTO END


:SERVICENOTLISTENING

	ECHO Service is not listening


:CONTINUE

	ECHO Done


:END


ENDLOCAL


PAUSE


EXIT /B

Mogę liczyć na pomoc w ręcznej instalacji, ponieważ nie wiem jak to zrobić


(Łukash) #10

Nie wiem, czy dobrze to rozumiem ,ale wydaję mi się że to coś z zaporą / regułą

A konkretnie chodzi o to :

-- Dodane sobota, 14 sty 2012, 23:19 --

http://deepxw.blogspot.com/2009/04/univ ... patch.html


(Pablik) #11

Dzięki za programik (http://deepxw.blogspot.com/2009/04/univ ... patch.html)

Okazało się że jednak mam zpatchowanego Termsrv.dll . Widocznie ten komunikat ""komputer nie może nawiązać połączenia z inną sesją konsoli na komputerze zdalnym, ponieważ jedna sesja konsoli już trwa" nie był spowodowany limitem sesji ;(. Ma ktoś może jakiś pomysł o co może chodzić ??


(Łukash) #12

Tak to ma się wykonać wg skryptu.bat :

(tak ja to widzę)

Może to ogarniesz krok po kroku i sprawdzisz klucze rejestru/reguły zapory itp.


(Pablik) #13

Oto logi:

Microsoft Windows [Wersja 6.1.7601]

Copyright (c) 2009 Microsoft Corporation. Wszelkie prawa zastrzeżone.


C:\Windows\system32>REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

Operacja ukończona pomyślnie.


C:\Windows\system32>NETSH advfirewall firewall delete rule name="Remote Desktop (TCP-In)"

Brak reguł spełniających kryteria.



C:\Windows\system32>NETSH advfirewall firewall add rule name="Remote Desktop (TCP-In)" program=System profile=public,private,domain dir=in localport=3389 protocol=tcp action=allow description="Inbound rule for the Remote Desktop service to allow RDP traffic. [TCP 3389]"

Ok.


Podmiana pliku "rdpclip"



C:\>REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 1 /f

Operacja ukończona pomyślnie.


C:\>REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d 1 /f

Operacja ukończona pomyślnie.


C:\>NETSH advfirewall firewall set rule group="remote desktop" new enable=Yes

Brak reguł spełniających kryteria.



C:\>NET START TermService

Żądana usługa została już uruchomiona.


Dostępne są dalsze informacje Pomocy; aby je uzyskać, wpisz NET HELPMSG 2182.



C:\>NETSTAT -a | find /i "3389"

  TCP 0.0.0.0:3389 Nr1:0 NASŁUCHIWANIE

  TCP [::]:3389 Nr1:0 NASŁUCHIWANIE

Dalej ten sam error ;( , jak pasłem wyżej to chyba wina czegoś innego ;(