PowerShell Commands

Get-SmbShare

Get-SmbShare [[-Name] <String[]>] [[-ScopeName] <String[]>] [-AvailabilityType <AvailabilityType[]>] [-CachingMode<CachingMode[]>] [-CaTimeout <UInt32[]>] [-CimSession <CimSession[]>] [-ConcurrentUserLimit <UInt32[]>][-ContinuouslyAvailable <Boolean[]>] [-EncryptData <Boolean[]>] [-FolderEnumerationMode <FolderEnumerationMode[]>][-IncludeHidden] [-Scoped <Boolean[]>] [-ShareState <ShareState[]>] [-SmbInstance {Default | CSV}] [-Special<Boolean[]>] [-ThrottleLimit <Int32>] [<CommonParameters>]

The Get-SmbShare cmdlet retrieves objects that represent the Server Message Block (SMB) shares being displayed by the computer.

Parameters

-AvailabilityType [<AvailabilityType[]>]

  • Accepts pipeline input ByPropertyName

Specifies the cluster type of the shares being enumerated.

-CachingMode [<CachingMode[]>]

  • Accepts pipeline input ByPropertyName

Specifies the caching mode of the shares being enumerated.

-CaTimeout [<UInt32[]>]

  • Accepts pipeline input ByPropertyName

Specifies the continuous availability time-out of the shares being enumerated.

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

-ConcurrentUserLimit [<UInt32[]>]

  • Accepts pipeline input ByPropertyName

Specifies the concurrent user limit of the shares being enumerated.

-ContinuouslyAvailable [<Boolean[]>]

  • Accepts pipeline input ByPropertyName

Indicates that the shares being enumerated should be continuously available.

-EncryptData [<Boolean[]>]

  • Accepts pipeline input ByPropertyName

Indicates that the shares being enumerated should be encrypted.

-FolderEnumerationMode [<FolderEnumerationMode[]>]

  • Accepts pipeline input ByPropertyName

Specifies the folder enumeration mode of the shares being enumerated.

-IncludeHidden [<SwitchParameter>]

Indicates that shares that are created and used internally are also enumerated.

-Name [<String[]>]

  • Accepts pipeline input ByPropertyName

Specifies one or more SMB shares by share name.

-Scoped [<Boolean[]>]

  • Accepts pipeline input ByPropertyName

Indicates that the shares to be numerated should be scoped.

-ScopeName [<String[]>]

  • Accepts pipeline input ByPropertyName

Specifies the scope of the share by name.

-ShareState [<ShareState[]>]

  • Accepts pipeline input ByPropertyName

Specifies the state of the shares being enumerated.

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

-Special [<Boolean[]>]

  • Accepts pipeline input ByPropertyName

Indicates that the shares to be numerated should be special. Admin share, default shares, IPC$ share are examples of special shares.

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

<CommonParameters>

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

Inputs
System.String
Outputs
Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/SMB/MSFT_SmbShare
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.
Examples
  1. Get SMB shares:
    PS C:\> Get-SMBShare
    
       Name                          ScopeName                     Path                          Description 
       ----                          ---------                     ----                          ----------- 
       ADMIN$                        *                             C:\Windows                    Remote Admin 
       C$                            *                             C:\                           Default share 
       ClusterStorage$               Contoso-SO                    C:\ClusterStorage             Cluster Shared Volumes 
       Def... 
       D$                            *                             D:\                           Default share 
       F$                            *                             F:\                           Default share 
       G$                            *                             G:\                           Default share 
       H$                            *                             H:\                           Default share 
       I$                            Contoso-FS                    I:\                           Cluster Default Share 
       I$                            *                             I:\                           Default share 
       IPC$                          *                                                           Remote IPC 
       J$                            Contoso-FS                    J:\                           Cluster Default Share 
       J$                            *                             J:\                           Default share 
       K$                            *                             K:\                           Default share 
       L$                            *                             L:\                           Default share 
       M$                            *                             M:\                           Default share 
       N$                            *                             N:\                           Default share 
       VMS1                          Contoso-FS                    I:\VMS 
       VMS2                          Contoso-FS                    J:\VMS 
       VMS3                          Contoso-SO                    C:\ClusterStorage\Volume1\VMS 
       VMS4                          Contoso-SO                    C:\ClusterStorage\Volume2\VMS 
       VMS5                          *                             D:\VMS

    This command retrieves the SMB shares on the computer.

  2. Get SMB shares on a specific computer:
    PS C:\> Get-SmbShare -Name "VMS1"
    
       Name                          ScopeName                     Path                          Description 
       ----                          ---------                     ----                          ----------- 
       VMS1                          Contoso-FS                    I:\VMS

    This command retrieves the SMB shares on the computer named VMS1.

  3. Display information about SMB shares on a specific computer:
    PS C:\> Get-SmbShare -Name "VMS1" | Format-List
    Name        : VMS1 ScopeName   : Contoso-FS Path        : I:\VMS Description :
    

    This command displays the information about the SMB shares on the computer named VMS1 as a formatted list.

  4. Display all properties about SMB shares on a specific computer:
    PS C:\> 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             : Contoso-FS 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 shares on the computer named VMS1 as a formatted list.

  5. Get shares on a computer that has scaled out availability:
    PS C:\> 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 has scaled out availability.

  6. Get shares that are connected to a specific server:
    PS C:\> 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 computer that are connected to the SMB server named Contoso-FS.

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