MDT 的 Bootstrap.ini 中设置随机计算机名称,你可以使用预定义的 Task Sequence 变量和自定义脚本来实现。以下是一个示例:

MDT(Microsoft Deployment Toolkit)中的 Bootstrap.ini 文件在 Windows Server 环境中的发展时间线,通常是随着 MDT 版本的更新而变化的。Bootstrap.ini 是部署过程中一个重要的配置文件,它为 MDT 部署过程提供了必要的环境信息和配置。这个文件主要用于在启动时配置并连接到 MDT 部署共享,启动部署过程。

以下是关于 Bootstrap.ini 文件在 Windows Server 环境中发展的一些重要时间节点:

1. MDT 2008(最初发布)

  • Bootstrap.ini 的首次引入: 在 MDT 2008 中,Bootstrap.ini 是用于配置 MDT 部署过程中的重要文件之一。它帮助配置目标计算机通过 Windows PE 环境连接到 MDT 部署共享,并选择合适的任务序列。
  • Bootstrap.ini 主要功能
    • 配置与 MDT 部署共享的连接信息。
    • 包含基本的网络配置,例如 Deployroot(部署共享的路径)和 UserDomain(域名)等信息。

Bootstrap.ini 示例

iniCopy Code
[Settings]
Priority=Default
[Default]
DeployRoot=\\server\deploymentshare$
UserDomain=yourdomain
UserID=administrator
UserPassword=password

2. MDT 2010 / MDT 2012

  • 功能扩展: 随着 MDT 2010 和 2012 的发布,Bootstrap.ini 也经历了几个重要的变化。新增了对更复杂网络设置和验证的支持。尤其是在 MDT 2012 中,引入了对不同任务序列的支持以及增强的用户身份验证机制。
  • 增强的自定义设置
    • 支持通过 CustomSettings.ini 配置与 Bootstrap.ini 配合使用,进行更高级的自定义和部署。
    • 对多语言支持的增强,使得部署过程可以支持多种语言的选择。

MDT 2012 示例

iniCopy Code
[Settings]
Priority=Default
[Default]
DeployRoot=\\server\deploymentshare$
UserDomain=yourdomain
UserID=administrator
UserPassword=password
SMBIOSGuid=%COMPUTERNAME%

3. MDT 2013

  • 更高的集成度: MDT 2013 引入了一些新的特性,例如与 Windows 8.1 和 Windows Server 2012 R2 的更好兼容性。Bootstrap.ini 文件继续用来帮助目标计算机通过 Windows PE 引导进入 MDT 部署环境,但在任务序列的配置上变得更加灵活。
  • 加入验证和加密功能: 在新的版本中,可以更加细粒度地控制用户身份验证,并且支持通过更安全的方式存储凭据。

MDT 2013 示例

iniCopy Code
[Settings]
Priority=Default
[Default]
DeployRoot=\\server\deploymentshare$
UserDomain=yourdomain
UserID=administrator
UserPassword=password

4. MDT 2016

  • 增强的支持与修复: MDT 2016 继续强化了对 Windows 10 和 Windows Server 2016 的支持,同时改进了任务序列的流程和对 UEFI 引导的支持。
  • 更细化的网络与用户身份验证配置: 新的 Bootstrap.ini 文件提供了更多的网络和身份验证选项,支持跨域部署和更灵活的部署方式。

MDT 2016 示例

iniCopy Code
[Settings]
Priority=Default
[Default]
DeployRoot=\\server\deploymentshare$
UserDomain=yourdomain
UserID=administrator
UserPassword=password

5. MDT 2019 / MDT 2021

  • 对新操作系统的支持: MDT 2019 和 MDT 2021 加强了对 Windows 10 版本 1809 及更高版本以及 Windows Server 2019 及更高版本的支持。Bootstrap.ini 在这些版本中继续维持其作为部署过程中配置文件的角色,适配新的操作系统特性。
  • 更为灵活的部署选项: 增强了对于不同硬件平台(如 UEFI 和 GPT 的支持),并改善了任务序列配置的灵活性。

MDT 2021 示例

iniCopy Code
[Settings]
Priority=Default
[Default]
DeployRoot=\\server\deploymentshare$
UserDomain=yourdomain
UserID=administrator
UserPassword=password

