windows application and RDP access - windows

I discovered that the internal format settings (decimal separator, date format, etc.) I am using within my windows application are changed to the local settings of the machine which connects via RDP to my machine.
What else is being altered? What do I need to consider inside my application, if a client connects via RDP to it?
I didn't find any documenation about this behaviour.
Regards,
Bodo

Related

How is the tsclient share created (in terms of Windows API)?

Using the Windows RDP Client (mstsc.exe), I can share local resources with the host I'm connecting to.
For example if I share C:\, I can use it in the RDP session in \\tsclient\c.
What Windows API does the server side use to create the \\tsclient share?
(I'm not referring to the Virtual Channels within the RDP session, rather the Windows API calls for registering \\tsclient itself).
I'd like to create a virtual file system using the same approach, as an alternative to using a third party VFS driver such as Dokan or WinFsp.

Why is remote SmartCard not found when using RDP

I'm using Windows Server 2008 R2 which runs a VB6.0 application that uses a smartcard locally.
I then connect to this machine remotely using Remote Desktop Connection (6.3). However now the application shows the following error (SmartCard):
0x8010001d The Smart card resource manager is not running.
Research so far:
I don't want to use redirection as the card is on the remote machine already.
Using RDP the way I am trying to use it for is wrong and tightVNC is more appropriate (This does fix the issue)
Unsure - SCardEstablishContext API is returning that error because it gets an Access Denied error when trying to open an event called "Global\Microsoft Smart Card Resource Manager Started" with OpenEvent API. The default security for that event on Vista and Windows 7 specifies that only SYSTEM, LOCAL SERVICE and INTERACTIVE users have access to it. NETWORK SERVICE or non-interactive users won’t be able to access the event.
Why is the SmartCard not being recognised?
Any Information would be appreciated.
NOTE: The smartcard works fine when the application is on Windows Server 2008 R2 - however only fails when connecting remotely.
It is not possible, you can't use the locally plugged smartcard of the server you RDP into, as your session is redirected to the client then only the clients smartcard is accessible in the rdp session.
Microsoft made it like this for security reasons.
But there is a turn around, like sharing the device (smartcard reader, Usb token, Usb devices ) using software or hardware :
softawre examples (i only found paid solutions), see link
or hardware using a Device server but it doesn't work through WAN only LAN.
Use VNC instead of RDP
TLDR: Use VNC as a Windows Service
If you insist on using RPD, then you'll have to patch your RDP DLLs. If you don't want to do this, then instead use ANY OTHER PROTOCOL other than RDP. If it's a vmware VM, then just use the vcenter console. If it's an Azure VM where you don't GET a console, then just install VNC-server-softer on the server that has the Smart Cards and then access from somewhere else via VNC-client. "TightVNC" (https://community.chocolatey.org/packages/tightvnc) worked nicely for me.
There are two ways to run TightVNC server:
TightVNC Server (Service Mode) -- Connecting with VNC-client will take you to the Windows logon screen.
TightVNC Server (Application Mode)
You will need to run TightVNC as a Windows Service. Then you will start a NEW session. Otherwise you'll just be on top of the existing RDP session and still not see remote Smart Cards.
Long Version
If you RDP into a remote server, then that remote server's Smart Cards will be hidden. That behavior is baked into RDP and it is BY DESIGN.
You can optionally take your LOCAL Smart Cards along into the RDP session. (Via mstsc.exe's "Local Resources" tab and then checking "Smart cards".) But these are the Smart Cards connected LOCALLY to your laptop. And NOT the Smart Cards connected to the remote server.
So if you use RDP, then you have option to either see no Smart Cards at all (neither local, nor remote) or just see your LOCAL Smart Cards. To see the REMOTE Smart Cards is NOT possible via RDP.
This is by design inside RDP. And if you want to change it, then you have to manually patch some .DLL files. And somebody has actually done this. See this question here:
How to Access Remote USB Smartcard during RDP
Before you create your Remote Desktop session, click on "Show options". Under the "Local Resources" tab there is a "Local devices and resources" panel. Click the "More" button.
Click on "Smart Cards". No complete the remote desktop session.

Windows Azure VM Filezilla FTP Setup

I am using Windows 2012 R2 VM machine in Azure. I have read multiple article to setup Filezilla server in this environment. However, I am not successful. Any one faced this issue? Any solution will be greatly appreciated.
Just remember to add Filezilla to Windows Firewall :-)
I'm dealing with the same thing right now. locally the FTP serv works great. remote I cannot establish a passive connection. Based on my research this is because Azure is not set up for Passive-FTP. I am uncertain if we can get FileZilla to operate in a active-FTP mode. Will post back if I ever get to the bottom of it. Mine currently connects and authenticates but 'cannot retrieve directory listing' when it tries to kick over to passive (transfer) mode.
In addition to checking the Virtual Machine endpoints are open, be sure to also add the appropriate Windows Firewall rules if you have Windows Firewall enabled on your Windows VM.
Yes, We can connect to Azure server via FileZilla Client.
Steps:
Login to Azure portal: https://portal.azure.com
Click on App Services.
Select the Site and then click on Get publish profile.
Save the file and open it in notepad.exe.
The file contains 2 <publishProfile> sections. One is for Web Deploy and another for FTP.
Under the <publishProfile> section for FTP make a note of the following values:
publishUrl (hostname only)
userName --------------------------> This is the information you are looking for
userPWD
Add the PublishUrl to Hostname, Username and password in their respective fields.
Connected.
The link will give the detailed description of the steps flow with images.
Here is the link.
Thanks

How to programmatically setup a dialup connection

I have a question - is there some way to set a login and password for a certain dial up connection?
I am able to create a Dial Up connection, however I'm unable to "save" the password and login into Windows (so it would remember them).
Please note that I want to do it without the Windows GUI, ideally just using regedit/cmd or windows default tools (that can be executed from cmd).
I needed to do this for Windows CE so I used the remote registry editor to compare before and after adding a dial up connection. I found the settings in [HKEY_CURRENT_USER\Comm\RasBook\ConnectionAddedByMe], hopefully you can do the same locally.

How to get and send files from an application to another machine or Windows Explorer but not another application?

Sorry if my question is confusing but what I am looking to do is this. I am creating an application that is supposed to send and receive files directly to another machine without having to connect to any other application but the windows explorer on another machine. I know you can write a client and server much like a FTP program, but that's not what I am looking for. An application simply connects to Windows or windows explorer on another machine for sending or receiving files.
I have looked or researched for information online, but not much to look at.
Is there a way to do this? If so, how.
MORE INFO:
I want to be able to start my application on a machine and send and receive files automatically from or to another local machine without establishing any direct connection very much like what Microsoft Window does. You open your windows explorer and drag and drop files from or to another machine. Only that I want to do that programmatically within my application. I start my application and simply request or send for specific file at a specific location. The way I have it written now you have to run two different copies of the same program on different machines - one as a server and the other as a client.
Maybe what I am looking for is a way to get access to the filesystem of another local machine without socket to socket connection.
Thanks in advance.
Windows Explorer is not an application that foreign programs can "connect" to. You need to connect to something that will actually be listening for connections. The most direct way would probably be to set up a network share on the server and then use WNetAddConnection2 to connect to that share on the client.

Resources