Private/New-MdtDrive.ps1
function New-MdtDrive { <# .SYNOPSIS Creates a new persistent PS drive mapped to an MDT share. .NOTES Author: Aaron Parker Twitter: @stealthpuppy .PARAMETER Path A path to a Microsoft Deployment Toolkit share. .PARAMETER Drive A PS drive letter to map to the MDT share. #> [CmdletBinding(SupportsShouldProcess = $true)] [OutputType([System.String])] param ( [Parameter(Mandatory = $false, Position = 0)] [ValidateNotNullOrEmpty()] [System.String] $Drive = "DS099", [Parameter(Mandatory = $true, Position = 1)] [ValidateNotNullOrEmpty()] [System.String] $Path ) # Set a description to be applied to the new MDT drive $Description = "MDT drive created by $($MyInvocation.MyCommand)" if ($PSCmdlet.ShouldProcess("$($Drive): to $($Path)", "Mapping")) { $params = @{ Name = $Drive PSProvider = "MDTProvider" Root = $Path Description = $Description ErrorAction = "Stop" } New-PSDrive @params | Add-MDTPersistentDrive | Out-Null # Return the MDT drive name $psDrive = Get-MdtPersistentDrive | Where-Object { $_.Path -eq $Path -and $_.Name -eq $Drive } Write-Verbose -Message "Found: $($psDrive.Name)" Write-Output -InputObject $psDrive.Name } } |