在使用SCCM部署计算机的过程当中,大部分的状况下都不须要人员干预的,可是一般部署完成的计算机都是随机以MINI-开头的计算机名,会对加域形成不变
此时,咱们能够经过在任务序列中添加PS1脚本,完成计算机的命名
此示例中根据主板型号(OptiPlex 7040和Latitude 3046 )重命名为D7040-2JDW0018或D3046-2Y7R4U2I,具体状况可根据本身想要的结果进行组合shell
$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"
}markdown
}
将以上内容保存为ps1文件,并放入Scripts文件夹进行共享
在脚本编写完毕以后,打开SCCM控制台,进行添加
程序类型选择不建立程序
添加完成后将该包分发到分发点,并勾选复制到分发点
如今,便可在序列中添加该脚本,在设置任务序列变量后添加一条以下步骤
powershell.exe -noprofile -command "Set-ExecutionPolicy Bypass LocalMachine" -force
以容许运行脚本
而后继续添加一条步骤:powershell.exe -noprofile -file OSDComputerName.ps1
这里要注意包的名称和脚本的名称需与您定义的一致
最终部署完的计算机会根据厂商的首字母+型号+"-"+SN号进行计算机命名ide