6. 现代部署(Windows 10 / 11 和 Windows Server 2022)

  • 在 MDT 2021 版本之后,微软开始关注如何与 Windows Autopilot 和 Windows 365 等新一代部署技术结合,这使得传统的基于 MDT 的部署和 Bootstrap.ini 配置逐步过渡到更现代的方式。
  • 仍然存在支持: 尽管有新的部署技术,Bootstrap.ini 文件仍然是一些传统部署方法的重要组成部分,特别是在企业环境中大规模操作系统部署中。

Bootstrap.ini 文件的发展过程紧密伴随 MDT 的发展。随着每个版本的更新,MDT 加强了对新操作系统版本和硬件平台的支持,并增强了任务序列的灵活性和功能。同时,Bootstrap.ini 作为配置部署过程中网络和身份验证等关键功能的文件,在每个版本中都得到了改进和扩展。尽管有新的技术出现,Bootstrap.ini 仍然是许多企业中基于 MDT 的传统部署中不可或缺的部分。


MDT(Microsoft Deployment Toolkit)的 Bootstrap.ini 文件在部署过程中起着至关重要的作用。它提供了与 MDT 部署共享的初始连接信息,并控制了任务序列的执行路径。以下是 Bootstrap.ini 文件的完整逻辑链及其作用详解。

1. 启动阶段:Windows PE 引导

  • 在计算机启动时,Bootstrap.ini 被加载到 Windows PE 环境中。这个文件在引导过程中包含了最初的配置参数,它指导 Windows PE 环境连接到 MDT 部署共享,并进行任务序列的启动。

工作原理

  • 当计算机通过网络启动(PXE)并加载 Windows PE 时,Bootstrap.ini 被加载到内存中。
  • 文件中的配置信息提供了目标计算机访问 MDT 部署共享的位置,允许计算机开始下载部署所需的资源和配置。

2. Bootstrap.ini 文件内容结构

Bootstrap.ini 文件的内容包括两个主要部分:

  • [Settings]: 定义文件的优先级(Priority)等参数,用于指定在部署过程中使用的默认设置。
  • [Default]: 包含与 MDT 部署共享的连接信息,包括共享路径、用户身份验证等信息。

示例

iniCopy Code
[Settings]
Priority=Default

[Default]
DeployRoot=\\server\deploymentshare$
UserDomain=yourdomain
UserID=administrator
UserPassword=password

3. Priority 和任务序列选择

  • Priority:指向一个任务优先级列表,任务优先级列表定义了 MDT 启动时会尝试加载哪些设置文件。可以通过设置不同的优先级来根据需要加载不同的配置文件。

  • Default 部分:根据文件中的设置,Bootstrap.ini 确定了如何连接到部署共享,并且通过 DeployRoot 字段,确定了目标计算机从哪里下载和运行任务序列。

部署根目录(DeployRoot)

  • DeployRoot 是部署共享的位置,格式为 \\<Server>\<DeploymentShare>, 例如 \\server\deploymentshare$
  • 当 Windows PE 环境加载后,Bootstrap.ini 中的 DeployRoot 告诉 PE 系统在哪里寻找 MDT 部署共享,这对于后续任务序列的执行至关重要。

4. 身份验证和网络配置

  • UserDomain, UserID, UserPassword:这三个字段用于提供必要的凭据,使得目标计算机能够访问 MDT 部署共享。这些凭据通常用于执行部署时所需的身份验证。
  • SMB(Server Message Block)协议:通过 SMB 协议,Bootstrap.ini 提供了连接 MDT 共享的凭据,从而使得部署进程可以在 Windows PE 中下载所需的任务序列和资源。

补充说明

  • 用户身份验证非常重要,尤其在使用域控时,确保提供正确的凭据(例如,域用户名和密码),才能成功连接到部署共享。

5. 使用 CustomSettings.ini 进一步配置

  • 虽然 Bootstrap.ini 提供了初始的部署共享配置,但更多的部署细节和自定义设置通常在 CustomSettings.ini 文件中进行。CustomSettings.ini 允许根据计算机的硬件、操作系统版本等进行不同的部署配置。

  • CustomSettings.ini 可以定义更为细粒度的设置,例如选择要安装的操作系统、设置计算机名、配置网络等。

6. 任务序列执行

  • 一旦 Bootstrap.ini 文件成功加载并与 MDT 部署共享连接,目标计算机将能够访问 任务序列。任务序列是在 MDT 中定义的自动化步骤,包括操作系统安装、驱动程序安装、应用程序安装等。

  • MDT 会根据任务序列进行自动化的配置。任务序列通常根据操作系统、计算机类型、硬件配置等进行不同的分支和配置。此时,部署共享中的任务序列将被下载并执行。

