Set-RDSessionCollectionConfiguration
Modifies configuration options for an existing session collection.
Syntax
Set-RDSessionCollectionConfiguration
[-CollectionName] <String>
[-CollectionDescription <String>]
[-UserGroup <String[]>]
[-ClientDeviceRedirectionOptions <RDClientDeviceRedirectionOptions>]
[-MaxRedirectedMonitors <Int32>]
[-ClientPrinterRedirected <Boolean>]
[-RDEasyPrintDriverEnabled <Boolean>]
[-ClientPrinterAsDefault <Boolean>]
[-TemporaryFoldersPerSession <Boolean>]
[-BrokenConnectionAction <RDBrokenConnectionAction>]
[-TemporaryFoldersDeletedOnExit <Boolean>]
[-AutomaticReconnectionEnabled <Boolean>]
[-ActiveSessionLimitMin <Int32>]
[-DisconnectedSessionLimitMin <Int32>]
[-IdleSessionLimitMin <Int32>]
[-AuthenticateUsingNLA <Boolean>]
[-EncryptionLevel <RDEncryptionLevel>]
[-SecurityLayer <RDSecurityLayer>]
[-LoadBalancing <RDSessionHostCollectionLoadBalancingInstance[]>]
[-CustomRdpProperty <String>]
[-ConnectionBroker <String>]
[<CommonParameters>]
Set-RDSessionCollectionConfiguration
[-CollectionName] <String>
[-DisableUserProfileDisk]
[-ConnectionBroker <String>]
[<CommonParameters>]
Set-RDSessionCollectionConfiguration
[-CollectionName] <String>
[-EnableUserProfileDisk]
[-IncludeFolderPath <String[]>]
[-ExcludeFolderPath <String[]>]
[-IncludeFilePath <String[]>]
[-ExcludeFilePath <String[]>]
-MaxUserProfileDiskSizeGB <Int32>
-DiskPath <String>
[-ConnectionBroker <String>]
[<CommonParameters>]
Description
The Set-RDSessionCollectionConfiguration cmdlet modifies configuration options for an existing session collection. A session collection consists of one or more Remote Desktop Session Host (RD Session Host) servers. Users can connect to RD Session Host servers in a session collection to run programs, save files, and use resources on those servers.
You can use the New-RDSessionCollection cmdlet to create a session collection.
Examples
Example 1: Disable user profile disk
PS C:\> Set-RDSessionCollectionConfiguration -CollectionName "Session Collection 02" -DisableUserProfileDisk -ConnectionBroker "RDCB.Contoso.com"
This command configures a session collection to not use a user profile disk for a session collection named Session Collection 02 that has an RD Connection Broker named RDCB.Contoso.com.
Example 2: Specify a user profile disk with included file and folder
PS C:\> Set-RDSessionCollectionConfiguration -CollectionName "Session Collection 09" -EnableUserProfileDisk -MaxUserProfileDiskSizeGB 40 -DiskPath "C:\UserVHDs" -IncludeFolderPath "C:\Resources Folder" -IncludeFileFolderPath "C:\Required Text File.txt" -ConnectionBroker "RDCB.Contoso.com"
This command configures a session collection to use a user profile disk for a session collection named Session Collection 09 that has an RD Connection Broker named RDCB.Contoso.com. The command specifies the maximum size of the user profile disk and its disk path. The command specifies a path and file to include in the user profile.
Example 3: Specify a user profile disk with excluded file and folder
PS C:\> Set-RDSessionCollectionConfiguration -CollectionName "Session Collection 19" -EnableUserProfileDisk -MaxUserProfileDiskSizeGB 40 -DiskPath "C:\UserVHDs" -ExcludeFolderPath "C:\Local Resources Folder" -ExcludeFilePath "C:\Local Text File.txt" -ConnectionBroker "RDCD.Contoso.com"
This command configures a session collection to use a user profile disk for a session collection named Session Collection 19 that has an RD Connection Broker named RDCB.Contoso.com. The command specifies the maximum size of the user profile disk and its disk path. The command specifies a path and file to exclude from the user profile.
Example 4: Configure load balancing
PS C:\> $LoadBalanceObjectsArray = New-Object System.Collections.Generic.List[Microsoft.RemoteDesktopServices.Management.RDSessionHostCollectionLoadBalancingInstance]
PS C:\>$LoadBalanceSessionHost1 = New-Object Microsoft.RemoteDesktopServices.Management.RDSessionHostCollectionLoadBalancingInstance( "SessionHostCollection", 50, 200, "RDSH-1.Contoso.com" )
PS C:\> $LoadBalanceObjectsArray.Add($LoadBalanceSessionHost1)
PS C:\> $LoadBalanceSessionHost2 = New-Object Microsoft.RemoteDesktopServices.Management.RDSessionHostCollectionLoadBalancingInstance( "SessionHostCollection", 50, 300, "RDSH-2Contoso.com" )
PS C:\> $LoadBalanceObjectsArray.Add($LoadBalanceSessionHost2)
PS C:\> Set-RDSessionCollectionConfiguration -CollectionName "Session Collection 07" -LoadBalancing $LoadBalanceObjectsArray -ConnectionBroker "RDCB.Contoso.com"
This example configures load balancing for a session collection named Session Collection 07 that has an RD Connection Broker server named RDCB.Contoso.com.
The first five commands use standard Windows PowerShell® syntax to create an array of objects to define load balancing guidelines, and store those guidelines in the $LoadBalanceObjectsArray variable. This example configuration uses two RD Session Host servers named RDSH-1.Contoso.com and RDSH-2.Contoso.com
The final command specifies load balancing settings for the session collection that has the name Session Collection 07 and the RD Connection Broker server named RDCB.Contoso.com. The command uses the array stored in the $LoadBalanceObjectsArray variable to specify load balancing behavior.
Parameters
-ActiveSessionLimitMin
Specifies the maximum time, in minutes, an active session runs. After this period, the RD Session Host server ends the session.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-AuthenticateUsingNLA
Indicates whether to use Network Level Authentication (NLA). If this value is $True, Remote Desktop uses NLA to authenticate a user before the user sees a logon screen.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-AutomaticReconnectionEnabled
Indicates whether the Remote Desktop client attempts to reconnect after a connection interruption.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-BrokenConnectionAction
Specifies an action for an RD Session Host server to take after a connection interruption. The acceptable values for this parameter are:
- None
- Disconnect
- LogOff
Type: | RDBrokenConnectionAction |
Accepted values: | None, Disconnect, LogOff |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ClientDeviceRedirectionOptions
Specifies a type of client device to be redirected to an RD Session Host server in this session collection. The acceptable values for this parameter are:
- 0x0000. None.
- 0x0001. AudioVideoPlayBack.
- 0x0002. AudioRecording.
- 0x0004. COMPort.
- 0x0008. PlugAndPlayDevice.
- 0x0010. SmartCard.
- 0x0020. Clipboard.
- 0x0040. LPTPort.
- 0x0080. Drive.
- 0x0100. TimeZone.
You can use binary-or to combine two or more values of this enum to specify multiple client device types.
Type: | RDClientDeviceRedirectionOptions |
Accepted values: | None, AudioVideoPlayBack, AudioRecording, COMPort, PlugAndPlayDevice, SmartCard, Clipboard, LPTPort, Drive, TimeZone |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ClientPrinterAsDefault
Indicates whether to use the client printer or server printer as the default printer. If this value is $True, use the client printer as default. If this value is $False, use the server as default.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ClientPrinterRedirected
Indicates whether to use client printer redirection, which routes print jobs from the Remote Desktop session to a printer attached to the client computer.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CollectionDescription
Specifies a description of the session collection.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CollectionName
Specifies the name of a session collection.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ConnectionBroker
Specifies the Remote Desktop Connection Broker (RD Connection Broker) server for a Remote Desktop deployment. If you do not specify a value, the cmdlet uses the fully qualified domain name (FQDN) of the local computer.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CustomRdpProperty
Specifies Remote Desktop Protocol (RDP) settings to include in the .rdp files for all Windows Server 2012 RemoteApp programs and remote desktops published in this collection.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DisableUserProfileDisk
Indicates that Remote Desktop does not use a user profile to configure the session collection.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisconnectedSessionLimitMin
Specifies a length of time, in minutes. After client disconnection from a session for this period, the RD Session Host ends the session.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-DiskPath
Specifies a path for the user profile disk.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EnableUserProfileDisk
Indicates that Remote Desktop uses a user profile disk to configure the session collection. A user profile disk stores user profile information as a separate virtual hard disk in order to persist user profile settings across a pool of virtual desktops.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EncryptionLevel
Specifies the level of data encryption used for a Remote Desktop session. The acceptable values for this parameter are:
- 0 - Low.
- 1 - ClientCompatible.
- 2 - High.
- 3 - FipsCompliant.
The default value is ClientCompatible.
Type: | RDEncryptionLevel |
Accepted values: | None, Low, ClientCompatible, High, FipsCompliant |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ExcludeFilePath
Specifies an array of file paths to exclude from a user profile disk. By default, Remote Desktop creates standard file and folder paths, such as Documents and Music. Use this parameter to prevent creation of specified file paths. This parameter overrides any identical values specified in the IncludeFilePath or IncludeFolderPath parameters.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ExcludeFolderPath
Specifies an array of folder paths to exclude from a user profile disk. By default, Remote Desktop creates standard file and folder paths, such as Documents and Music. Use this parameter to prevent creation of specified folder paths. This parameter overrides any identical values specified in the IncludeFilePath or IncludeFolderPath parameters.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IdleSessionLimitMin
Specifies the length of time, in minutes, to wait before an RD Session Host logs off or disconnects an idle session. The BrokenConnectionAction parameter determines whether to log off or disconnect.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IncludeFilePath
Specifies an array of file paths to include in a user profile disk.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IncludeFolderPath
Specifies an array of folder paths to include in a user profile disk.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LoadBalancing
Specifies an array of objects that defines load balancing guidelines for the remote session collection. Each object specifies the collection name, RD Session Host server name, relative weight to use for that server, and a maximum number of sessions to allow.
Type: | RDSessionHostCollectionLoadBalancingInstance[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-MaxRedirectedMonitors
Specifies the maximum number of client monitors that an RD Session Host server can redirect to a remote session. The highest value for this parameter is 16.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaxUserProfileDiskSizeGB
Specifies the maximum size, in gigabytes, for a user profile disk.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-RDEasyPrintDriverEnabled
Specifies whether to enable the Remote Desktop Easy Print driver.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SecurityLayer
Specifies which security protocol to use. The acceptable values for this parameter are:
- 0 - RDP.
- 1 - Negotiate.
- 2 - SSL.
The default value is Negotiate.
Type: | RDSecurityLayer |
Accepted values: | RDP, Negotiate, SSL |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-TemporaryFoldersDeletedOnExit
Specifies whether to delete temporary folders from the RD Session Host server for a disconnected session.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-TemporaryFoldersPerSession
Specifies whether to use a single folder for temporary files. If this value is $True, a single folder contains temporary files. If this value is $False, individual users have separate folders to store temporary files.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UserGroup
Specifies an array of domain groups and users authorized to connect to the RD Session Host servers in a session collection.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Outputs
Null
Notes
- The IncludeFolderPath and IncludeFilePath parameters are mutually exclusive with the ExcludeFolderPath and ExcludeFilePath parameters.