PowerShell Commands

Grant-SmbShareAccess

Grant-SmbShareAccess [-AccessRight {Full | Change | Read | Custom}] [-AccountName <String[]>] [-CimSession<CimSession[]>] [-Force] [-ThrottleLimit <Int32>] [-Confirm] [-WhatIf] [<CommonParameters>]
Grant-SmbShareAccess [-Name*] <String[]> [[-ScopeName] <String[]>] [-AccessRight {Full | Change | Read | Custom}][-AccountName <String[]>] [-CimSession <CimSession[]>] [-Force] [-SmbInstance {Default | CSV}] [-ThrottleLimit<Int32>] [-Confirm] [-WhatIf] [<CommonParameters>]

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.

Parameters

-AccessRight [<ShareAccessRight>]

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

-AccountName [<String[]>]

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

-CimSession [<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.

-Force [<SwitchParameter>]

Forces the command to run without asking for user confirmation.

-Name <String[]>

  • This value is required
  • Accepts pipeline input ByPropertyName

Specifies the name of the SMB share.

-ScopeName [<String[]>]

  • Accepts pipeline input ByPropertyName

Specifies the scope of the share by name.

-SmbInstance [<Microsoft.PowerShell.Cmdletization.GeneratedTypes.SmbShare.SmbInstance>]

  • Accepts pipeline input ByPropertyName

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

-ThrottleLimit [<Int32>]

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 PowerShellr 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.

-Confirm [<SwitchParameter>]

  • Default value is false

Prompts you for confirmation before running the cmdlet.Prompts you for confirmation before running the cmdlet.

-WhatIf [<SwitchParameter>]

  • Default value is false

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

<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.

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.
Examples
  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$.

  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.

This work is licensed under a Creative Commons Attribution 4.0 International. It is attributed to Microsoft Corporation and can be found here.

PowerShell Commands