New-SmbShare doesn't respect -WhatIf switch?

It looks like the New-SmbShare cmdlet isn’t respecting the -WhatIf switch.

To reproduce, run
New-SmbShare -Name TempFolder -Path “C:\Temp” -WhatIf

I would not expect the “TempFolder” share to actually be created due to the addition of the WhatIf switch. However, on my server, the share is indeed created as can be seen by running:
Get-SmbShare -Name TempFolder

Is this intended behaviour and, if not, where is the best place to report a bug?

P.S. I am running Windows Server 2012 R2 and PowerShell version 4.0.

It’s a CIM command - you can likely open the code (I think it’s a function) and see what’s up. And bug it on Connect.

is that the new command for creating a symbolic link? does it work well I have no choice but to use

cmd.exe /c mklink /d “c:\ShadowCopy” ($shadows[$val].DeviceObject + “\users$($val2)”)

No Mark, it’s the new command for creating network shares.\library/jj635722(v=wps.630).aspx


You can report this as a bug. New-SmbShare relies on a wrapper function generated by the PowerShell engine to access the CreateShare function of the ROOT/Microsoft/Windows/SMB/MSFT_SMBShare CIM/WMIclass. The wrapper function does not implement the WhatIf switch exposed by the CmdletBinding parameter SupportsShouldProcess.

You can look at the wrapper function with the following code snippet.

Import-Module SmbShare; Get-Content -Path Function:\New-SmbShare

The CDXML definition for the New-SmbShare CIM cmdlet can be found in the file: C:\Windows\System32\WindowsPowerShell\v1.0\Modules\SmbShare\SmbShare.cdxml

Ha i’m an idiot… I should of looked it up in stead of assuming :stuck_out_tongue: Thanks Curtis!!

Thanks guys.

Bug reported at