Jason Conger Blog

All Blogs  »  Jason Conger Blog  »  Archive: March 2008

Policies and the Impact on Presentation Server Environments

There are several policy types in a Citrix Presentation Server (XenApp) environment including:

  • Presentation Server Policies
  • Active Directory Policies
  • Local Server Policies
  • Custom ADM Policies

There are strengths and weaknesses to each. Because of the growing complexity of environments many enterprise organizations will require the use of two or three different policy types in the environment. In many circumstances, Presentation Server policies are used in conjunction with Active Directory policies. Because there is no single correct policy design, there are numerous ways to achieve the same outcome - each bringing its own benefits and challenges. Regardless of the environment in place, understanding how policies work and interoperate is imperative to designing a scalable and easy to manage environments. Therefore, Citrix recently released a white paper titled “Design Consideration: How Policies Impact Presentation Server Environment“. In the white paper, Citrix explains the pros and cons of each policy type and where to use each. Keep in mind, however, that most Citrix policies are migrating to Active Directory…

Continue at source…


Technorati : , , , ,
Del.icio.us : , , , ,
Ice Rocket : , , , ,

Citrix Farm and Server Settings moving to Group Policies

Did you know that Citrix is migrating several farm, server, and session policy settings to Microsoft Active Directory Group Policies? This integration will allow you to leverage some of the cool things Group Policy does - such as Resultant Set of Policy (RSOP), drag and drop servers between OU’s for certain types of settings, policy overrides, etc. Juliano Maldaner has written a nice article explaining this. Juliano states “An overwhelming majority of PS deployments use Group Policy in some capacity. Integrating PS settings into GPO is possible with MFCOM scripts, but far from ideal. Most use GPO for Windows and Application settings, and Citrix management consoles for PS configuration. Because all settings must be synchronized, we realized that the management experience would be greatly simplified if PS Session Policies and Server settings were within Group Policy Objects themselves!”

Citrix GPO Settings

So, the natural questions might be - Does this work in a mixed-farm environment? And, if not, how do you migrate to the new GPO settings? Fortunately, Juliano answers these questions in a followup post. Basically, the answer is “no - this will not work in a mixed farm environment”. But, Citrix will provide a tool to export/import settings using XML.

Read more on how to migrate to Group Policies at the source…


Technorati : , , , ,
Del.icio.us : , , , ,
Ice Rocket : , , , ,

Using PowerShell with Citrix Policies

PowerShell has quickly become one of my favorite scripting interfaces. One of the cool things about PowerShell is its object oriented design and use. This makes it easy to blend command line scripting with Citrix objects exposed via MFCOM. Brandon Shell has posted a nice example of manipulating Citrix policies using PowerShell. Check out Brandon’s Citrix policy PowerShell functions:

Script To Get Citrix Policy

# Get-CitrixPolicy.ps1
Param($Server,$PolicyName = ".*")

# Enums in Use
$MetaFrameUnknownObject = 0
$MetaFrameWinFarmObject = 1

# Getting Farm Object
$type = [System.Type]::GetTypeFromProgID("MetaframeCOM.MetaframeFarm",$Server)
$mfarm = [system.Activator]::CreateInstance($type)
$mfarm.Initialize($MetaFrameWinFarmObject)

# Getting Policies that Match Name and Loading Data
$pol = $mfarm.policies($MetaFrameUnknownObject) | ?{$_.Name -match $PolicyName}
$pol | %{$_.LoadData($true)}
$pol

Script To Create a New Citrix Policy

# New-CitrixPolicy.ps1
Param($Server,$PolicyName,$PolicyDescription)
if(!$PolicyDescription){$PolicyDescription=$PolicyName)
$type = [System.Type]::GetTypeFromProgID("MetaframeCOM.MetaframeFarm",$Server)
$mfarm = [system.Activator]::CreateInstance($type)
$mfarm.Initialize(1)
$NewPolicy = $mfarm.CreatePolicy(19,$PolicyName,$PolicyDescription)

