Post courtesy of Yashkumar Tolia
One of the first things that an IT administrator (and even an end user) dreams for is “Integration”. For an administrator, integration of multiple technologies in your environment, consolidation of various products, management of everything from one single place, provision of data in a secured manner; are a few reasons. While for an end user, single point of access, anytime consumption of data and Single Sign-On pops up to one’s mind.
One of the prime technologies used by IT administrators for virtualization is Remote Desktop Services, previously known as Terminal Services. The TechNet article, Remote Desktop Services Overview, gives a great beginning to understanding this technology. As the link mentions, the major advantages of adopting this technology are:
SharePoint Server 2010
SharePoint Server 2010 is not just viewed as a content sharing and accessing product any more, but as a Business Collaboration Platform for the Enterprise and the Internet. With features like content management, workflows, search, SharePoint Server 2010 helps you to connect with colleagues and information; manage and govern enterprise content; balance user experience with policy and process; and help users find the content, information, and people. A great guide for understanding SharePoint Server 2010 is found in TechNet, SharePoint Server 2010.
Integration of Remote Desktop Services with SharePoint Server 2010
Integration of these 2 technologies opens up great avenues for consolidation. The Remote Desktop Web Access server role can be taken over by the already present SharePoint Server 2010 in the environment. This provides the possibility such as:
Steps to integrate Remote Desktop Services with SharePoint Server 2010
The integration of SharePoint Server 2010 (from now on, we will call it SPS) with Remote Desktop Services (from now on, we will call it RDS), is divided into 5 steps:
1. Installation of RDS Session host server
Perform these steps on the RDS Session Host server:
a. Go to Server Manager -> Roles -> Add Roles. This will take you to the Add Roles Wizard. Click Next.
Figure 1: Add Roles Wizard
b. Select Remote Desktop Services. Click Next.
Figure 2: Role Selection
c. Click Next.
Figure 3: Introduction to Remote Desktop Services
d. Select Remote Desktop Services Session Host role. Click Next.
Figure 4: Role Service Selection
e. Click Next.
Figure 5: Uninstall and Reinstall Application for compatibility warning
f. Select Require Network Level Authentication. Click Next.
Figure 6: Network Level Authentication Selection
g. Select the appropriate licensing scheme. Click Next.
Figure 7: Licensing Mode Selection
h. Select the appropriate users you want to give access to the RDSH server. Click Next.
Figure 8: User Group Definition
i. Select any of the features that you want to include in the Desktop Experience. Click Next.
Figure 9: Enabling Desktop Experience
j. Click Install. Reboot the server.
Figure 10: Installation summary
2. Installation of SPS 2010
Perform these steps on the SPS server:
a. Install SPS 2010.
Figure 1: SharePoint Installation
b. Check mark Run the SharePoint Products Configuration Wizard now. Click Close.
Figure 2: SharePoint Installation completion and Run Configuration Wizard
Figure 3: Configuration Wizard
d. Click Yes to restart the services.
Figure 4: Restarting of Services
e. Go to the SPS website by typing the following URL: http://<servername>/, to check if the SharePoint site is working fine or not.
Figure 5: SharePoint Website Home Page
Figure 2: Selection of Role Services
d. Click on Add required role services.
Figure 4: Add required Role Services
e. Click on Next.
Figure 5: Introduction to IIS
f. Click Next.
Figure 6: Add role services
g. Click Finish to finish installation.
4. Configuration of the Terminal Services Web Part
Perform these steps on SPS server:
a. Go to %SystemDrive%:\inetpub\wwwroot\VirtualDirectories\80. Right click Web.config and edit it in wordpad.
Figure 1: Editing web.config file
b. In the <SafeControls> section, add the following line under the other SafeControl Assembly entries (as a single line):
<SafeControl Assembly="TSPortalWebPart, Version=126.96.36.199, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="Microsoft.TerminalServices.Publishing.Portal" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
Figure 2: Adding SafeControl Assembly
c. Open an elevated command prompt. To do this, click Start, right-click Command Prompt, and then click Run as administrator:
· Type mkdir "%SystemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\188.8.131.52__31bf3856ad364e35\images" and then press ENTER.
· Type mkdir "%SystemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\184.108.40.206__31bf3856ad364e35\rdp" and then press ENTER.
· Type cacls "%SystemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\220.127.116.11__31bf3856ad364e35\images” /T /E /P NetworkService:F and then press ENTER.
· Type cacls "%SystemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\18.104.22.168__31bf3856ad364e35\rdp” /T /E /P NetworkService:F and then press ENTER.
Figure 3: Adding files to the Web Parts
d. Go to the SharePoint website as an administrator. In the upper-right corner, on the Site Actions tab, click Site Settings.
Figure 4: Editing the Site Settings
e. Under Galleries, click Web Parts.
Figure 5: Adding Web Part to the Gallery
f. Under the Web Part Gallery heading, click New.
Figure 6: Adding the TSPortalWebPart to the list
g. Select the check box next to Microsoft.TerminalServices.Publishing.Portal.TSPortalWebPart, and then click Populate Gallery.
Figure 7: Adding the new Web Part
5. Publishing of RemoteApps
a. On the Site Actions tab, click Edit Page.
Figure 1: Edit Web Page
b. Choose the location on the website where you want to add the Web Part, and then click Add a Web Part.
Figure 2: Adding the Web Part to the site
c. In the Add Web Parts -- Webpage Dialog dialog box, under the All Web Parts heading, select the TSPortalWebPart check box, and then click Add. The TSPortalWebPart Web Part will appear on the page.
Figure 3: Select the TSPortal Web Part
d. To configure the Web Part, click edit in the upper-right corner of the Web Part, and then click Modify Shared Web Part.
Figure 4: Editing the Web Part
e. In the RD Session Host server(s) or RemoteApp and Desktop Connection Management server name box, type <RDSservername> and then click OK.
Figure 5: Adding the RDS Session Host Server
f. Click Save icon in the top left corner of the website.
Figure 6: Saving the Web Part to the site
g. Test the application by running a RemoteApp.
Figure 7: Selecting the RemoteApp
Figure 8: Connecting to the RemoteApp
Figure 9: Providing credentials
Figure 10: Using the RemoteApp
In this way, you can leverage your already existing environment and integrate it for a single website for the users to log into and get their RemoteApps. This combined with the search and content sharing capabilities gives the user a seamless experience.
To learn more, check out the following articles:
Customizing Remote Desktop Web Access by Using Windows SharePoint Services Step-by-Step Guide
Very good article, realy good! contratzz !
Top article, thanks for providing !!
This is fabulous but can you help me out trying to get the assemblies available on some of my own custom applications that I have in my SP install.
I have this working for the default site but what other config files do I need to edit to ensure I can add the TSWebPart to my sites.
Thanks in advance
Hi Yashkumar Tolia, thank for the post.. do you know how make the "Connecting to the RemoteApp" part automatically pickup the current users AD log in details ? so instead of putting domain\user name and password again. It'll be single sign on ? Nandy
Does anyone have any idea if this works for SharePoint 2013. I have followed this to the letter in a 2013 environment and I keep getting this error when adding the web part to a site... The "TSPortalWebPart" Web Part appears to be causing a problem. Could
not find a part of the path 'C:\inetpub\wwwroot\wss\VirtualDirectories\LS03\rtt\_wpresources\TSPortalWebPart\22.214.171.124__31bf3856ad364e35\images\rapwait.gif'.
Type cacls "%SystemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\126.96.36.199__31bf3856ad364e35\images” /T /E /P NetworkService:F and then press ENTER.· Type cacls "%SystemDrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\188.8.131.52__31bf3856ad364e35\rdp” /T /E /P NetworkService:F and then press ENTER.these two commands give "The system could find the path specified" and I am not seeing "TSPortalWebPart" in web part gallery... I am using SharePoint 2013Please Help!
I'm getting the same thing, "The system cannot find the specified Path" running SP 2010 enterprise.I have verified the path does exist, any assistance would be appreciated.C:\>cacls "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\wpresources\TSPortalWebPart\184.108.40.206__31bf3856ad364e35\images" /T /E /P NetworkService:FThe system cannot find the path specified.
@Tyler: can you elaborate as to how you got that far? I'm trying RDS2012R2 on SP2013, and don't get any errors on startup but the webpart is missing when I want to add it to the gallery
After gone through your article it is easy to understand because you posted screenshots with explanation.