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

Posted 微风ATBJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单相关的知识,希望对你有一定的参考价值。

需求背景

现在公司新购的ThinkPad或Dell笔记本和台式机部分机型预装为2块物理磁盘。默认情况下使用SCCM在线部署操作系统时,只能通过任务序列中选择指定的硬盘和分区进行部署系统。但有些机器Disk1为固态磁盘,有些Disk0为固态磁盘,不太方便选择系统安装的目的磁盘。

最终目的

实现针对不同机型,自动部署系统至正确的磁盘或弹框让Helpdesk人员部署系统时手动选择安装系统的目的磁盘;

实现方法1(不推荐,请酌情参考使用)

在没有找到合适的方法(方法2)之前,我都是通过该方法使用了大概1年半。由于我以弃用该方法,这里只描述下实现方式:

  1. 在SCCM或MDT任务中,根据机型种类去复制多个$Apply Operation System Image$;
  2. 若机型A,需要将系统安装在Disk0,则将刚复制的序列中的其中一个将安装系统的目的磁盘选择Disk0;
  3. 同样,机型B需要将系统安装在Disk1,则在另外一个复制的任务序列,将系统安装目的磁盘选择Disk1;
  4. 在上述2个应用系统镜像的任务序列(相同任务、不同机型)做类似如下匹配

这样就能基本实现按不同机型应用系统至指定的磁盘。缺点也很明显,无法针对新机型或特殊需求做临时调整。

实现方法2

Google出一位大佬的脚本,稍加修改。原作链接

最终的效果图如下:

详细步骤:

  1. 打开SCCM\\MDT系统部署任务序列,在最顶部创建文件夹随意命名;

  2. 创建任务1—检查计算机是否存在多个硬盘;

    代码部分:

    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—选择安装系统的目的磁盘

  4. 将脚本上传至SCCM Package中,然后按上图所示将命令行粘贴进去(Package部分自己上传并选择),命令部分代码如下:

    %SYSTEMROOT%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -STA -NoProfile -ExecutionPolicy Bypass -File .\\ChooseDiskWPF.ps1
  5. 在任务2选项中做个条件筛选,即——当计算机存在多块硬盘时,则执行该任务;若计算机只有一块硬盘,则跳过:

  6. 重新生成Boot Image(需添加必要组件):

    代码下载

    下载、解压然后上传至SCCM或MDT Package中:点击下载(访问密码Blog.itpro.cc)

以上是关于Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单的主要内容,如果未能解决你的问题,请参考以下文章

powershell powershell SCCM自动化

powershell PowerShell:SCCM添加到集合

powershell 禁用指定集合的​​SCCM推送安装。

powershell 从SCCM数据库导出数据。

powershell 在SCCM集合上创建维护窗口。

powershell 此PowerShell脚本是从SCCM DB获取SCEP日志并将其导出为CSV文件