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

网站UI设计

_OSDDetectedWinDir 在 Windows PE 启动时,任务序列会在计算机的硬盘驱动器上扫描是否以前已安装操作系统。 Windows 文件夹位置存储在此变量中。 你可以将任务序列配置为从环境中检索该值,并将其用于指定相同的 Windows 文件夹位置进行新的操作系统安装 SCCMOEMOSDisk工具主要用于辅助SCCM OSD 任务序列进行选择安装操作系统类型,有存在_OSDDetectedWinDir变量操作系统则返回对应信息列表, 注意 SCCM WinPE64位环境,_OSDDetectedWinDir变量是操作系统32位则用默认操作系统信息列表,应用操作系统步骤不支持在WinPE64环境中去安装32位系统,不过SCCM WinPE32位环境是支持应用操作系统步骤32位和64位系统安装。 选择操作系统分区,有存在_OSDDetectedWinDir变量操作系统则返回对应系统分区盘符 默认计算机名称_SMSTSMachineName变量包含 'MININT-' 关键词则执行命名规则,不符合则不修改。 鼠标点击 WinPE/Full OS ComputerName 更新计算机命名规则,双击则取默认_SMSTSMachineName 计算机名称 默认计时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用户用于计算机自动登录设置,或加入本地管理组变量 PassWrod AD用户密码用于计算机自动登录设置 sccmoemosdisk日志记录参考 外部参数引入 默认值 下拉表框参数追加 -combobox9text “Windows10x64” -combobox9itemsadd “Win11,Win12” -combobox10text “2 - Enterprise” -combobox10itemsadd “专业版,企业版” -combobox11text “2004” -combobox11itemsadd “2022,2022” 示例 示例 默认显示OS信息以及自定义添加变量值 SCCMOEMOSDisk_x64.exe -combobox9text “Win11” -combobox10text “专业版” -combobox11text “2022” -combobox9itemsadd “Win11,Win12” -combobox10itemsadd “专业版,企业版” -combobox11itemsadd “2022,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虚拟机前缀 SCCMOEMOSDisk_x64.exe -Prefixdefault “ts-” -PrefixHyperv “cs-” 用于判断主板序列号小于等于 12位、大于等于13位(默认参数) -Digital = "12", 用于截取主板序列号后12位 -lengthDigital = 12 这两个参数只对符合序列号规则有效,若规则返回是时间命名则无效。 示例:想增加计算机默认前缀5位数输入,设定小于等于10位序列号取值,大于等于11位则截取后10位 SCCMOEMOSDisk_x64.exe -Prefixdefault “Demo-” -Digital “10” -lengthDigital “10” =============================================================================================== 默认自动计时变量 $OEMTimeout=30 多个外部参数示例: 默认信息 win11 专业版 2022 ,添加下拉选择信息,取序列号后10位 SCCMOEMOSDisk_x64.exe -combobox9text “Win11” -combobox10text “专业版” -combobox11text “2022” -combobox9itemsadd “Win11,Win12” -combobox10itemsadd “专业版,企业版” -combobox11itemsadd “2022,2022” -Digital “10” -lengthDigital “10” -Prefixdefault “ts-” -PrefixHyperv “cs-” #输出此程序运行完成标志 $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 操作系统返回版本信息对应参考条件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" }}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}

标签: 网站UI设计