微软MDT部署如何识别多硬盘安装

hai zhang 0 信誉分
2024-12-25T08:23:57.21+00:00

一台电脑有三个或者两个硬盘,在MDT部署的时候如何选择SSD最小的盘来安装系统并且格式化分区另外两个盘

Windows 10
Windows 10
在个人计算机和平板电脑上运行的 Microsoft 操作系统。
177 个问题
Microsoft Deployment Toolkit
Microsoft Deployment Toolkit
Microsoft 工具和文档系列,用于自动执行桌面和服务器部署。 以前称为“Microsoft 业务桌面部署 (BDD) 解决方案加速器”。
4 个问题
0 个注释 无注释
{count} 票

2 个答案

排序依据: 非常有帮助
  1. Hania Lian 19,831 信誉分 Microsoft 供应商
    2024-12-26T02:59:51.7066667+00:00

    你好。

    请尝试以下步骤。

    在 MDT 的任务序列中,添加一个脚本来识别所有硬盘的大小。

    使用 PowerShell 脚本获取硬盘信息,例如:

    $disks = Get-Disk | Sort-Object Size

    $ssd = $disks | Where-Object { $_.BusType -eq 'SSD' } | Select-Object -First 1

    $otherDisks = $disks | Where-Object { $_.BusType -ne 'SSD' }

    在脚本中,选择最小的 SSD 盘符并将其设置为目标安装盘。

    $targetDisk = $ssd.Number

    在任务序列中,添加步骤来格式化其他硬盘。

    foreach ($disk in $otherDisks) {

    Initialize-Disk -Number $disk.Number -PartitionStyle GPT
    
    New-Partition -DiskNumber $disk.Number -UseMaximumSize -AssignDriveLetter | Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisk"
    

    }

    在 MDT 的任务序列中,使用 DISKPART 或 PowerShell 命令来自动化这些步骤。


    如果该回答对您有帮助,请点击 “接受回答 ”并点赞。

    0 个注释 无注释

  2. 宝宝 啊 0 信誉分
    2024-12-26T03:20:01.1133333+00:00

    在微软 MDT(Microsoft Deployment Toolkit)环境中,要识别多硬盘并进行条件化部署(例如选择 SSD 中最小的盘来安装系统,同时格式化其他硬盘),需要结合脚本和 MDT 的配置来实现。这通常通过 PowerShell 脚本完成。

    实现步骤

    1. 编写脚本识别硬盘并选择目标盘

    以下是一个 PowerShell 脚本的示例,用于识别系统中的硬盘,选择 SSD 中最小的硬盘作为目标安装盘,并格式化其他硬盘:

    # 获取所有硬盘信息

    $disks = Get-WmiObject -Query "SELECT * FROM Win32_DiskDrive"

    # 过滤出 SSD 硬盘

    $ssdDisks = $disks | Where-Object { $_.MediaType -eq "Fixed hard disk media" -and $_.Model -match "SSD" }

    # 确保存在 SSD

    if ($ssdDisks -eq $null) {

    Write-Host "No SSD detected, using default installation logic."

    exit 1

    }

    # 找到最小容量的 SSD

    $targetDisk = $ssdDisks | Sort-Object Size | Select-Object -First 1

    # 获取目标盘编号

    $targetDiskNumber = $targetDisk.DeviceID -replace "[^\d]"

    # 选择非目标盘

    $otherDisks = $disks | Where-Object { $_.DeviceID -ne $targetDisk.DeviceID }

    # 输出目标盘信息

    Write-Host "Target Disk for Installation: $($targetDisk.DeviceID), Size: $($targetDisk.Size / 1GB) GB"

    # 格式化其他硬盘

    foreach ($disk in $otherDisks) {

    $diskNumber = $disk.DeviceID -replace "[^\d]"

    Write-Host "Formatting Disk: $($disk.DeviceID)"

    Invoke-Expression "diskpart /s <#

    select disk $diskNumber

    clean

    create partition primary

    format fs=ntfs quick

    assign

    exit

    #>"

    }

    # 配置目标盘为 MDT 的安装目标

    Write-Host "Setting Target Disk $targetDiskNumber for MDT Deployment"

    Set-Variable -Name OSDDisk -Value $targetDiskNumber

    1. 在 MDT 中使用脚本

    将上述脚本保存为 SelectDisk.ps1,并配置 MDT 使用它。

    1. 将脚本添加到 MDT:
      • SelectDisk.ps1 脚本复制到 MDT 的脚本目录(通常是 \\<MDT_SHARE>\Scripts)。
    2. 修改任务序列: 在任务序列中,添加一个新的任务步骤来运行 PowerShell 脚本:
      • 类型:Run PowerShell Script
      • 脚本名称:SelectDisk.ps1
      • 参数:-ExecutionPolicy Bypass -File \\<MDT_SHARE>\Scripts\SelectDisk.ps1
    3. 使用变量:
      • 脚本最后会设置 $OSDDisk 变量,MDT 使用此变量作为目标磁盘号。
      • 确保任务序列中的分区和格式化步骤依赖 $OSDDisk 变量,而不是默认的磁盘 0。 在微软 MDT(Microsoft Deployment Toolkit)环境中,要识别多硬盘并进行条件化部署(例如选择 SSD 中最小的盘来安装系统,同时格式化其他硬盘),需要结合脚本和 MDT 的配置来实现。这通常通过 PowerShell 脚本完成。 实现步骤
        1. 编写脚本识别硬盘并选择目标盘
        以下是一个 PowerShell 脚本的示例,用于识别系统中的硬盘,选择 SSD 中最小的硬盘作为目标安装盘,并格式化其他硬盘:
             powershell
             复制代码
             # 获取所有硬盘信息
        

    $disks = Get-WmiObject -Query "SELECT * FROM Win32_DiskDrive"

    过滤出 SSD 硬盘

    $ssdDisks = $disks | Where-Object { $.MediaType -eq "Fixed hard disk media" -and $.Model -match "SSD" }

    确保存在 SSD

    if ($ssdDisks -eq $null) { Write-Host "No SSD detected, using default installation logic." exit 1 }

    找到最小容量的 SSD

    $targetDisk = $ssdDisks | Sort-Object Size | Select-Object -First 1

    获取目标盘编号

    $targetDiskNumber = $targetDisk.DeviceID -replace "[^\d]"

    选择非目标盘

    $otherDisks = $disks | Where-Object { $_.DeviceID -ne $targetDisk.DeviceID }

    输出目标盘信息

    Write-Host "Target Disk for Installation: $($targetDisk.DeviceID), Size: $($targetDisk.Size / 1GB) GB"

    格式化其他硬盘

    foreach ($disk in $otherDisks) { $diskNumber = $disk.DeviceID -replace "[^\d]" Write-Host "Formatting Disk: $($disk.DeviceID)" Invoke-Expression "diskpart /s <# select disk $diskNumber clean create partition primary format fs=ntfs quick assign exit #>" }

    配置目标盘为 MDT 的安装目标

    Write-Host "Setting Target Disk $targetDiskNumber for MDT Deployment" Set-Variable -Name OSDDisk -Value $targetDiskNumber ```

     2. 在 MDT 中使用脚本
     
     将上述脚本保存为 `SelectDisk.ps1`,并配置 MDT 使用它。
     
           **将脚本添加到 MDT**:
           
                    - 将 `SelectDisk.ps1` 脚本复制到 MDT 的脚本目录(通常是 `\\<MDT_SHARE>\Scripts`)。
                    
                          **修改任务序列**: 在任务序列中,添加一个新的任务步骤来运行 PowerShell 脚本:
                          
                                   - 类型:`Run PowerShell Script`
                                   
                                            - 脚本名称:`SelectDisk.ps1`
                                            
                                                     - 参数:`-ExecutionPolicy Bypass -File \\<MDT_SHARE>\Scripts\SelectDisk.ps1`
                                                     
                                                           **使用变量**:
                                                           
                                                                    - 脚本最后会设置 `$OSDDisk` 变量,MDT 使用此变量作为目标磁盘号。
                                                                    
                                                                             - 确保任务序列中的分区和格式化步骤依赖 `$OSDDisk` 变量,而不是默认的磁盘 0。
                                                                             
     3. 调整分区和格式化
     
     在 MDT 的任务序列中,配置分区步骤:
     
           - 使用 `Use Toolkit Package` 步骤初始化 MDT 环境。
           
                 - 确保分区步骤中的目标磁盘设置为 `%OSDDisk%`。
                 
     **格式化其他硬盘**:
     
    - 添加自定义脚本步骤运行 `diskpart`,确保清理和格式化其他硬盘。在微软 MDT(Microsoft Deployment Toolkit)环境中,要识别多硬盘并进行条件化部署(例如选择 SSD 中最小的盘来安装系统,同时格式化其他硬盘),需要结合脚本和 MDT 的配置来实现。这通常通过 PowerShell 脚本完成。
    
      **实现步骤**
      
      **1. 编写脚本识别硬盘并选择目标盘**
      
      以下是一个 PowerShell 脚本的示例,用于识别系统中的硬盘,选择 SSD 中最小的硬盘作为目标安装盘,并格式化其他硬盘:
      
      ```powershell
      powershell
      复制代码
      # 获取所有硬盘信息
    

    $disks = Get-WmiObject -Query "SELECT * FROM Win32_DiskDrive"

    过滤出 SSD 硬盘

    $ssdDisks = $disks | Where-Object { $.MediaType -eq "Fixed hard disk media" -and $.Model -match "SSD" }

    确保存在 SSD

    if ($ssdDisks -eq $null) { Write-Host "No SSD detected, using default installation logic." exit 1 }

    找到最小容量的 SSD

    $targetDisk = $ssdDisks | Sort-Object Size | Select-Object -First 1

    获取目标盘编号

    $targetDiskNumber = $targetDisk.DeviceID -replace "[^\d]"

    选择非目标盘

    $otherDisks = $disks | Where-Object { $_.DeviceID -ne $targetDisk.DeviceID }

    输出目标盘信息

    Write-Host "Target Disk for Installation: $($targetDisk.DeviceID), Size: $($targetDisk.Size / 1GB) GB"

    格式化其他硬盘

    foreach ($disk in $otherDisks) { $diskNumber = $disk.DeviceID -replace "[^\d]" Write-Host "Formatting Disk: $($disk.DeviceID)" Invoke-Expression "diskpart /s <# select disk $diskNumber clean create partition primary format fs=ntfs quick assign exit #>" }

    配置目标盘为 MDT 的安装目标

    Write-Host "Setting Target Disk $targetDiskNumber for MDT Deployment" Set-Variable -Name OSDDisk -Value $targetDiskNumber ```

      **2. 在 MDT 中使用脚本**
      
      将上述脚本保存为 `SelectDisk.ps1`,并配置 MDT 使用它。
      
      1. **将脚本添加到 MDT**:
      
            - 将 `SelectDisk.ps1` 脚本复制到 MDT 的脚本目录(通常是 `\\<MDT_SHARE>\Scripts`)。
            
      1. **修改任务序列**: 在任务序列中,添加一个新的任务步骤来运行 PowerShell 脚本:
      
            - 类型:`Run PowerShell Script`
            
            - 脚本名称:`SelectDisk.ps1`
            
            - 参数:`-ExecutionPolicy Bypass -File \\<MDT_SHARE>\Scripts\SelectDisk.ps1`
            
      1. **使用变量**:
      
            - 脚本最后会设置 `$OSDDisk` 变量,MDT 使用此变量作为目标磁盘号。
            
            - 确保任务序列中的分区和格式化步骤依赖 `$OSDDisk` 变量,而不是默认的磁盘 [0](/api/attachments/853cf0c5-e4af-457f-bd36-3b9d6b9d5d32?platform=QnA)。
            
      **3. 调整分区和格式化**
      
      在 MDT 的任务序列中,配置分区步骤:
      
      - 使用 `Use Toolkit Package` 步骤初始化 MDT 环境。
      
      - 确保分区步骤中的目标磁盘设置为 `%OSDDisk%`。
      
      **格式化其他硬盘**:
      
      - 添加自定义脚本步骤运行 `diskpart`,确保清理和格式化其他硬盘。
      
    
    0 个注释 无注释

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。