Add-PswaAuthorizationRule

Adds a new authorization rule to the Windows PowerShell® Web Access authorization rule set.

Syntax

Add-PswaAuthorizationRule
   -ComputerGroupName <String>
   [-ConfigurationName] <String>
   [-Credential <PSCredential>]
   [-RuleName <String>]
   -UserGroupName <String[]>
   [-Force]
   [<CommonParameters>]
Add-PswaAuthorizationRule
   -ComputerGroupName <String>
   [-ConfigurationName] <String>
   [-Credential <PSCredential>]
   [-RuleName <String>]
   [-UserName] <String[]>
   [-Force]
   [<CommonParameters>]
Add-PswaAuthorizationRule
   -ComputerName <String>
   [-ConfigurationName] <String>
   [-Credential <PSCredential>]
   [-RuleName <String>]
   -UserGroupName <String[]>
   [-Force]
   [<CommonParameters>]
Add-PswaAuthorizationRule
   -ComputerName <String>
   [-ConfigurationName] <String>
   [-Credential <PSCredential>]
   [-RuleName <String>]
   [-UserName] <String[]>
   [-Force]
   [<CommonParameters>]

Description

The Add-PswaAuthorizationRule cmdlet adds a new authorization rule to the Windows PowerShell® Web Access authorization rule set.

You must specify the users, computers, and Windows PowerShell endpoints for this rule. You can specify both users and computers either by individual user accounts and computer names, or by specifying groups.

For a computer that is joined to an Active Directory domain, the cmdlet uses the security identifier (SID) of the computer to create the rule. This allows you to use a short name, a fully qualified domain name (FQDN), or an IP address for the Computer Name field on the sign-in page.

For a computer that is not joined to an Active Directory domain, the cmdlet creates the rule using the computer name provided by the administrator. To successfully connect to this machine, the end user must provide the computer name exactly as it appears in the rule.

If there are multiple computers with the same name on the network, then short name can resolve to more than one computer. This can lead to ambiguity when establishing a connection. For example, if a rule exists for the workgroup computer named "Server1" and a new computer named server1.contoso.com is joined to the network, validation using the authorization rules succeeds and Windows PowerShell Web Access attempts to establish a connection to the computer named "Server1". It is not guaranteed that the connection is established with the specified workgroup computer; the attempt could be made on either the workgroup or the domain computer named "Server1". To reduce ambiguity, it is recommended that you use the FQDN for the destination computer whenever possible to create an authorization rule.

The authorization rules evaluate the primary sign-in credential of the Windows PowerShell Web Access users, not the alternate credentials (the second set of credentials found in the Optional connection settings section of the sign-in page). For an example of this, see Example 6.

Examples

EXAMPLE 1

PS C:\>Add-PswaAuthorizationRule -ComputerName srv2.contoso.com -UserGroupName contoso\SMAdmins -ConfigurationName PSWAEndpoint

This example grants access to the session configuration PSWAEndpoint, a restricted runspace, on srv2 for users in the SMAdmins group. Note: The computer name must be a fully qualified domain name (FQDN). Administrators define a restricted session configuration or runspace, which is a limited range of cmdlets and tasks that end users can run. Defining a restricted runspace can prevent users from accessing other computers that are not in the allowed Windows PowerShell® runspace, thus offering a more secure connection. For more information on session configurations, see about_Session_Configurationshttp://technet.microsoft.com/library/dd819508.aspx or the Windows PowerShell Web Access Helphttp://go.microsoft.com/fwlink/p/?LinkID=221050.

EXAMPLE 2

PS C:\>Add-PswaAuthorizationRule -UserName contoso\user1, contoso\user2, contoso\user3 -ComputerName srv2.contoso.com -ConfigurationName Microsoft.PowerShell

This example grants access to the default Windows PowerShell session configuration, Microsoft.PowerShell, on srv2 for users in the users named contoso\user1, contoso\user2, and contoso\user3. This cmdlet creates three rules (1 per person).

EXAMPLE 3

PS C:\> "contoso\user1","contoso\user2" | Add-pswaAuthorizationRule -ComputerName srv2.contoso.com -ConfigurationName Microsoft.PowerShell

This example illustrates how to input user name values via the pipeline.

EXAMPLE 4

PS C:\>$o = New-Object -TypeName PSObject | Add-Member -Type NoteProperty -Name "UserName" -Value "contoso\user1" -PassThru | Add-Member -Type NoteProperty -Name "ComputerName" -Value "srv2.contoso.com" -PassThru | Add-Member -Type NoteProperty -Name "ConfigurationName" -Value "Microsoft.PowerShell" -PassThru



PS C:\>$o | Add-PswaAuthorizationRule

This example illustrates how all parameters take values from pipeline by property name.

EXAMPLE 5

PS C:\>Add-PswaAuthorizationRule -UserName PswaServer\ChrisLocal -ComputerName srv1.contoso.com -ConfigurationName Microsoft.PowerShell

This example adds a rule to allow the local user named PswaServer\ChrisLocal access to the server named srv1.contoso.com.

This example illustrates a scenario where the gateway is in a workgroup and the destination computer is in a domain. The authorization rule applies to the local users on the gateway. On the Windows PowerShell Web Access sign-in page, to successfully authenticate, the user must provide a second set of credentials in the Optional connection settings area. The gateway server uses the additional set of credentials to authenticate the user on the destination computer, a server named srv1.contoso.com.

EXAMPLE 6

PS C:\> Add-PswaAuthorizationRule -UserName * -ComputerName * -ConfigurationName *

This example allows all users access to all endpoints on all computers. This essentially turns off authorization rules. Note: Use of the * wildcard character is not recommended for security-sensitive deployments and should only be considered for test environments or used in deployments where security can be relaxed.

Parameters

-ComputerGroupName

Specifies the name of a computer group in Active Directory Domain Services (AD DS) or local groups to which this rule grants access.

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

-ComputerName

Specifies the computer name to which this rule grants access.

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

-ConfigurationName

Specifies the name of the Windows PowerShell session configuration, also known as runspace, to which this rule grants access.

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Credential

Specifies a PSCredential object for a user account that you want to use to change Windows PowerShell Web Access authorization rules. If you do not add this parameter, the cmdlet uses the currently logged-on user account. To get a PSCredential object, which is required to add authorization rules remotely, run the Get-Credentialhttp://go.microsoft.com/fwlink/?LinkID=293936 cmdlet.

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

-Force

Forces the command to run without asking for user confirmation.

In addition, it also prompts for confirmation when you enter a simple or short computer name (such as a name that is not a domain name or is not fully qualified). Confirmation is requested for security reasons, so that you can use the simple name to add a computer only if the computer is in a workgroup.

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

-RuleName

Specifies the friendly name for this rule.

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

-UserGroupName

Specifies the name of one or more user groups in AD DS or local groups to which this rule grants access.

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

-UserName

Specifies one or more users to which this rule grants access. The user name can be a local user account on the gateway computer or a user in AD DS.

The format is domain\user or computer\user.

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

Inputs

String, String[]

This cmdlet accepts a string or an array of strings as input.

Outputs

Microsoft.Management.PowerShellWebAccess.PswaAuthorizationRule