Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单

少年意气强不羁,虎胁插翼白日飞。这篇文章主要讲述Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单相关的知识,希望能为你提供帮助。
需求背景现在公司新购的ThinkPad或Dell笔记本和台式机部分机型预装为2块物理磁盘。默认情况下使用SCCM在线部署操作系统时,只能通过任务序列中选择指定的硬盘和分区进行部署系统。但有些机器Disk1为固态磁盘,有些Disk0为固态磁盘,不太方便选择系统安装的目的磁盘。

Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单

文章图片

最终目的实现针对不同机型,自动部署系统至正确的磁盘或弹框让Helpdesk人员部署系统时手动选择安装系统的目的磁盘;
实现方法1(不推荐,请酌情参考使用)在没有找到合适的方法(方法2)之前,我都是通过该方法使用了大概1年半。由于我以弃用该方法,这里只描述下实现方式:
  1. 在SCCM或MDT任务中,根据机型种类去复制多个$Apply Operation System Image$;
  2. 若机型A,需要将系统安装在Disk0,则将刚复制的序列中的其中一个将安装系统的目的磁盘选择Disk0;
  3. 同样,机型B需要将系统安装在Disk1,则在另外一个复制的任务序列,将系统安装目的磁盘选择Disk1;
  4. 在上述2个应用系统镜像的任务序列(相同任务、不同机型)做类似如下匹配
    Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单

    文章图片
这样就能基本实现按不同机型应用系统至指定的磁盘。缺点也很明显,无法针对新机型或特殊需求做临时调整。
实现方法2Google出一位大佬的脚本,稍加修改。原作链接
最终的效果图如下:
Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单

文章图片

详细步骤:
  1. 打开SCCM\\MDT系统部署任务序列,在最顶部创建文件夹随意命名;
    Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单

    文章图片

  2. 创建任务1—检查计算机是否存在多个硬盘;
    Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单

    文章图片

    代码部分:
    PowerShell.exe -NoProfile -Command "If ((Get-Disk | Where-Object -FilterScript $_.Bustype -ne USB).Count -gt 1) $TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment; $TSEnv.Value(‘MoreThanOneHD’)= $true"

  3. 创建任务2—选择安装系统的目的磁盘
    Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单

    文章图片

  4. 将脚本上传至SCCM Package中,然后按上图所示将命令行粘贴进去(Package部分自己上传并选择),命令部分代码如下:
    %SYSTEMROOT%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -STA -NoProfile -ExecutionPolicy Bypass -File .\\ChooseDiskWPF.ps1

  5. 在任务2选项中做个条件筛选,即——当计算机存在多块硬盘时,则执行该任务;若计算机只有一块硬盘,则跳过:
    Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单

    文章图片

  6. 重新生成Boot Image(需添加必要组件):
    Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单

    文章图片

    代码下载【Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单】下载、解压然后上传至SCCM或MDT Package中:点击下载(访问密码Blog.itpro.cc)

    推荐阅读