Get-SmbShare
Retrieves the SMB shares on the computer.
Syntax
Get-SmbShare
[[-Name] <String[]>]
[[-ScopeName] <String[]>]
[-Scoped <Boolean[]>]
[-Special <Boolean[]>]
[-ContinuouslyAvailable <Boolean[]>]
[-ShareState <ShareState[]>]
[-FolderEnumerationMode <FolderEnumerationMode[]>]
[-CachingMode <CachingMode[]>]
[-LeasingMode <LeasingMode[]>]
[-DirectoryHandleLeasing <Boolean[]>]
[-ConcurrentUserLimit <UInt32[]>]
[-AvailabilityType <AvailabilityType[]>]
[-CaTimeout <UInt32[]>]
[-EncryptData <Boolean[]>]
[-CompressData <Boolean[]>]
[-IsolatedTransport <Boolean[]>]
[-QoSFlowScope <QoSFlowScope[]>]
[-QoSPolicyId <String[]>]
[-IncludeHidden]
[-SmbInstance <SmbInstance>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Description
The Get-SmbShare
cmdlet retrieves objects that represent the Server Message Block (SMB) shares
being displayed by the computer.
Examples
Example 1: Get SMB shares on a local computer
Get-SMBShare
Name ScopeName Path Description
---- --------- ---- -----------
ADMIN$ * C:\\Windows Remote Admin
C$ * C:\\ Default share
D$ * D:\\ Default share
F$ * F:\ Default share
IPC$ * Remote IPC
VMS1 * I:\VMS
This command retrieves the SMB shares on the computer.
Example 2: Get a specific SMB share on the local computer
Get-SmbShare -Name "VMS1"
Name ScopeName Path Description
---- --------- ---- -----------
VMS1 * I:\VMS
This command retrieves information about the SMB share named VMS1
on the local computer.
Example 3: Display information about the SMB shares on a remote computer
Get-SmbShare -CimSession "NEDFS1"
Name ScopeName Path Description PSComputerName
---- --------- ---- ----------- --------------
ADMIN$ * C:\\Windows Remote Admin ae-dfsr-sr-01
C$ * C:\\ Default share ae-dfsr-sr-01
D$ * D:\\ Default share ae-dfsr-sr-01
E$ * E:\\ Default share ae-dfsr-sr-01
IPC$ * Remote IPC ae-dfsr-sr-01
IT dept * D:\\data\IT dept ae-dfsr-sr-01
procedures * D:\\hr\procedures ae-dfsr-sr-01
VHD and ISO * D:\\data\VHD and ISO ae-dfsr-sr-01
This command displays the information about the SMB shares on the remote computer NEDFS1
.
Example 4: Display all properties about a specific SMB share on the local computer in a list
Get-SmbShare -Name "VMS1" | Format-List -Property *
PresetPathAcl : System.Security.AccessControl.DirectorySecurity
ShareState : Online
AvailabilityType : Clustered
ShareType : FileSystemDirectory
FolderEnumerationMode : Unrestricted
CachingMode : Manual
CATimeout : 0
ConcurrentUserLimit : 0
ContinuouslyAvailable : True
CurrentUsers : 3
Description :
EncryptData : False
Name : VMS1
Path : I:\VMS
Scoped : True
ScopeName : *
SecurityDescriptor : O:BAG:DUD:(A;;FA;;;S-1-5-21-219828122-4198910963-4161819395-500)(A;;FA;;;S-1-5-21-219828122-419
8910963-4161819395-1106)(A;;FA;;;S-1-5-21-219828122-4198910963-4161819395-1109)
ShadowCopy : False
Special : False
Temporary : False
Volume : \\?\Volume{b02c4ba7-e6f1-11e1-93eb-0008a1c0ef0d}\
PSComputerName :
CimClass : ROOT/Microsoft/Windows/SMB:MSFT_SmbShare
CimInstanceProperties : {AvailabilityType, CachingMode, CATimeout, ConcurrentUserLimit...}
CimSystemProperties : Microsoft.Management.Infrastructure.CimSystemProperties
This command displays all of the information about the SMB share named VMS1
on the local computer
as a formatted list.
Example 5: Get shares on the local failover cluster computer that have scale out availability
Get-SmbShare | Where-Object -Property AvailabilityType -Eq ScaleOut
Name ScopeName Path Description
---- --------- ---- -----------
ClusterStorage$ Contoso-SO C:\\ClusterStorage Cluster Shared Volumes Def...
VMS3 Contoso-SO C:\\ClusterStorage\Volume1\VMS
VMS4 Contoso-SO C:\\ClusterStorage\Volume2\VMS
This command retrieves the SMB shares on the computer that have scaled out availability.
Example 6: Get shares that are connected to a local failover cluster file server resource named "Contoso-FS"
Get-SmbShare -ScopeName "Contoso-FS"
Name ScopeName Path Description
---- --------- ---- -----------
I$ Contoso-FS I:\ Cluster Default Share
J$ Contoso-FS J:\ Cluster Default Share
VMS1 Contoso-FS I:\VMS
VMS2 Contoso-FS J:\VMS
This command retrieves the SMB shares on the Windows Server failover cluster that are connected to
the clustered file server resource named Contoso-FS
.
Parameters
-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 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AvailabilityType
Specifies the cluster type of the shares being enumerated.
Type: | AvailabilityType[] |
Accepted values: | NonClustered, Clustered, ScaleOut, CSV, DFS |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CachingMode
Specifies the caching mode of the offline files for the SMB share. There are five caching modes:
- BranchCache - Enables BranchCache and manual caching of documents on the shared folder.
- Documents - Automatically stores documents offline.
- Manual - Allows users to identify the documents and programs that they want to store offline.
- Programs - Automatically stores documents and programs offline.
- None - Prevents users from storing documents and programs offline.
Type: | CachingMode[] |
Accepted values: | None, Manual, Documents, Programs, BranchCache, Unknown |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-CATimeout
Specifies the continuous availability time-out of the SMB share.
Type: | UInt32[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
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 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CompressData
Indicates that the shares being enumerated should request compression from clients.
Type: | Boolean[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ConcurrentUserLimit
Specifies the concurrent user limit of the shares being enumerated.
Type: | UInt32[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ContinuouslyAvailable
Indicates that the shares being enumerated should be continuously available.
Type: | Boolean[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EncryptData
Indicates that the shares being enumerated should be encrypted.
Type: | Boolean[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-FolderEnumerationMode
Specifies the folder enumeration mode of the shares being enumerated.
Type: | FolderEnumerationMode[] |
Accepted values: | AccessBased, Unrestricted |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IncludeHidden
Indicates that shares that are created and used internally are also enumerated.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IsolatedTransport
Treats this share to be a distinct file server instance. Clients will establish a new set of connections to access the share.
Type: | Boolean[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LeasingMode
Specifies SMB leasing and oplock behaviors for application compatibility. The acceptable values for this parameter are:
Full
: Use default lease and oplock behaviors from SMB3.Shared
: Grant read-caching lease but not write or handle-caching.None
: No oplocks or leases, behave like SMB1 (not recommended).
Important
We Don't recommend disabling oplocks, but may be required in some scenarios. For more information, see SMB1 Product Clearinghouse.
Type: | LeasingMode |
Accepted values: | Full, Shared, None |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Specifies one or more SMB shares by share name.
Type: | String[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-QoSFlowScope
Specifies the Quality of Service (QoS) flow scope for the SMB share. The QoS flow scope determines how QoS policies are applied to SMB traffic. The accepted values are:
- File: Applies the QoS policy to file operations, each file handle is considered a flows.
- Share: Applies the QoS policy to SMB share connections, each connection is considered a flow.
- User: Applies the QoS policy to each user connection, each user connection is considered a flow.
- Session: Applies the QoS policy to each SMB session, each session connection is considered a flow.
The default value is None.
Type: | QoSFlowScope[] |
Accepted values: | File, Share, User, Session |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-QoSPolicyId
Specifies the QoS policy ID for the SMB share. The QoS policy ID is used to apply QoS policies to SMB traffic. The default value is None.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Scoped
Indicates that the shares to be numerated should be scoped.
Type: | Boolean[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ScopeName
Specifies the scope of the share by name. For use with Windows Server failover cluster file server resources.
Type: | String[] |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ShareState
Specifies the state of the shares being enumerated.
Type: | ShareState[] |
Accepted values: | Pending, Online, Offline |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SmbInstance
Specifies the SMB share instance type. Accepted values are:
Default
: Used for operations where a client device opens a file on a share on the server.CSV
: Used by Windows Failover Clusters.SBL
: Used by Storage Spaces Direct.SR
: Used by Storage Replica.
Type: | SmbInstance |
Accepted values: | Default, CSV, SBL, SR |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Special
Indicates that the shares to be numerated should be special. Admin share, default shares, IPC$ share are examples of special shares.
Type: | Boolean[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
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 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Inputs
String[]
Boolean[]
Microsoft.PowerShell.Cmdletization.GeneratedTypes.SmbShare.ShareState[]
Microsoft.PowerShell.Cmdletization.GeneratedTypes.SmbShare.FolderEnumerationMode[]
Microsoft.PowerShell.Cmdletization.GeneratedTypes.SmbShare.CachingMode[]
Microsoft.PowerShell.Cmdletization.GeneratedTypes.SmbShare.LeasingMode[]
UInt32[]
Microsoft.PowerShell.Cmdletization.GeneratedTypes.SmbShare.AvailabilityType[]
Microsoft.PowerShell.Cmdletization.GeneratedTypes.SmbShare.QoSFlowScope[]
Microsoft.PowerShell.Cmdletization.GeneratedTypes.SmbShare.SmbInstance
Outputs
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. The MSFT_SmbShare object represents the
SMB shares on the computer.