Grant-​Smb​Share​Access

Adds an allow ACE for a trustee to the security descriptor of the SMB share.

Syntax

Grant-SmbShareAccess
     [-AccessRight <ShareAccessRight>]
     [-AccountName <String[]>]
     [-AsJob]
     [-CimSession <CimSession[]>]
     [-Confirm]
     [-Force]
     -InputObject <CimInstance[]>
     [-ThrottleLimit <Int32>]
     [-WhatIf]
     [<CommonParameters>]
Grant-SmbShareAccess
     [-Name] <String[]>
     [[-ScopeName] <String[]>]
     [-AccessRight <ShareAccessRight>]
     [-AccountName <String[]>]
     [-AsJob]
     [-CimSession <CimSession[]>]
     [-Confirm]
     [-Force]
     [-SmbInstance <SmbInstance>]
     [-ThrottleLimit <Int32>]
     [-WhatIf]
     [<CommonParameters>]

Description

The Grant-SmbShareAccess cmdlet adds an allow access control entry (ACE) for a trustee to a security descriptor of the Server Message Block (SMB) share.

Examples

Example 1: Adds an allow ACE for a trustee

PS C:\>Grant-SmbShareAccess -Name "VMFiles" -AccountName "Contoso\Contoso-HV2$" -AccessRight Full
Confirm 
Are you sure you want to perform this action? 
Performing operation 'Modify' on Target 'Contoso-SO,VMFiles'. 
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): Y

Name                    ScopeName               AccountName             AccessControlType       AccessRight 
----                    ---------               -----------             -----------------       ----------- 
VMFiles                 Contoso-SO              Contoso\Administrator   Allow                   Full 
VMFiles                 Contoso-SO              Contoso\Contoso-HV1$    Allow                   Full 
VMFiles                 Contoso-SO              Contoso\Contoso-HV2$    Allow                   Full

This command adds an allow ACE for a trustee to the security descriptor of the SMB share named VMFiles for the account named Contoso\Contoso-HV2$.

Example 2: Adds an allow ACE for a trustee without confirmation

PS C:\>Grant-SmbShareAccess -Name VMFiles -AccountName "Contoso\Domain Admins" -AccessRight Change -Force
Name                    ScopeName               AccountName             AccessControlType       AccessRight 
----                    ---------               -----------             -----------------       ----------- 
VMFiles                 Contoso-SO              Contoso\Administrator   Allow                   Full 
VMFiles                 Contoso-SO              Contoso\Contoso-HV1$    Allow                   Full 
VMFiles                 Contoso-SO              Contoso\Contoso-HV2$    Allow                   Full 
VMFiles                 Contoso-SO              Contoso\Domain Admins   Allow                   Change

This command adds an allow ACE for a trustee to the security descriptor of the SMB share named VMFiles for the account named Contoso\Contoso-HV2$ without user confirmation.

Required Parameters

-InputObject

Specifies the input object that is used in a pipeline command.

Type:CimInstance[]
Position:Named
Default value:None
Accept pipeline input:True (ByValue)
Accept wildcard characters:False
-Name

Specifies the name of the SMB share.

Type:String[]
Position:1
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False

Optional Parameters

-AccessRight

Specifies the access right to grant to the trustee. The acceptable values for this parameter are: Full, Change, or Read.

Type:ShareAccessRight
Parameter Sets:Full, Change, Read, Custom
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-AccountName

Specifies the name of the trustee. Use a comma-separated list to specify multiple trustees.

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

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

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

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
-Force

Forces the command to run without asking for user confirmation.

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

Specifies the scope of the share by name.

Type:String[]
Position:2
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-SmbInstance

Specifies the input to this cmdlet. You can use this parameter, or you can pipe the input to this cmdlet.

Type:SmbInstance
Parameter Sets:Default, CSV, SBL, SR
Position:Named
Default value:None
Accept pipeline input:True (ByPropertyName)
Accept wildcard characters:False
-ThrottleLimit

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

None

Outputs

Microsoft.Management.Infrastructure.CimInstance#root/Microsoft/Windows/SMB/MSFT_SmbShareAccessControlEntry

The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object. This cmdlet returns a MSFT_SmbShareAccessControlEntry object.