The Citrix XenApp 6.5 PowerShell SDK enables customers to manage XenApp 6.5 farms using Microsoft PowerShell scripting.
All the commands now support a -ComputerName parameter which indicates to the cmdlet to execute remotely. This means that the snap-in now can be installed anywhere and no additional configurations are needed in the client or server.
To accomplish this feature, a new WCF service (Citrix XenApp Commands Remoting) was introduced in XenApp, which essentialy implements all the business logic of the cmdlets. This logic is contained in a separate assembly, which in the case of server execution (when the commands are ran on the server) it is loaded in the same process where PowerShell is running.
Default Compute Name
In order to facilitate running existing scripts remotely without having to make significant changes, a default computer name can be set in the client machine. To do this a new set of cmdlets was introduced. When the default computer name is set, all the cmdlets will automatically remote to the server specified without having to explicitly use the -ComputerName parameter every time.
Since many cmdlets might be executing remotely, the calls to the back-end are minimized so that the remote execution performance will not degrade significantly when compared to local execution. One way to increase performance is using object Ids. Having the ID of the object minimizes the conversion calls that take place when operations are performed, for example, when deleting a batch of applications or folders. In order to minimize the changes to the existing public interface. The object names were overloaded with object id values. This means that anywhere where the cmdlets ask for a name, such as a server or an application name, the object ids can be passed instead. This feature is not necessarily intended to be used by the interactive user in the PowerShell console, but rather by developers that wish to write code with the SDK.