SCCM2103系列, OSD任务序列多硬盘部署操作系统,SCCMOEMOSDisk辅助工具

网友投稿 994 2022-09-18

SCCM2103系列, OSD任务序列多硬盘部署操作系统,SCCMOEMOSDisk辅助工具

SCCM2103系列, OSD任务序列多硬盘部署操作系统,SCCMOEMOSDisk辅助工具

_OSDDetectedWinDir在 Windows PE 启动时,任务序列会在计算机的硬盘驱动器上扫描是否以前已安装操作系统。 Windows 文件夹位置存储在此变量中。 你可以将任务序列配置为从环境中检索该值,并将其用于指定相同的 Windows 文件夹位置进行新的操作系统安装

SCCMOEMOSDisk工具主要用于辅助SCCM OSD 任务序列进行选择安装操作系统类型、多硬盘系统优先安装到固态硬盘,有存在_OSDDetectedWinDir变量操作系统则返回对应信息列表,

注意 SCCM WinPE64位环境,_OSDDetectedWinDir变量是操作系统32位则用默认操作系统信息列表,应用操作系统步骤不支持在WinPE64环境中去安装32位系统,不过SCCM WinPE32位环境是支持应用操作系统步骤32位和64位系统安装。

默认计时30秒,鼠标左键双击工具主界面或按空格按键 停止计时时间。

Boot Drive 选项传统模式启动PE是Bios第一启动硬盘信息, 如果没有则不显示。UEFI模式启动PE是根据UEFI启动硬盘属性在哪个盘就显示对应盘信息,如果没有UEFI硬盘启动属性则 OS Drive 选项规则

OS Drive 选项按优先级从NVMe、SATA、Raid、其他等接口协议取固态硬盘最小容量对应信息,比如 没检测到NVMe固态硬盘则取SATA固态硬盘,要是都没符合条件则取硬盘中最小容量一个。

_OSDDetectedWinDir变量没有值,操作系统信息默认选择Boot Drive、 OS Drive 选项,其他硬盘选项默认不勾选

组织单位OU根据_SMSTSMachineName变量获取计算机名称,读取AD OU信息匹配输出默认该计算机名称所在OU名称,注意WinPE 需要导入Powershell AD管理模块,AD服务器需要开启powershell 远程管理。

AD User根据注册表域用户登录返回账户名。AD用户用于计算机自动登录设置,或加入本地管理组变量

PassWrodAD用户密码用于计算机自动登录设置

外部参数引入默认值 下拉表框参数追加-combobox9text “Windows10x64” -combobox9itemsadd “Win11,Win12”-combobox10text “2 - Enterprise” -combobox10itemsadd “专业版,企业版”-combobox11text “2004” -combobox11itemsadd “2021,2022”示例

示例 默认显示OS信息以及自定义添加变量值```html/xmlSCCMOEMOSDisk_x64.exe -combobox9text “Win11” -combobox10text “专业版” -combobox11text “2021” -combobox9itemsadd “Win11,Win12” -combobox10itemsadd “专业版,企业版” -combobox11itemsadd “2021,2022”

**注意事项** _OSDDetectedWinDir 在 Windows PE 启动时,任务序列会在计算机的硬盘驱动器上扫描是否以前已安装操作系统。 Windows 文件夹位置存储在此变量中。 -combobox9text、-combobox10text、-combobox11text 在已有操作系统环境下会返回相关信息,如无信息则使用默认值 **计算机名称 根据主板信息判断输出前缀信息** #宏碁主板 -BranAcer = "Acer" #宏碁主板 前缀命名 -PrefixAcer = "AR-" #苹果主板 -BranApple = "Apple" #苹果主板 前缀命名 -PrefixApple = "AL-" #清华同方主板 -BranTHTF = "THTF" #清华同方主板 前缀命名 -PrefixTHTF = "TF-" #七彩虹主板 -Brancolorful = "colorful" #七彩虹主板 前缀命名 -Prefixcolorful = "CL-" #华硕主板-BranASUS = "ASUS" #华硕主板 前缀命名 -PrefixASUS = "AS-" #戴尔主板 -BranDELL = "DELL" #戴尔主板 前缀命名 -PrefixDELL = "DL-" #华为主板 -BranHUAWEI = "HUAWEI" #华为主板 前缀命名 -PrefixHUAWEI = "HW-" #联想主板 -BrandLenovo = "Lenovo" #联想主板 前缀命名 -PrefixLenovo = "LV-" #Viglen主板 -BrandViglen = "Viglen" #Viglen 前缀命名 -PrefixViglen = "VL-" #HP主板 -BrandHP = "HP" #HP主板 前缀命名 -PrefixHP = "HP-" #HP主板 -BrandHewlettPackard = "Hewlett-Packard" #HP主板 前缀命名 -PrefixHewlettPackard = "HP-" #超微主板 -BrandSupermicro = "Supermicro" #超微主板 前缀命名 -PrefixSupermicro = "SM-" #技嘉主板 -BrandGigabyte = "Gigabyte" #技嘉主板 前缀命名 -PrefixGigabyte = "GB-" #ESXI虚拟机 -Brandvmware = "vmware" #ESXI虚拟机 前缀命名 -Prefixesxi = "VM-" #Hyper-V虚拟机 -BrandHyperv= "Microsoft Corporation", #Hyper-V虚拟机 前缀命 -PrefixHyperv = "HY-" #未识别到主板制造商信息默认输出 前缀命名 -Prefixdefault = "LB-" #获取主板序列号规则要符合包含字母和数字并且小于12位数 (默认值12位数) #查看主板品牌、序列号PowerShell命令:gwmi win32_baseboard gwmi win32_bios gwmi win32_computersystem #先从 Win32_baseboard 取序列号、不符合则在Win32_BIOS 取序列号,两者都不符合则取当前年 、月、 日、 秒、毫秒 示例 :修改默认前缀、hyper-v虚拟机前缀 ```html/xml SCCMOEMOSDisk_x64.exe -Prefixdefault “ts-” -PrefixHyperv “cs-”

