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