Get-Freedrive.ps1
function Get-Freedrive { <# .SYNOPSIS Get-Freedrives lists the first free driveletter in the alphabet. .DESCRIPTION Get-Freedrive can be used to test for the first available free driveletter. The Parameter $inverse searches backwards through the alphabet. .EXAMPLE get-freedrive -inverse -startLetter Z Starts the search with letter z searching backwards. Returns a character. .NOTES Version: 1.0 Author: Holger Voges Date: 2018-08-17 www.netz-weise-it.training/weisheiten/ #> [cmdletbinding()] param( # The letter to start the search from - default is C or Z, if -inverse is chosen [char]$startLetter = 'C', # Inverse forces a backwards search through the alphabet [switch]$inverse ) # Setting Start-Letter to Z when using inverse Search If ( -not ( $PSBoundParameters.ContainsKey('Startletter') ) -and ( $inverse ) ) { $startLetter = 'Z' } [int]$Counter = ([Convert]::ToByte( $startLetter )) if ( $inverse ) { $Chararray = $Counter..67 } Else { $Chararray = $Counter..90 } $drives = Get-PSDrive -PSProvider FileSystem foreach ( $letter in $CharArray ) { if ( [Char]$letter -notin $drives.Name ) { [char]$letter break } } } |