remoteapp interview questions
Top remoteapp frequently asked interview questions
I have a single Server 2012 R2 RD Server running RD Gateway, Connection Broker and Session Host roles. I users sharing a common Windows user account for a RemoteApp (the actual remote app being launched has its own authentication/login mechanism, so this is highly practical and appropriate...it also allows for secure password caching via Credentials Manager since ).
The collection is configured as such
There are no RD GPO settings applied.
Clients are configured to connect to the RemoteApp using the following rdp file
redirectclipboard:i:1
redirectprinters:i:1
redirectcomports:i:1
redirectsmartcards:i:1
devicestoredirect:s:*
drivestoredirect:s:*
redirectdrives:i:1
session bpp:i:32
prompt for credentials on client:i:0
span monitors:i:1
use multimon:i:1
remoteapplicationmode:i:1
server port:i:3389
allow font smoothing:i:1
promptcredentialonce:i:1
videoplaybackmode:i:1
audiocapturemode:i:1
gatewayusagemethod:i:1
gatewayprofileusagemethod:i:1
gatewaycredentialssource:i:4
full address:s:localhost
alternate shell:s:||OfficeMate
remoteapplicationprogram:s:||OfficeMate
gatewayhostname:s:rdgateway.mydomain.com
remoteapplicationname:s:OfficeMate
workspace id:s:localhost
use redirection server name:i:1
usbdevicestoredirect:s:*
UserName:s:corp\remoteapp-user
Randomly (seemingly more likely as more users are connected concurrently), one user will seize another client's session (even if the other client's session IS active). I'm guessing this has to do with a combination of RPC over HTTP being used by RD Gateway and little drops in the client connections, but I'm really not sure. Is there any way to avoid or debug this? Or an alternative approach that would avoid having dedicated per user accounts (which would require double username/password entry)?
Source: (StackOverflow)
I successfully managed to implement file drag-and-drop onto my Winforms application.
However, when running it as a RemoteApp, drag-and-drop is disabled.
Is there a way around, using a "copy" of the dragged file in the clipboard (as copy-paste works) onto the host machine, say in the DragOver
event?
If so, what are the related security issues, if any?
Source: (StackOverflow)
Background
I'm using SendKeys()
to send keyboard commands to the active window, but I'm not having any luck finding the child window when the application is running through RemoteApp. It all works as expected when I run the application locally.
Microsoft RemoteApp allows users to connect to applications through the RDP protocol, but instead of showing the entire remote Virtual machine, it just shows the application window. To the end user, there is no difference between an application running under RemoteApp and it running on their desktop.
I've been using ManagedSpy to determine the class name of the .NET application window so that I can use the Win32 API function FindWindowEx
to make one of the child windows active, and it works well. However, I'm having a problem when the application is running over RemoteApp.
I can still use the .NET Process.GetProcessesByName()
to find the application, I just have to have it invoke mstsc.exe
:
IntPtr hwndChild = IntPtr.Zero;
Process[] processess = Process.GetProcessesByName("mstsc");
IntPtr appHandle = IntPtr.Zero;
foreach (Process p in processess)
{
if ((p.MainWindowHandle != IntPtr.Zero))
{
appHandle = p.MainWindowHandle;
}
}
if (appHandle == IntPtr.Zero)
{
MessageBox.Show("Application is not Running.");
return;
}
However, I can't use FindWindowEx
in the same way. This question revolves around that.
For the unmanaged code to tell me what windows mstsc.exe
has active, I used Spy++, but for mstsc.exe
it comes back with a different class name, called RAIL_WINDOW
:
Here is the code I'm using to find the Child Window:
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);
[DllImport("user32.dll", SetLastError = true)]
private static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string className, string windowTitle);
hwndChild = FindWindowEx(appHandle, IntPtr.Zero, "RAIL_WINDOW", "MyApplication (Remote)");
SetForegroundWindow(hwndChild);
Questions
I can use Spy++ to highlight the active child window in the RemoteApp version of the application, and I get RAIL_WINDOW
, but I cannot seem to access this window programmatically. Given the code above, what am I missing to be able to do so?
Are there other ways of sending keyboard strokes to an application running over Remote App?
Source: (StackOverflow)
I want crate application in which i want to have azure remote app .
let us consider the below scenario:
I have implemented the Designer application (report designer) in WPF. now i creating the website,user of this website need to design the report using the report designer application and host in my website. I planed to host my application in azure remote app using this remote app inside my remote application
Is this possible to do that ? if not how can i achieve that my client need both report designer interface and my web application?
Source: (StackOverflow)
I've created a RemoteApp image in Azure, and run sysprep (which shutdown my VM as it is supposed to). However, how do I get to the image now? I assume it is somewhere on Azure, but where?
Source: (StackOverflow)
Hoping someone can shed some light on my RemoteApp/Azure dilemma
I have successfully setup RDS on Server 2012 VMs in Azure - session host, rdweb and connection broker, opted not to have a gateway as only running one session host.
Created an self-signed certificate in RDS tools in Server Manager and bound this to rdweb, named the cert remote.cloudapp.net. I also uploaded this to the cloud service for the VMs using Azure powershell.
So via an Azure VM on the domain in Azure i can connect to remoteapp and successfully run an application.
However when i connect externally via a browser on my standalone laptop i get the following error in the RDS Log:
Remote Desktop Connection Broker Client failed to redirect the user
REMOTE\appuser. Error: NULL
I have tried the fix of look for an Pool ID of NULL in the Windows Internal Database and I only have one pool ID which is the collection i created, so cant be that.
Also get this error returned when i try to run a remoteapp after successfully logging into the RDweb page:
Remote Desktop Services cannot connect to the remote computer for one
of these reasons: Remote Access is not enabled to the server Remote
computer turned off Remote computer not available on the network
I am totally stumped, is there something i am missing that is so simple.
Help would be much appreciated.
Source: (StackOverflow)
We're using a VM from Azure to serve customers via remote app.
The problem we're experiencing is that when a user minimizes or changes to another window other than the window they have from the remote app hosted in the Azure VM, when they go back to it a few seconds afterwards, it says "reconnecting" for some 10 secs, and other times it disconnects and gives the "trying to reconnect" error.
This must be a parameter somewhere that does this on purpose.
On the server side, when this happens, we see sessions be in "idle" state, after the customer waits, the idle state on the server side goes to active and the remote app starts working again.
Source: (StackOverflow)
First, I guess I'd have to figure out if I'm running remotely and second I'd have to figure out whether my remote connection is a standalone remote app or an app running on a terminal server (that may be tricky).
But, once I've figured out all those awful things, is there a way to run a windows function like ShellExecute locally instead of remotely?
The reason I'd want to do this is because I launch a web browser to view rather high bandwidth things that require javascript and flash and certain sysadmins who administer our product aren't too keen on having to make unnecessary and insecure modifications to their terminal server farm.
Source: (StackOverflow)
We are working on a remote desktop server 2008 R2 Sp1 that has all the updates.
Yesterday i wanted to install an office 2013 MAK professional plus next to the allready installed office 2010 standard. For that i had chosen for a custom install and clicked the radio button that told me to leave the previous version (office 2010).
After the installation of the office 2013 the office 2010 became corrupted by a not know reason so what i have done is remove everything of office and just installed the office 2013 (all in install modus -> change user /install).
We had some GPO enabled that had influence on the office 2010 installation and i just turned these of. On the same time i have made some changes in my default GPO to make a shortcut on every remote desktop of all office programs.
Last thing i have done yesterdag was expand the hard drive volume from 100Gb to 250Gb and rebooted that server a last time.
This morning all of the sudden it is not possible anymore to start a remote app (not only the office remote apps but also the ones made before). When we start the remote app the starting screen is just disappearing after a while. When i click on the detail button i see it is loading the GPO's and then gives "preparing desktop" but right after that it is "logging off".
The strangest part about this is that the user can log on with his name on the remote server -> remote desktop without any problems.
How can this be possible? There are toppics i have found over the internet but none of them are answered..
When i take a look at the event viewer i see some errors appearing when someone click on the remote app but i dont know if it has anything to do with that..
A timeout (30000 milliseconds) was reached while waiting for a transaction response from the UmRdpService service.
User Logon Notification for Customer Experience Improvement Program
User Logoff Notification for Customer Experience Improvement Program
Hope to find some help here!
Source: (StackOverflow)
After last update I can't find any way to manage remote project via ftp or sftp.
Aptana has lost this feature or I can not find it?
Does anyone know other ide with the same functionalities?
I tried netbeans but it downloads the entire project locally. I prefer the aptana way to provide just the list of all files without download them. Does Exist a way to make work netbeans as aptana for remote projects?
Source: (StackOverflow)
We need to use our ERP as SAAS (Software As A Service). We tried the Azure trial for three months, and technically was a succes. But, when we use RemoteApp services, the system asked for licenses (after 90 days), but We don't know if it is possible to paying monthly or how to obtain the licenses.
We have the great business opportunity, but I tried to contact microsfot support in Guatemala (Central America), and they always offered responses in 48 hrs. but after a month I haven't received any response. My no. ticket is 130109017590.
Can anyone help me with my explain how licensing works in Azure?
Source: (StackOverflow)
Keep coming back to this and cannot figure it out... I am creating an app for work that essentially compiles all of our tools into one easier to use GUI. One of the tools we use is something we use from a 3rd party and is hosted as a Remote App via RDWeb. Now I also have just regular remote desktop access as well and I can access the desktop via my Winform using MSTSC and this process which works beautifully. I am curious if it is possible to just load the RemoteAPP and not the entire desktop in the MSTSC control so that my users aren't getting to the full desktop. Or if there is any other way to host a RemoteAPP Only within Winforms.
I have reviewed the MSDN documentation on ITSRemoteProgram but when I try the following it just throws an exception.The debugger stops at rdp.RemoteProgram.RemoteProgramMode = true;
and gives an HRESULT E_FAIL exception.
I have also tried using the remoteprogram
after the OnConnected event fires and I get the same results.
try
{
rdp.Server = "FFWIN2008R2DC.fflab123.net";
rdp.Domain = "fflab123";
rdp.UserName = "administrator";
IMsTscNonScriptable secured = (IMsTscNonScriptable)rdp.GetOcx();
secured.ClearTextPassword = "password123";
rdp.OnConnected += rdp_OnConnected;
rdp.RemoteProgram.RemoteProgramMode = true;
rdp.RemoteProgram2.RemoteApplicationName = "Calculator";
rdp.RemoteProgram2.RemoteApplicationProgram = @"C:\Windows\system32\calc.exe";
rdp.Connect();
}
catch (Exception Ex)
{
MessageBox.Show("Error Connecting", "Error connecting to remote desktop " + " Error: " + Ex.Message, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Perhaps I am going at this the wrong way or perhaps its not even possible. I would just like a nudge in the correct direction I dont need anyone to write this for me.
Source: (StackOverflow)
I've attempted just about everything to get our ClickOnce VB.NET app to run under Terminal Services as a RemoteApp. I have a batch file that runs the .application file for the app.
This works fine via RDP desktop session on the terminal server. As a TS RemoteApp, however, well... not so much.
I get a quick flash of command prompt (the batch file) on the client system and then... nothing...
Same goes for having it point to the .application file directly (without using a batch file) or even copying the publication locally and having it point to that.
I found a technet.microsoft.com discussion about a similar issue, but there's no resolution to it listed.
For anyone who has run into this before and got it working, what did you have to do?
We currently use RemoteApp's for everything else on that server, so I'm hoping to stick with that if possible.
The current workaround is to build and run an MSI-based installer for the app on our terminal server whenever we publish via OneClick out to the network, but this can be quite a pain at times and is easy to forget to do.
Since the app works fine via Terminal Services when run in full desktop mode but not during RemoteApp, I don't think it's anything specific to Terminal Server permissions so much as ClickOnce requiring something that isn't available when running as a RemoteApp.
Source: (StackOverflow)
We have a Windows2008R2 RemoteAPP .NET 4.5 application NGEN-ed on the RDS server, with approx. 300 concurrent users for the 3-host NLB cluster.
The application is under active development and the RemoteAPP deployed assemblies need to be updated (i.e. replaced with new ones) quite often.
How we currently do this is as follows:
- Rename files to be changed on the RemoteAPP server, with users connected to it (OS will not allow files to be overwritten if they are loaded),
- Write new files instead of old ones,
- NGEN install new assemblies (without first uninstalling old ones!),
- Notify users (via app itself) that the app version has changed and it needs to be restarted,
- Gradually allow users to restart the app at their pace (simmultaneous app restart would result in increased disk and CPU load, hurting the server performance).
And so for all hosts in the cluster.
After this, the server would occasionally Blue-Screen-Crash with the Microsoft-Windows-Kernel-Power EventID 41 critical error - and I highly blame our update practice to be responsible for it.
Hence the question: what is the recommended way of updating a RemoteAPP application and NGEN-ing new assemblies without having to terminate processes accessing old assemblies (i.e. allow users to continue and restart when they feel like).
Thank you.
Source: (StackOverflow)
Does RemoteApp allow you to install any version of Internet Explorer? I have a need to support 40 users and I need to give them access to IE9 and a specific version of Java Run Time.
Thanks
Source: (StackOverflow)