none
关于SCCM部署计算机时候自动计算机命名问题 RRS feed

  • 问题

  • 关于SCCM部署计算机时候自动计算机命名问题

    我有个powershell脚本是用来自动部署OS时给计算机自动命名规则的,
    但是在已知计算机部署时,根据任务变量或如何满足已知计算机的名字跳过这个不
    脚本执行。的名字为win7x64-test101

    关于SCCM部署计算机时的自动计算机命名

    我有一个Powershell脚本,

    $Header = "cs"
    $time = get-date -format "yyMMddHHMMss" 
    $OSDComputerName = $Header+$time
    $TSEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment 
    $TSEnv.Value("OSDComputerName") = "$OSDComputerName"

    用于在部署OS时自动命名计算机。
    但是,在部署已知计算机时,根据任务变量或如何满足已知计算机的名称,将跳过该脚本并不执行此脚本。

    例如,已知的计算机名称是win7x64-test101,怎么写条件 当计算机是已知计算机名字条件时候,就不运行该脚本。




    2019年12月25日 12:42

答案

  • 不好意思,经过我们测试通配符要用*,下面是测试结果:


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • 已标记为答案 萝卜の 2020年1月1日 15:16
    2019年12月31日 2:23
    版主

全部回复

  • 你好 萝卜,

    可以用这个变量_SMSTSMachineName

    在PE默认的名字是MININT-xxx 或者 MINWINPC可以用like条件匹配一下,只有是这种默认命名规则的就执行脚本。

    如果你想通过上面的红线里的state判断,要通过写脚本正则表达式截取出来做匹配。




    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2019年12月26日 2:45
    版主
  • _SMSTSMachineName在sccm部署OS中是一直存在得,这样估计是行不通,那么在已知的计算机中,应该是读取sccm服务器信息的已知计算机信息并保存到unattend.xml文件中。

    这个脚本改名也是写入unattend.xml应答文件中,

    可否通过wmi任务序列查询 计算机的mac地址呢,通过把自己的mac地址和sccm数据库信息的mac地址和计算机名 进行匹配,如果有匹配mac地址就条件不成立不执行改名脚本。

    不知道wmi查询sccm数据库mac和计算名并进行匹配mac 又要怎么写命令呢?

    2019年12月26日 6:03
  •  我继续解释一下上面的回复,通过下面的PS命令,可以查看变量的内容,你可以试试。

     
    During the step "Appling OS",  %OSDComputerName% is written to unattend.xml file.
     

     

     
    如果我们不设置 %OSDComputerName%, %_SMSTSMachineName% 会被设置到 unattend.xml 里.

    >>wmi查询sccm数据库mac和计算名并进行匹配mac 又要怎么写命令呢?

    不推荐用这种方法,需要远程查询,比较麻烦。。

    wmi查询sccm数据库mac,方法如下:

    SELECT * FROM SMS_CombinedDeviceResources


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2019年12月26日 7:12
    版主
  • 感谢您耐心的指导,非常感谢。 我是否操作有误,怎么查是空的值呢?另外linke要怎么匹配

    • 已编辑 萝卜の 2019年12月26日 15:35
    2019年12月26日 15:33
  • PS里面的变量拼写错误%_SMSTSMachineName%

    用通配符 %MININT-%


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2019年12月27日 2:16
    版主
  • 是否这样填写条件呢?

    在脚本任务序列步骤 选项加了条件:_SMSTSMachineName like %MININT-%

    这样的话未知计算机也判断为不运行脚本了,在PS还是缺少一项计算机名,咋回事?

    smsts日志文件  提取码:jeme


    • 已编辑 萝卜の 2019年12月27日 12:53
    2019年12月27日 12:52
  • 不好意思,经过我们测试通配符要用*,下面是测试结果:


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • 已标记为答案 萝卜の 2020年1月1日 15:16
    2019年12月31日 2:23
    版主
  • 非常感谢您的帮助。
    2020年1月1日 15:17