> For the complete documentation index, see [llms.txt](https://www.osdeploy.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.osdeploy.com/powershell-modules/osd/get-osdcoredeploymentdisk.md).

# Get-OSDCoreDeploymentDisk

Retrieves disk objects suitable for OS deployment with enhanced filtering capabilities.

| Property | Value                 |
| -------- | --------------------- |
| Module   | OSD                   |
| Platform | WinPE (amd64 / arm64) |

## Description

Get-OSDCoreDeploymentDisk queries the system for physical disks and returns disk objects with extended properties including MediaType. The function automatically filters out offline disks, disks with no media, and incompatible bus types (USB, Virtual, etc.). It provides comprehensive filtering options based on disk properties such as boot status, bus type, media type, and partition style.

## Syntax

```powershell
Get-OSDCoreDeploymentDisk [[-Number] <UInt32>] [-BootFromDisk] [-IsBoot] [-IsReadOnly] [-IsSystem]
 [[-BusType] <String[]>] [[-BusTypeNot] <String[]>] [[-MediaType] <String[]>] [[-MediaTypeNot] <String[]>]
 [[-PartitionStyle] <String[]>] [[-PartitionStyleNot] <String[]>] [-ProgressAction <ActionPreference>]
 [<CommonParameters>]
```

## Parameters

| Parameter            | Type              | Required | Description                                                                                                                                                                                                                                                        |
| -------------------- | ----------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `-Number`            | `UInt32`          | False    | Specifies the disk number to retrieve. Can also be referenced using aliases 'Disk' or 'DiskNumber'.                                                                                                                                                                |
| `-BootFromDisk`      | `SwitchParameter` | False    | Filters disks where the system boots from the disk.                                                                                                                                                                                                                |
| `-IsBoot`            | `SwitchParameter` | False    | Filters disks that contain boot partitions.                                                                                                                                                                                                                        |
| `-IsReadOnly`        | `SwitchParameter` | False    | Filters disks based on read-only status.                                                                                                                                                                                                                           |
| `-IsSystem`          | `SwitchParameter` | False    | Filters disks that contain system partitions.                                                                                                                                                                                                                      |
| `-BusType`           | `String[]`        | False    | Filters disks by one or more specific bus types. Valid values: '1394', 'ATA', 'ATAPI', 'Fibre Channel', 'File Backed Virtual', 'iSCSI', 'MMC', 'MAX', 'Microsoft Reserved', 'NVMe', 'RAID', 'SAS', 'SATA', 'SCSI', 'SD', 'SSA', 'Storage Spaces', 'USB', 'Virtual' |
| `-BusTypeNot`        | `String[]`        | False    | Excludes disks with specified bus types. Valid values: '1394', 'ATA', 'ATAPI', 'Fibre Channel', 'File Backed Virtual', 'iSCSI', 'MMC', 'MAX', 'Microsoft Reserved', 'NVMe', 'RAID', 'SAS', 'SATA', 'SCSI', 'SD', 'SSA', 'Storage Spaces', 'USB', 'Virtual'         |
| `-MediaType`         | `String[]`        | False    | Filters disks by one or more specific media types. Valid values: 'SSD', 'HDD', 'SCM', 'Unspecified'                                                                                                                                                                |
| `-MediaTypeNot`      | `String[]`        | False    | Excludes disks with specified media types. Valid values: 'SSD', 'HDD', 'SCM', 'Unspecified'                                                                                                                                                                        |
| `-PartitionStyle`    | `String[]`        | False    | Filters disks by one or more specific partition styles. Valid values: 'GPT', 'MBR', 'RAW'                                                                                                                                                                          |
| `-PartitionStyleNot` | `String[]`        | False    | Excludes disks with specified partition styles. Valid values: 'GPT', 'MBR', 'RAW'                                                                                                                                                                                  |

## Examples

### Example

```powershell
Get-OSDCoreDeploymentDisk
```

Returns all available deployment-ready disks, excluding USB, virtual, and other incompatible bus types.

### Example

```powershell
Get-OSDCoreDeploymentDisk -Number 0
```

Returns disk 0 if it meets deployment criteria.

### Example

```powershell
Get-OSDCoreDeploymentDisk -MediaType SSD
```

Returns all SSD disks suitable for deployment.

### Example

```powershell
Get-OSDCoreDeploymentDisk -BusType NVMe,SATA -PartitionStyle GPT
```

Returns all NVMe or SATA disks with GPT partition style.

### Example

```powershell
Get-OSDCoreDeploymentDisk -BusTypeNot USB -MediaTypeNot HDD
```

Returns all non-USB, non-HDD disks (typically SSDs and NVMe drives).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://www.osdeploy.com/powershell-modules/osd/get-osdcoredeploymentdisk.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
