在使用SCCM部署计算机的过程中,大部分的情况下都不需要人员干预的,但是通常部署完成的计算机都是随机以MINI-开头的计算机名,会对加域造成不变
此时,我们可以通过在任务序列中添加PS1脚本,完成计算机的命名
此示例中根据主板型号(OptiPlex 7040和Latitude 3046 )重命名为D7040-2JDW0018或D3046-2Y7R4U2I,具体情况可根据自己想要的结果进行组合
$ComputerModel = (Get-WmiObject -Class Win32_ComputerSystem | Select-Object Model).Model
$SerialNumber = (Get-WmiObject -Class Win32_BIOS | Select-Object SerialNumber).SerialNumber
Switch -Wildcard ($ComputerModel)
{
"OptiPlex*"
{
$OSDComputerName = "D"+$ComputerModel.Replace("OptiPlex ","").Replace("OptiPlex","")+"-"+$SerialNumber
$TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment
$TSEnv.Value("OSDComputerName") = "$OSDComputerName"
}
"Latitude*"
{
$OSDComputerName = "D"+$ComputerModel.Replace("Latitude E","").Replace("LatitudeE","")+"-"+$SerialNumber
$TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment
$TSEnv.Value("OSDComputerName") = "$OSDComputerName"
}
}
将以上内容保存为ps1文件,并放入Scripts文件夹进行共享
![](https://s4.51cto.com/images/blog/201810/22/9968d87466b91055e01331302e1fb123.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
在脚本编写完毕之后,打开SCCM控制台,进行添加
![](https://s4.51cto.com/images/blog/201810/22/4827de0645d0db5e77036289bf7357c8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
程序类型选择不创建程序
![](https://s4.51cto.com/images/blog/201810/22/a7ca4d5d9ca84d280896aa38602f0a4b.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
添加完成后将该包分发到分发点,并勾选复制到分发点
![](https://s4.51cto.com/images/blog/201810/22/19614e866a1a26661036fd08b1e57720.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
现在,即可在序列中添加该脚本,在设置任务序列变量后添加一条如下步骤
powershell.exe -noprofile -command "Set-ExecutionPolicy Bypass LocalMachine" -force
以允许运行脚本
![](https://s4.51cto.com/images/blog/201810/22/fe6b72890d029071f6e4e06208ec0e14.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
然后继续添加一条步骤:powershell.exe -noprofile -file OSDComputerName.ps1
![](https://s4.51cto.com/images/blog/201810/22/eb4332c9b8f8b184c77cfbeff5ff3e2e.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
这里要注意包的名称和脚本的名称需与您定义的一致
**最终部署完的计算机会根据厂商的首字母+型号+"-"+SN号进行计算机命名**
![](https://s4.51cto.com/images/blog/201810/22/7022135b52f035addcffb6bb1272c236.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)