Grant-SCResource
Grants a user or self-service user role access to a resource.
Syntax
Grant-SCResource
[-VMMServer <ServerConnection>]
-Resource <ClientObject>
[-UserRoleName <String[]>]
[-UserRoleID <Guid[]>]
[-UserName <String>]
[-JobGroup <Guid>]
[-RunAsynchronously]
[-PROTipID <Guid>]
[-JobVariable <String>]
[-OnBehalfOfUser <String>]
[-OnBehalfOfUserRole <UserRole>]
[<CommonParameters>]
Description
The Grant-SCResource cmdlet grants a user or self-service user role access to a resource.
Types of resources that you can share using Grant-SCResource include the following:
Service templates
Virtual machine templates
Guest operating system profiles
SQL Server profiles
Hardware profiles
Application profiles
Services
Virtual machines
Examples
Example 1: Share a resource with a specific user
PS C:\> $Resource = Get-SCVMTemplate | where {$_.Name -eq "Template01"}
PS C:\> Grant-SCResource -Resource $Resource -Username "Contoso\Katarina"
The first command gets the template object named Template01 and stores the object in the $Resource variable.
The second command shares the resource stored in $Resource (Template01) with the user named Katarina. If the user is a member of multiple self-service user roles with receive permission, then a user role must be specified.
Example 2: Share a resource with a user who is a member of multiple user roles
PS C:\> $Resource = Get-SCVMTemplate | where {$_.Name -eq "Template01"}
PS C:\> Grant-SCResource -Resource $Resource -Username "Contoso\Katarina" -UserRoleName @("ContosoSelfServiceUsers", "SelfServiceUserRole02")
The first command gets the template object named Template01 and stores the object in the $Resource variable.
The second command shares the resource stored in $Resource (Template01) with the user named Katarina but only while that user is using the ContosoSelfServiceUsers or SelfServiceUserRole02 user roles.
Example 3: Share a resource with all members of a user role
PS C:\> $Resource = Get-SCVMTemplate | where {$_.Name -eq "VMTemplate01"}
PS C:\> Grant-SCResource -Resource $Resource -UserRoleName "ContosoSelfServiceUsers"
The first command gets the template object named VMTemplate01 and stores the object in the $Resource variable.
The second command shares the resource stored in $Resource (VMTemplate01) with the members of the user role named ContosoSelfServiceUsers.
Example 4: Share a resource with all members of a user role by using the user role ID
PS C:\> $Resource = Get-SCVMTemplate | where {$_.Name -eq "VMTemplate01"}
PS C:\> $UserRole = Get-SCUserRole -Name "ContosoSelfServiceUsers"
PS C:\> Grant-SCResource -Resource $Resource -UserRoleId $UserRole.Id
The first command gets the template object named VMTemplate01 and stores the object in the $Resource variable.
The second command gets the user role object named ContosoSelfServiceUsers and stores the object in the $UserRole variable.
The last command shares the resource stored in $Resource (VMTemplate01) with the members of user role ContosoSelfServiceUsers.
Parameters
-JobGroup
Specifies an identifier for a series of commands that will run as a set just before the final command that includes the same job group identifier runs.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-JobVariable
Specifies that job progress is tracked and stored in the variable named by this parameter.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUser
Specifies a user name. This cmdlet operates on behalf of the user that this parameter specifies.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-OnBehalfOfUserRole
Specifies a user role. To obtain a user role, use the Get-SCUserRole cmdlet. This cmdlet operates on behalf of the user role that this parameter specifies.
Type: | UserRole |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PROTipID
Specifies the ID of the Performance and Resource Optimization tip (PRO tip) that triggered this action. This parameter lets you audit PRO tips.
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Resource
Specifies a resource object.
Type: | ClientObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-RunAsynchronously
Indicates that the job runs asynchronously so that control returns to the command shell immediately.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UserName
Specifies a the name of a user. Enter a user name with the format Domain\User.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UserRoleID
Specifies the ID of a user role.
Type: | Guid[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UserRoleName
Specifies the name of a user role. Types of user roles that are named include Delegated Administrator, Read-Only Administrator, and Self-Service User.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VMMServer
Specifies a VMM server object.
Type: | ServerConnection |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Outputs
Resource
This cmdlet returns a Resource object.