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[]>]
   [-ConcurrentUserLimit <UInt32[]>]
   [-AvailabilityType <AvailabilityType[]>]
   [-CaTimeout <UInt32[]>]
   [-EncryptData <Boolean[]>]
   [-CompressData <Boolean[]>]
   [-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 shares being enumerated.

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 shares being enumerated.

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

-LeasingMode

Specifies SMB leasing and oplock behaviors.

Type:LeasingMode[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
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

-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 input to this cmdlet. You can use this parameter, or you can pipe the input to this cmdlet.

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

Outputs

CimInstance

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.