7. 错误处理与日志记录

  • 如果 Bootstrap.ini 配置有误(例如,无法连接到部署共享),MDT 会生成日志,并提供详细的错误信息。这些日志信息可以在 X:\Windows\Temp\DeploymentLogs 目录下找到,方便系统管理员诊断问题。

  • MDT 也会记录从 Bootstrap.iniCustomSettings.ini 文件加载的配置,以及任务序列执行过程中的详细日志。

8. MDT 过程中的变更与优化

  • 随着 MDT 版本的更新,Bootstrap.ini 文件的功能和配置选项不断扩展。新版本增加了对不同硬件平台(例如 UEFI)、网络配置、跨域部署等更多高级功能的支持。

  • 在新版本的 MDT 中,Bootstrap.ini 文件的配置结构通常保持一致,但可以通过新的参数或增强的功能来进行更细粒度的控制和自定义。

9. 简化与自动化部署

  • Bootstrap.ini 是 MDT 自动化部署的关键组成部分,通过它可以大大简化操作系统和应用程序的部署流程。它为管理员提供了一个标准化的方式来配置不同的计算机和部署环境。

 完整的逻辑链

  • 启动阶段:计算机通过 PXE 启动 Windows PE,加载 Bootstrap.ini 文件。
  • 配置阶段:Bootstrap.ini 文件提供必要的连接信息(部署共享路径、用户身份验证等),确保 Windows PE 能成功访问 MDT 部署共享。
  • 任务序列下载与执行:成功连接到部署共享后,目标计算机会下载任务序列并执行操作系统安装和其他配置任务。
  • 后续自定义设置:通过 CustomSettings.ini 进行更细粒度的自定义,确保部署符合组织的需求。
  • 日志与错误处理:部署过程中,MDT 会记录日志文件,帮助诊断任何潜在的问题。

通过这些步骤,Bootstrap.ini 和 MDT 的其他配置文件共同确保了部署过程的顺利进行。它是 MDT 部署流程的启动和基础配置文件,确保目标计算机能够通过网络连接、下载任务序列并开始部署过程。

MDT 的 Bootstrap.ini 中设置随机计算机名称,你可以使用预定义的 Task Sequence 变量和自定义脚本来实现。以下是一个示例:

  1. 创建 PowerShell 脚本

    powershellCopy Code
    function Generate-RandomComputerName {
        $prefix = "PC"  # 可以是你希望的计算机名称前缀
        $randomPart = -join ((65..90) + (97..122) | Get-Random -Count 6 | % {[char]$_})
        return "$prefix-$randomPart"
    }
    
    $randomComputerName = Generate-RandomComputerName
    $randomComputerName | Out-File "C:\RandomComputerName.txt" -Encoding ASCII

    将上述 PowerShell 脚本保存为 GenerateRandomComputerName.ps1 文件。

  2. 将脚本添加到 Bootstrap.ini

    在 Bootstrap.ini 文件中添加以下行:

    iniCopy Code
    [Settings]
    Priority=Default
    
    [Default]
    SkipBDDWelcome=YES
    DeployRoot=\\Server\Share
    UserID=Administrator
    UserDomain=Domain
    UserPassword=P@ssw0rd
    RandomComputerNameScript=\\Server\Share\Scripts\GenerateRandomComputerName.ps1

    在上述配置中,RandomComputerNameScript 指定了随机计算机名称生成脚本的路径。

  3. 编辑 CustomSettings.ini

    在 CustomSettings.ini 文件中,添加以下行:

    iniCopy Code
    [Settings]
    Priority=Default
    
    [Default]
    OSInstall=Y
    SkipComputerName=YES
    ComputerName=#Read the random computer name from the text file
  4. 部署过程中的应用

    在 Task Sequence 的适当位置,添加一个 "Run PowerShell Script" 步骤,以运行脚本文件并获取随机计算机名称。

通过这种方法,MDT 在引导过程中将运行 PowerShell 脚本来生成随机计算机名称,并将其存储到文件中。然后,在部署过程中,MDT 将从文件中读取计算机名称并将其应用于部署的计算机。

 
 
posted @ 2024-05-11 17:29  suv789  阅读(332)  评论(0)    收藏  举报