用于判断主板序列号小于等于 12位、大于等于13位(默认参数)-Digital = "12",用于截取主板序列号后12位-lengthDigital = 12这两个参数只对符合序列号规则有效,若规则返回是时间命名则无效。

示例:想增加计算机默认前缀5位数输入,设定小于等于10位序列号取值,大于等于11位则截取后10位```html/xmlSCCMOEMOSDisk_x64.exe -Prefixdefault “Demo-” -Digital “10” -lengthDigital “10”

=============================================================================================== 默认根据设定规则有存在操作系统就只安装系统不格式化硬盘或全新安装系统到固态硬盘并格式化硬盘,根据时间到了自动确定,默认计时变量 $OEMTimeout=30 多个外部参数示例: 默认信息 win11 专业版 2021 ,添加下拉选择信息,取序列号后10位 ```html/xml SCCMOEMOSDisk_x64.exe -combobox9text “Win11” -combobox10text “专业版” -combobox11text “2021” -combobox9itemsadd “Win11,Win12” -combobox10itemsadd “专业版,企业版” -combobox11itemsadd “2021,2022” -Digital “10” -lengthDigital “10” -Prefixdefault “ts-” -PrefixHyperv “cs-”

```html/xml#输出此程序运行完成标志 $TSEnv.Value("luobots_OEMOSDDisk") = true

#选择系统盘符变量 $TSEnv.Value(“OSDdisk”) 示例变量值: C:

#选择操作系统变量 $TSEnv.Value(“luobots_OSDOS”) 示例变量值: Windows10x64

#选择操作系统镜像版本类型 $TSEnv.Value('luobots_OSDImageIndex') 示例变量值: 2 - Enterprise

#选择操作系统版本 $TSEnv.Value(“luobots_OSDOSversion”) 示例变量值: 2004

#选择操作系统组合变量 $TSEnv.Value(“luobots_oswim”) 示例变量值: Windows10x64 2 - Enterprise 2004

#扫描操作系统输出标志 $TSEnv.Value("OSDWINDOWS") = System disk not scanned、Scan to system disk

#引导硬盘启动属性标志 $TSEnv.Value("luobots_BootFromDisk") = true

#引导硬盘启动编号 $TSEnv.Value("luobots_BootFromDiskDiskNumber")示例变量值: 0

#指定分区物理磁盘编号,优先任务序列设定值 $TSEnv.Value("OSDDiskIndex") 示例变量值: 0

#格式化硬盘变量转存 $TSEnv.Value("OSDDiskIndexdisk")示例变量值: 0

#独立启动硬盘容量变量 $TSEnv.Value("diskformat_BootFromDiskdisk"):示例变量值 :120GB

#独立启动硬盘编号变量 $TSEnv.Value("luobots_BootFromDiskDiskNumber")示例变量值 :0

#独立OS硬盘标志变量 $TSEnv.Value("SystemDisk")示例变量值 :true

#独立OS硬盘编号变量 $TSEnv.Value("luobots_SystemDiskNumber")示例变量值 :0

#启动盘、OS硬盘同一个标志变量 $TSEnv.Value("luobots_Bootosdisk") = true

#启动盘、OS硬盘编号同一个变量 $TSEnv.Value("luobots_BootSystemDiskNumber"):示例变量值 :0

#独立OS硬盘容量,启动硬盘、OS硬盘容量变量 $TSEnv.Value("diskformat")示例变量值: 120GB

#AD用户变量用于自动登录或添加本地管理员组调用 $TSEnv.Value("luobots_ADUser")

#AD用户密码变量用于自动登录调用 $TSEnv.Value("luobots_ADUserPassWrod")

#AD组织单位变量 $TSEnv.Value("OSDDomainOUName")

#硬盘编号输出变量 $TSEnv.Value("luobots_DiskNumber0")...("luobots_DiskNumber8")示例变量值: 0

#硬盘容量变量 $TSEnv.Value("diskformat0")...("diskformat8")示例变量值: 120GB

```html/xml 操作系统返回版本信息对应参考条件 switch ($OEMEditionID) { { $_ -eq 'Ultimate' } { $combobox10.Text = '4 - Ultimate' } { $_ -eq 'Education' } { $combobox10.Text = '1 - Education' } { $_ -eq 'ServerStandard' } { $combobox10.Text = '2 - Server Standard' } { $_ -eq 'EnterpriseS' } { $combobox10.Text = '1 - EnterpriseS' } { $_ -eq 'Enterprise' } { $combobox10.Text = '2 - Enterprise' } { $_ -eq 'Professional' } { $combobox10.Text = '3 - Pro' } { $_ -eq 'ServerEnterprise' } { $combobox10.Text = '3 - Server Enterprise' } { $_ -eq 'ProfessionalEducation' } { $combobox10.Text = '4 - Pro Education' } { $_ -eq 'ServerDatacenter' } { $combobox10.Text = '4 - Server Datacenter' } { $_ -eq 'ProfessionalWorkstation' } { $combobox10.Text = '5 - Pro For Workstations' } { $_ -eq 'ServerWEB' } { $combobox10.Text = '7 - Server WEB' } default{ $combobox10.Text = $combobox10text } #default{ $combobox10.Text = $combobox10text; $combobox11.text = "$combobox11text" } }

```html/xml

diskformat_BootFromDiskdisk、diskformat...diskformat8 硬盘容量大小变量参考if ($PhysicalDiskdir -ge 35GB -and $PhysicalDiskdir -le 45GB){

Write-Host "小于等于45GB"

$diskformat = '45GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } elseif ($PhysicalDiskdir -ge 55GB -and $PhysicalDiskdir -le 80GB) { #Write-Host "小于等于80GB" $diskformat = '80GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } elseif ($PhysicalDiskdir -ge 100GB -and $PhysicalDiskdir -le 128GB) { #Write-Host "小于等于128GB" $diskformat = '128GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } elseif ($PhysicalDiskdir -ge 145GB -and $PhysicalDiskdir -le 160GB) { #Write-Host "小于等于160GB" $diskformat = '160GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } elseif ($PhysicalDiskdir -ge 200GB -and $PhysicalDiskdir -le 256GB) { # Write-Host "小于等于256GB" $diskformat = '256GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } elseif ($PhysicalDiskdir -ge 290GB -and $PhysicalDiskdir -le 320GB) { # Write-Host "小于等于320GB" $diskformat = '320GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } elseif ($PhysicalDiskdir -ge 460GB -and $PhysicalDiskdir -le 500GB) { #Write-Host "小于等于500GB" $diskformat = '500GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } elseif ($PhysicalDiskdir -ge 900GB -and $PhysicalDiskdir -le 1000GB) { #Write-Host "小于等于1000GB" $diskformat = '1000GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } elseif ($PhysicalDiskdir -ge 1600GB -and $PhysicalDiskdir -le 2000GB) { #Write-Host "小于等于2000GB" $diskformat = '2000GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } elseif ($PhysicalDiskdir -ge 2400GB -and $PhysicalDiskdir -le 3000GB) { #Write-Host "小于等于3000GB" $diskformat = '3000GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } elseif ($PhysicalDiskdir -ge 3400GB -and $PhysicalDiskdir -le 4000GB) { #Write-Host "小于等于4000GB" $diskformat = '4000GB' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat } else { # write-host '未匹配到磁盘大小' $diskformat = 'false' (New-Object -COMObject Microsoft.SMS.TSEnvironment).Value('diskformat') = $diskformat }

[SCCM2013系列, OSD任务序列部署操作系统,SCCMOEMOSDisk辅助工具课件-](https://edu./sd/1fa98) ---- **2021.11.10.01版本更新说明** 1、修复计算机环境只有一个机械硬盘并且是sata协议,OS Drive选项没有显示默认值。 2、修复计算机名称取主板序列号,如果序列号取值参数小于实际序列号位数则不进行截取序列号位数, 例如-Digital "12" -lengthDigital "12" 主板序列号位数 要大于lengthDigital值同时也要大于等于Digital值才会符合截取条件, 避免序列号位数不足截取成NULL值了只剩一个前缀名称了。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python代码中添加注释(python代码如何注释)
下一篇:用IDM下载的MP4不能播放解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~