Citrix Virtual Apps and Desktops SDK

Repair-UserProfileShare

Carries out one or more remedial actions on a profile store.

Syntax

Repair-UserProfileShare
      -Path <String>
      [-Mandatory]
      [-RedirectedFolders]
      -UserGroups <String[]>
      -AdminGroups <String[]>
      [<CommonParameters>]
<!--NeedCopy-->
Repair-UserProfileShare
      -Path <String>
      [-Mandatory]
      [-RedirectedFolders]
      -UserGroupsSids <String[]>
      -AdminGroupsSids <String[]>
      [<CommonParameters>]
<!--NeedCopy-->
Repair-UserProfileShare
      -Path <String>
      [-Mandatory]
      [-RedirectedFolders]
      [<CommonParameters>]
<!--NeedCopy-->

Description

Use this command in situations where the Test-UserProfileShare cmdlet reported one or more fixable faults with the profile store.

The inputs and outputs of this command are identical to those of Test-UserProfileShare. The only difference between the two cmdlets is that this cmdlet will attempt to fix the issues, where Test-UserProfileShare will only report them.

Issues that cannot be fixed will be reported as test failures, just as they would with Test-UserProfileShare.

This cmdlet can only be used to fix issues that were claimed to be fixable in the output report from Test-UserProfileShare.

Examples

EXAMPLE 1

This command ensures that the path “\\ProfileServer\Profiles$\%USERAME%.%USERDOMAIN%” is suitable for use as a profile store. This path is syntactically valid, so the cmdlet will check for the existence of the share “\\ProfileServer\Profiles$”. Provided that the share exists, it will also ensure that its permissions are configured such that all domain users would be permitted to create profile folders within the store, and that all domain administrators will be permitted to access the store for administrative purposes.

C:PS> Repair-UserProfileShare -Path \\ProfileServer\Profiles$\%USERNAME%.%USERDOMAIN% -UserGroups @("FABRIKAM\Domain Users") -AdminGroups @("FABRIKAM\Administrators")
<!--NeedCopy-->

EXAMPLE 2

This command ensures that the path “\\ProfileServer\Profiles$\FinanceDept\FixedProfile” contains a valid Citrix mandatory profile. This path is syntactically valid, so the cmdlet will check that the share “\\ProfileServer\Profiles$” exists. If it exists, the cmdlet will go on to ensure that its permissions are configured such that all domain users would be permitted to read data from the profile, and that all domain administrators will be permitted to access the profile for administrative purposes.

Additional repair actions will be performed on the contents of the profile to ensure that there is nothing within the profile that might reveal details about the user who logged in to create it.

C:PS> Repair-UserProfileShare -Path \\ProfileServer\Profiles$\FinanceDept\FixedProfile -UserGroups @("FABRIKAM\Domain Users") -AdminGroups @("FABRIKAM\Administrators") -Mandatory
<!--NeedCopy-->

Parameters

-Path

This string contains the prospective profile store path to be examined, such as “\\ProfileServer\Profiles$\%USERNAME%.%USERDOMAIN%”.

Type: String
Position: Named
Default value: None
Required: True
Accept pipeline input: True (ByValue)
Accept wildcard characters: False

-UserGroups

This array of strings specifies the names of security groups whose members will be creating their profiles in the store. This array must contain at least one entry. Each string must be specified as a Windows object identifier, such as “FABRIKAM\Domain Users”.

Type: String[]
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False

-AdminGroups

This array of strings specifies the names of security groups that should be given an administrative level of access to the profile share. If no such access is required, the array can be supplied as empty. Each string must be specified as a Windows object identifier, such as “FABRIKAM\Administrators”.

Type: String[]
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False

-UserGroupsSids

This array of strings specifies the SID of security groups whose members will be creating their profiles in the store. This array must contain at least one entry. Each string must be specified as security identifier string, such as “S-1-1-0”.

Type: String[]
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False

-AdminGroupsSids

This array of strings specifies the SID of security groups that should be given an administrative level of access to the profile share. If no such access is required, the array can be supplied as empty. Each string must be specified as security identifier string, such as “S-1-5-32-544”.

Type: String[]
Position: Named
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False

-Mandatory

This switch indicates whether the profile store is intended to house a mandatory profiles. Mandatory profile stores are subjected to additional checks.

Type: SwitchParameter
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

-RedirectedFolders

This switch indicates whether the path indicates the location of redirected folder directories.

Type: SwitchParameter
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

None

You can’t pipe objects to this cmdlet.

Outputs

PSObject

This cmdlet outputs a sequence of objects, each of which has the following properties:

Name - This property indicates the name of the test.

Status - This property indicates whether the repair action succeeded or failed.

Details - This property provides additional information about the test in the case where it has failed. The interpretation of this property depends on the name of the test.

CanFix - In the case where the test has failed, this boolean property indicates whether the problem can be fixed with the Repair-UserProfileShare cmdlet.

Repair-UserProfileShare