Powershell实现多硬盘的电脑使用SCCM安装系统选择目的盘清单
  5DGprTFQnos1 2023年11月02日 30 0

需求背景

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

OSDisk

最终目的

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

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

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

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

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

实现方法2

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

最终的效果图如下: OSD-ChooseDiskGUI

详细步骤:

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

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

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

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

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

    代码下载

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

5DGprTFQnos1
最新推荐 更多