45 lines
952 B
PowerShell
45 lines
952 B
PowerShell
function Get-LocalHardDrives {
|
|
<#
|
|
.SYNOPSIS
|
|
Get the local hard drive information for this computer
|
|
|
|
.PARAMETER IncludeRemovableDisks
|
|
Get the information of removable disks as well
|
|
|
|
.OUTPUTS
|
|
Returns a [object[]] of drive info. See also ConvertTo-DriveInfo
|
|
#>
|
|
[CmdletBinding()]
|
|
[OutputType([string[]])]
|
|
param (
|
|
$IncludeRemovableDisks
|
|
)
|
|
|
|
<#
|
|
Drive types for the CIM Instance response are:
|
|
0 = Unknown
|
|
1 = No Root directory
|
|
2 = Removable Disk
|
|
3 = Local Disk
|
|
4 = Network Drive
|
|
5 = Compact Disc
|
|
6 = Ram Disk
|
|
#>
|
|
$driveTypeFilter = @(3)
|
|
$return = @()
|
|
|
|
if ($IncludeRemovableDisks) {
|
|
$driveTypeFilter += 2
|
|
}
|
|
|
|
$drives = (Get-CIMInstance -Class Win32_LogicalDisk)
|
|
|
|
foreach ($drive in $drives) {
|
|
if ($driveTypeFilter -contains $drive.DriveType) {
|
|
$return += (ConvertTo-DriveInfo -CimInstance $drive)
|
|
}
|
|
}
|
|
|
|
return $return
|
|
}
|