< Back

Grant-SmbShareAccess

Wed Jan 30, 2019 6:00 pm

NAME Grant-SmbShareAccess



SYNOPSIS

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





SYNTAX

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>]





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.





PARAMETERS

-AccessRight [<ShareAccessRight>]

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



Required? false

Position? named

Default value none

Accept pipeline input? false

Accept wildcard characters? false



-AccountName [<String[]>]

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



Required? false

Position? named

Default value none

Accept pipeline input? false

Accept wildcard characters? false



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



Required? false

Position? named

Default value none

Accept pipeline input? false

Accept wildcard characters? false



-Force [<SwitchParameter>]

Forces the command to run without asking for user confirmation.



Required? false

Position? named

Default value none

Accept pipeline input? false

Accept wildcard characters? false



-Name <String[]>

Specifies the name of the SMB share.



Required? true

Position? 2

Default value none

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



-ScopeName [<String[]>]

Specifies the scope of the share by name.



Required? false

Position? 3

Default value none

Accept pipeline input? True (ByPropertyName)

Accept wildcard characters? false



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

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



Required? false

Position? named

Default value none

Accept pipeline input? true(ByPropertyName)

Accept wildcard characters? false



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



Required? false

Position? named

Default value none

Accept pipeline input? false

Accept wildcard characters? false



-Confirm [<SwitchParameter>]

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



Required? false

Position? named

Default value false

Accept pipeline input? false

Accept wildcard characters? false



-WhatIf [<SwitchParameter>]

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.



Required? false

Position? named

Default value false

Accept pipeline input? false

Accept wildcard characters? false



<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer, PipelineVariable, and OutVariable. For more information, see

about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216).



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.





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.







RELATED LINKS

Block-SmbShareAccess

Get-SmbShareAccess

Revoke-SmbShareAccess

Unblock-SmbShareAccess