Your problem is most likely caused by a built-in feature of winscard.dll library which represents PC/SC layer (low level subsystem providing access to the smartcard readers) in MS Windows. When winscard.dll detects there is an RDP session open, it disables access to the local readers, redirects all calls to the remote client and by doing this it effectively provides access only to the readers connected to the RDP client machine.
I am aware of three solutions that can prevent PC/SC redirection:
- Don't use RDP. This is the EASIEST, CHEAPEST and CLEANEST solution. Really!
- Ask your card vendor to replace PC/SC (winscard.dll) in middleware with something else. Good luck with that!
- STRONGLY DISCOURAGED: You can hack your winscard.dll library and disable redirection feature.
Personally I always stick with the first option - easiest, cheapest and cleanest solution.