天道酬勤,学无止境

MDT2012

修改MDT VBS脚本, 解决OSD识别Surface Pro 7+ 硬件类别出错

微软的MDT提供一个ZtiGather.wsf的tool来识别客户端的系统类别。对应不同的系统类型,会生成对应的OSD系统变量,如服务器(IsServer),台式机(IsDesktop),笔记本(IsLaptop)。这个变量对于我们部署app来说是很方便的,可以在一个task sequence里安装各个硬件类型的app,而不用为每个硬件类型都创建1个task sequence,简化工作量,也简化了维护的复杂度。比如,我们可以设置Laptop类型的机器安装***软件,而服务器和台式机类型不用安装,就可以设置***安装的条件为IsLaptop = True.这个功能的实现是根据读取WMI的ChassiType来实现的, 具体的配置和值如下。Other (1)Unknown (2)Desktop (3)Low Profile Desktop (4)Pizza Box (5)Mini Tower (6)Tower (7)Portable (8)Laptop (9)Notebook (10)Hand Held (11)Docking Station (12)All in One (13)Sub Notebook (14)Space-Saving (15)Lunch Box (16)Main System Chassis (17)Expansion Chassis (18)SubChassis

2021-05-18 21:40:21    分类:博客    OSD   MDT   Surface Pro   MDT2012

OSD部署WindowsUWP安装包 - Intel Graphics Command Center

最近几年,大约从Windows 10 - 1809开始,各大硬件PC厂商,应微软的要求,开始将驱动的管理软件和驱动本身分开。这样做的好处是,避免出现管理软件上的冗余,比如以前的Intel WiFI驱动会绑定安装Intel的WiFI管理套件,导致Windows自带的WiFi管理程序不work,从而无法使用GPO来做一些控制。但是微软给出的解决方案是将厂商的驱动管理软件放到微软在线商店去安装。一方面,很多企业已经通过GPO禁用了微软在线商店,用户无法方便的自行安装,即使没有禁用,国内网络环境访问微软商店也不是很稳定。另一方面是,即便用户可以通过商店来安装,最佳的解决方案仍然是在image过程中默认安装这些管理套件,提供给用户最佳的体验。这些UWP软件不是标准的Win32 app,安装过程和为Win32 app有明显的不同。我们现在来说说怎么实现这个过程。获取UWP安装包获取UWP包的途径大致有2种,1是找OEM厂商获取,2是访问business store,购买license,这样就可以在SCCM里创建这个app,也可以获取到安装包文件。这里我采用方法2.Image过程中集成UWP包Task Sequence中添加执行命令如下dism /Image:c:\ /add-provisionedappxpackage /packagepath:c:\temp\AppUp

2021-04-16 15:14:18    分类:博客    uwp   appx   Windows 10   MDT2012

OSD部署WindowsUWP安装包 - Intel Graphics Command Center

最近几年,大约从Windows 10 - 1809开始,各大硬件PC厂商,应微软的要求,开始将驱动的管理软件和驱动本身分开。这样做的好处是,避免出现管理软件上的冗余,比如以前的Intel WiFI驱动会绑定安装Intel的WiFI管理套件,导致Windows自带的WiFi管理程序不work,从而无法使用GPO来做一些控制。但是微软给出的解决方案是将厂商的驱动管理软件放到微软在线商店去安装。一方面,很多企业已经通过GPO禁用了微软在线商店,用户无法方便的自行安装,即使没有禁用,国内网络环境访问微软商店也不是很稳定。另一方面是,即便用户可以通过商店来安装,最佳的解决方案仍然是在image过程中默认安装这些管理套件,提供给用户最佳的体验。这些UWP软件不是标准的Win32 app,安装过程和为Win32 app有明显的不同。我们现在来说说怎么实现这个过程。获取UWP安装包获取UWP包的途径大致有2种,1是找OEM厂商获取,2是访问business store,购买license,这样就可以在SCCM里创建这个app,也可以获取到安装包文件。这里我采用方法2.Image过程中集成UWP包Task Sequence中添加执行命令如下dism /Image:c:\ /add-provisionedappxpackage /packagepath:c:\temp\AppUp

2021-04-16 15:14:14    分类:博客    uwp   appx   Windows 10   MDT2012

利用SCCM完成Windows 10 1909 In-Place Upgrade

Windows 10 1809的support截至日期在2021年5月11号,没有了support之后,微软将停止提供每个月的Windows Update,将产生安全问题。 对于企业客户来说要及早进行并完成相关的GPO及APP测试,并在此之前推送Windows Upgrade到1909版本以上。相关的lifecycle信息来自微软。 https://docs.microsoft.com/en-us/lifecycle/products/windows-10-enterprise-and-education 手动升级Windows 10将会给运维带来极大挑战和人力成本,利用客户端管理软件是最好的选择,可以利用SCCM创建application来做升级,以下分享一下大致的方案。 创建1909 升级Application detection rule 可以用powershell脚本通过wmi来检测系统版本利用win32_computeropratingsystem 具体的升级兼容性检测以及升级处理部分获取1909的原版安装ISO文件,解压得到安装文件如下。 setup是执行升级文件,对于这个执行文件的参数可以从微软官网获取。https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup

2021-03-27 01:21:28    分类:博客    powershell   setup   in-place upgrade   MDT2012

OSD 自动升级Dell BIOS 版本

1. 创建文件目录Latitude, 并为各个Laititude型号创建子目录,包存BIOS文件到各个子目录12. Latitude目录下创建额外3个文件BIOS.txt - bios admin password,如果没有密码设置可以将内容留空Flash64W.exe - Dell提供的WinPE下刷新BIOS应用DellBiosUpgradePackage-2.0.ps1 - WinPE下刷新BIOS的Pws脚本,内容如下$tsenv = New-Object -COMObject Microsoft.SMS.TSEnvironment -ErrorAction SilentlyContinue $tsenv.Value("SMSTS_BiosUpdate") = "True" #Create Log Path $LogPath = $tsenv.Value("_SMSTSLogPath") #Get Bios Password from File $BiosPassword = Get-Content .\Bios.txt #Create Model Variable $ComputerModel = Get-WmiObject -Class Win32_computersystem | Select-Object -ExpandProperty Model if (test

2021-03-27 01:20:39    分类:博客    OSD   automation   dell   MDT2012

Windows 10 OSD image 过程中 enroll machine cert

因为covid19, 目前大部分用户都是在家办公,对的依赖程度不言而喻,而一旦出现问题,做远程troubleshooting就比较麻烦。 最近偶然发现了几个case,最新image的2-3台机器无法连接,原因是没有检测到machine cert,过不了的host check。 但机器是新做的image,windows 10 部署完成后应该会自动刷新GPO,出发machine cert auto enroll的policy从而可以从internal CA获取到machine cert。 分析下来可能是image刚刚做好就断网关机,没有来得及更新GPO导致的。 经过一番research,发现除了刷新GPO意外,还可以利用windows远程的CertReq来或者machine cert 添加一步在TaskSequence技术之前执行PowerShell脚本如下 $cert = gci Cert:\LocalMachine\My\ | ? subject -match $env:computername | ? subject -match "contoso.com" | select Thumbprint, Subject, NotAfter, NotBefore, Issuer | sort-object NotBefore -Descending | select -First 1

2021-03-27 01:13:23    分类:博客    SCCM   OSD   证书   MDT2012