Script To Remove a Citrix Policy

# Remove-CitrixPolicy.ps1
Param($Server,$PolicyName = $(throw '$PolicyName is Required'),[switch]$whatif)

# Enums in Use
$MetaFrameUnknownObject = 0
$MetaFrameWinFarmObject = 1

# Getting Farm Object
$type = [System.Type]::GetTypeFromProgID("MetaframeCOM.MetaframeFarm",$Server)
$mfarm = [system.Activator]::CreateInstance($type)
$mfarm.Initialize($MetaFrameWinFarmObject)

# Getting Policies that Match Name and Loading Data
$policies = $mfarm.policies($MetaFrameUnknownObject) | ?{$_.Name -eq $PolicyName}
foreach($pol in $policies)
{
    if($whatif){Write-Host " What if: Performing operation `"Delete`" on Target `"$($pol.Name)`". " -foreground yellow}
    else{Write-Host " - Deleting $($pol.Name)";$pol.Delete()}
}

Continue at source…

Be sure to check out some of the other PowerShell resources available on MSTerminalServices.org:

Using PowerShell to Manage Terminal Services Attributes

Using PowerShell in Your Environment


Technorati : , , , ,
Del.icio.us : , , , ,
Ice Rocket : , , , ,

Citrix XenDesktop Resources

What do you get when you mix Citrix Desktop Server, XenServer, and Citrix Provisioning Server? You get Citrix XenDesktop, and the beta is freely available at citrix.com. Al Solorzano recently downloaded XenDesktop beta and compared XenDesktop to VMWare Virtual Desktop Manager. Al does a good job of explaining the evolution of VDI and how both XenDesktop and VMWare fit in to this space. Al goes on to give a “blow by blow” comparison.

Another great resource to learn about XenDesktop is from an article posted on Frameworkx titled “Citrix XenDesktop Explained“. This article written by Gus Pinto does a great job of introducing the different components involved in XenDesktop.

Also, Barry Flanagan has posted several XenDesktop articles and videos on his blog. Citrix is also running a contest where you can submit your own XenDesktop videos to win 1 of 3 iPods. You can post videos up until May 9th. The top video winner receives a 16 Gb iPod Touch, second place receives an 8 Gb iPod Touch, and Third Place receives a 4 GB iPod Nano.

Be sure to check out these other resources on MSTerminalServices.org:

Citrix extends XenSource reach through VARs

Citrix XenSource Podcast

XenSource XenEnterprise v4: First Look

Citrix starts to market Ardence

Citrix Presentation Server and Ardence OS Streaming


Technorati : , , , , ,

A List of the Top Citrix Technical Webinars

Missed one of the recent Citrix technical webinars? No problem - Citrix records these webinars for on-demand viewing. Some of the most popular webinars have been posted on the official Citrix blog. I have personally attended almost all of these and there is a lot of information packed in these webinars. Here is a list of the most popular webcasts:

Best Practices for Upgrading/Migrating to Citrix Presentation Server 4.5
Thinking about upgrading to Citrix Presentation Server 4.5? Learn directly from our expert the necessary steps for a successful implementation.

Tuning Citrix Presentation Server to Get More Users per Server
Do you want to get more users on your Citrix Presentation Server? Are you ready to learn how 64-bit architecture can remove performance bottlenecks from application delivery? Then learn from Citrix and Microsoft engineers on how to leverage 64-bit technology to increase the number of users per server.

Using Citrix Apps Offline: Understanding Application Streaming in Citrix Presentation Server 4.5
Hear directly from the architect how Application Streaming provides you with the flexibility to stream applications to remote users who need local CPU resources, require local peripherals or need to work offline.

Discover What’s New in Citrix Presentation Server 4.5 Feature Pack 1
Get an in depth technical overview of the latest features of Citrix Presentation Server 4.5 including SmartAuditor & EasyCall technologies.

Designing Citrix Presentation Server Farms for Maximum Scalability
Find out from our experts the critical design considerations needed for any Citrix Presentation Server environment. Learn how to design your server farm zones for high scalability. Also, find out about data store sizing, architecture & operation and how to plan for future deployments based on farm growth.

Using the Citrix Presentation Server 4 Universal Printer Driver
Go ‘under the hood’ with Gary Barton as he discusses new printing architecture that addresses real-world printing dilemmas.

Graphics Acceleration & ICA Client Enhancements
Learn how Citrix Presentation Server 4.5 can help increase the performance and usability of graphics-intensive applications. Also, learn about some of the ICA client enhancements in this release.

Health Assistant Automated Server Recovery and Configuration Logging
Hear directly from the engineers about the new server health checks and recovery actions in Presentation Server, how to increase application availability with Independent Management Architecture (IMA) Thread Pooling, and how to resolve the on ramp black hole situation with Load Throttling. Also, learn about the Configuration Logging design and security features and how to filter and generate reports.

Web Interface & Active Directory Federated Services (ADFS)
Find out from our experts about the Web Interface support for advanced application delivery, the architecture behind web-based application delivery, the architecture and benefits of ADFS integration in Citrix Web Interface, and how to configure ADFS integration in Citrix Web Interface.


Technorati : , , , ,
Del.icio.us : , , , ,
Ice Rocket : , , , ,

Load Balancing and Session Broker in Windows Server 2008 Terminal Services

The Terminal Services Session Broker is not a new idea in Windows Server 2008, but there have been some significant security and performance improvements over the previous version in Windows Server 2003. The Microsoft Terminal Services team has a blog post explaining some of the new improvements.

In a Windows Server 2003 Terminal Services environment, “when a terminal server in a farm received a connection request, it created a temporary session to authenticate the user and load user policies. If no local disconnected session was present, it queried the TS Session Broker to see if there was a disconnected session for the user on another machine in the SB farm. If a disconnected session was found, a redirection request was sent to the client to connect to the other server instead. The temporary session was then discarded.

The temporary session creation resulted in significant delay in completing the connection because a full logon occurs in the session. Also, the user experience was unpleasant because the user saw two welcome screens, first for the temporary session and then again for the redirected session.”

So, that is the way it used to work. Windows Server 2008 builds on the Session Broker by adding load balancing and adding security enhancements using CresSSP (which also gets rid of that nasty double login - which increases logon performance). “In Windows ServerĀ® 2008, a new load balancing algorithm has been introduced to distribute the load amongst all the servers in the farm… The new technique uses the credentials (user name and domain name) provided by CredSSP and the initial program available at that point, to load the user profile. It then uses the same credential to query for a disconnected session in the SB farm, if the machine is in a farm. If a disconnected session is found on another machine in the farm, it immediately sends a redirect packet to the client and the client subsequently connects to the redirected server. Hence no temporary session is created before the connection is redirected.”

To learn more about CredSSP, check out how RDP Frontside Authentication works.

Continue at source…


Technorati : , , ,
Del.icio.us : , , ,
Ice Rocket : , , ,

Webcast on how Microsoft Implemented Windows Server 2008 Terminal Services Internally

In an earlier blog post, I mentioned that Microsoft had written a white paper detailing how Microsoft IT implemented Windows Server 2008 Terminal Services internally. The success of the MSIT project and the white paper have prompted an upcoming webcast by Microsoft - TechNet Webcast: How Microsoft IT Deployed Windows Terminal Services 2008 and Terminal Server Gateway Technologies (Level 300). Following is the webcast overview:

“Terminal Services presentation virtualization accelerates application deployments and enables any client to run any application. Terminal Services instantly web-enables rich applications to efficiently connect remote workers from managed or unmanaged devices. By using Terminal Services users can keep critical intellectual property secure and radically simplify regulatory compliance by removing applications and data from the desktop.”

So, mark your calendars for Tuesday, March 18th, 2008 9:30 AM Pacific Time (US & Canada) to learn more information. If you are not able to attend, Microsoft usually posts these webcasts a few days after the event for on-demand presentation.

Continue at source…


Technorati : , , , , ,
Del.icio.us : , , , , ,
Ice Rocket : , , , , ,

Programmatically Getting the IP Address and Hostname of a Terminal Servcies/Citrix Session

Have you ever needed to get the IP address or hostname of all sessions on a Citrix or Terminal Server programmatically. Perhaps at login to do some special scripting? I have personally faced this dilemma. It is quite easy to use MFCOM to obtain this information, but MFCOM may not be viable due to security restrictions. Also, MFCOM doesn’t help you in a pure Terminal Services environment. To get this information in a pure Terminal Services environment, you will need to utilize WTSAPI (the Terminal Service API). These two methods are not the only two methods available. Vishal Ganeriwala has posted a blog entry that gives you for ways to programmatically get this information. Vishal tells us how to get this information via MFCOM, WFAPI, WTSAPI, and ICO SDK. Whether you are a seasoned API developer, or just a beginner, I think the information Vishal has put together will help you have a deeper understanding of Citrix/TS APIs.

Continue at source…


Technorati : , , , , ,
Del.icio.us : , , , , ,
Ice Rocket : , , , , ,

Windows Server 2008 RemoteApp Architecture

Microsoft’s “Ask the Performance Team” recently posted a new article about the Windows Server 2008 Terminal Services RemoteApp feature. If you have read any of their articles in the past, you know that they do a good job of getting in the “nuts and bolts” of technology. This new article on RemoteApp is no exception. Here is an excerpt from the article:

“There are two executables in particular to be aware of:

  • RDPINIT.EXE
  • RDPSHELL.EXE

An instance of RDPINIT.EXE runs on the Terminal Server for each users RemoteApp session. RDPINIT.EXE is loaded by USERINIT.EXE as a RemoteApp specific implementation of USERINIT.EXE. RDPINIT.EXE acts as a watchdog to launch RDPSHELL.EXE and monitor process startup and shutdown. RDPSHELL.EXE is the shell that is used instead of EXPLORER.EXE to provide RemoteApp functionality. RDPINIT.EXE monitors the process lifecycle of RDPSHELL.EXE and restarts it in the event that it abnormally terminates. RDPSHELL.EXE loads a set of Windows event hooks onto each user desktop in the session. These event hooks allow RDPSHELL.EXE to monitor the state of all windows on the desktop. When a Remote Application is terminated, the process on the Terminal Server that is associated with that application is terminated. However, the Terminal Server session itself remains in a disconnected state until it is reset by an administrator or the Group Policy setting that defines the time limit for disconnected sessions to remain in that state.”

The article goes on to explain how to publish RemoteApps, as well as some nuances in a 64 bit environment.

Continue at source…


Technorati : , , , ,
Del.icio.us : , , , ,
Ice Rocket : , , , ,

With Windows Server 2008 do you still need Citrix?

With the release of Windows Server 2008 and its Terminal Services features, some organizations are asking themselves if they will still need Citrix Presentation Server (XenApp). I think this is a pretty valid question considering some of the new Terminal Services features including RemoteApp, seamless windows, TS Gateway, TS Web Access, etc. Citrix knows organizations are asking questions such as:

  • Will I still need Presentation Server?
  • Will Terminal Services in Windows Server 2008 meet my needs?
  • Why should I pay more for Presentation Server as compared to Terminal Services?

As such, Citrix has been preparing documents to help answer some of these questions. Bryon Thomas has posted a blog entry pointing to the following resources to try to help answer these tough questions:

Continue at source…

Michel Roth has a few comments as well on the article…


Technorati : , , , ,
Del.icio.us : , , , ,
Ice Rocket : , , , ,


Receive all the latest articles by email!

Receive Real-Time & Monthly MSTerminalServices.org article updates in your mailbox. Enter your email below!
Click for Real-Time sample & Monthly sample

Become an MSTerminalServices.org member!

Discuss your Terminal Services & Citrix issues with thousands of other SBC experts. Click here to join!

Solution Center