From a71b835f875bff00e6d13b73aecb9dbd63c1c68b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Sun, 4 Oct 2026 18:18:12 +0200 Subject: [PATCH 01/31] docs: document domain join configuration and deployment --- SUMMARY.md | 5 ++ foundry-deploy/README.md | 5 +- foundry-deploy/domain-join.md | 52 +++++++++++++++++ foundry-deploy/review-and-deploy.md | 5 ++ foundry-deploy/target.md | 2 + foundry-deploy/verify-deployment.md | 6 ++ foundry-osd/README.md | 2 +- foundry-osd/autopilot/README.md | 2 + foundry-osd/customization/machine-naming.md | 6 ++ .../customization/post-installation.md | 17 ++++-- foundry-osd/customization/unattend.md | 6 +- foundry-osd/deployment-profiles.md | 24 ++++++-- foundry-osd/domain-join/README.md | 52 +++++++++++++++++ foundry-osd/domain-join/interactive.md | 37 ++++++++++++ foundry-osd/domain-join/zero-touch.md | 40 +++++++++++++ foundry-osd/general.md | 3 + foundry-osd/media/README.md | 2 + foundry-osd/settings.md | 4 ++ reference/security-and-credentials.md | 14 +++++ reference/supported-versions.md | 10 ++++ start-here/deployment-workflow.md | 10 +++- start-here/quick-start.md | 5 +- troubleshooting/README.md | 3 + troubleshooting/deployment.md | 4 ++ troubleshooting/domain-join.md | 58 +++++++++++++++++++ troubleshooting/logs-and-support.md | 19 ++++++ 26 files changed, 376 insertions(+), 17 deletions(-) create mode 100644 foundry-deploy/domain-join.md create mode 100644 foundry-osd/domain-join/README.md create mode 100644 foundry-osd/domain-join/interactive.md create mode 100644 foundry-osd/domain-join/zero-touch.md create mode 100644 troubleshooting/domain-join.md diff --git a/SUMMARY.md b/SUMMARY.md index 50a8ab7..85778f2 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -17,6 +17,9 @@ * [JSON profile](foundry-osd/autopilot/json-profile.md) * [Zero-touch hardware hash upload](foundry-osd/autopilot/zero-touch-hardware-hash.md) * [Interactive hardware hash upload](foundry-osd/autopilot/interactive-hardware-hash.md) + * [Domain Join (unreleased)](foundry-osd/domain-join/README.md) + * [Interactive Domain Join](foundry-osd/domain-join/interactive.md) + * [Zero Touch Domain Join](foundry-osd/domain-join/zero-touch.md) * [Windows customization](foundry-osd/customization/README.md) * [Operating system](foundry-osd/customization/operating-system.md) * [Custom Windows images](foundry-osd/customization/custom-windows-images.md) @@ -40,12 +43,14 @@ * [Select the target](foundry-deploy/target.md) * [Select Windows](foundry-deploy/operating-system.md) * [Select a driver pack](foundry-deploy/driver-pack.md) + * [Domain Join (unreleased)](foundry-deploy/domain-join.md) * [Review and deploy](foundry-deploy/review-and-deploy.md) * [Verify deployment](foundry-deploy/verify-deployment.md) * [Troubleshooting](troubleshooting/README.md) * [Media creation](troubleshooting/media-creation.md) * [Network and Foundry Connect](troubleshooting/network.md) * [Windows deployment](troubleshooting/deployment.md) + * [Domain Join (unreleased)](troubleshooting/domain-join.md) * [Windows Autopilot](troubleshooting/autopilot.md) * [Logs and support information](troubleshooting/logs-and-support.md) * [Reference](reference/README.md) diff --git a/foundry-deploy/README.md b/foundry-deploy/README.md index caaff8a..9229df4 100644 --- a/foundry-deploy/README.md +++ b/foundry-deploy/README.md @@ -8,6 +8,7 @@ Foundry Deploy runs in Windows PE after network readiness. It guides a technicia - Confirm that required network services are reachable. - Disconnect storage devices that must not be selected accidentally. - Obtain the technician password when Protected deployment is enabled. +- For [Domain Join (unreleased)](domain-join.md), obtain interactive join credentials when needed and arrange installed-Windows domain-controller access. {% hint style="danger" %} Deployment erases and repartitions the selected target disk. Verify the target before starting. @@ -15,6 +16,8 @@ Deployment erases and repartitions the selected target disk. Verify the target b When Protected deployment is enabled, Foundry Deploy requests the technician password before initialization. Cancelling the prompt closes Foundry Deploy. Incorrect attempts can be retried, with a progressively longer delay of up to five seconds. If the password is lost, recreate the media in Foundry OSD. +Unreleased automatic Domain Join reuses this unlock session. Interactive joining introduces no media-password prerequisite. + {% hint style="info" %} Foundry Deploy validates HTTPS server certificates. When the catalog supplies a file hash, Deploy checks downloaded files and rechecks cached files before reuse. For cached Windows images and OEM driver packs, **Checking cache...** shows the verification percentage and bytes processed. Allow extra time when using large files or slower USB drives. A cached file that fails verification is downloaded again with its own download progress; a replacement that also fails verification stops the affected step. See [download troubleshooting](../troubleshooting/deployment.md#download-fails). {% endhint %} @@ -27,5 +30,5 @@ Keep deployment media under your control. Packages without a catalog hash retain 2. [Select Windows](operating-system.md). 3. [Select a driver pack](driver-pack.md). 4. Configure Windows Autopilot when JSON profile or zero-touch upload media requires a deployment-time choice. Interactive upload runs later during Windows OOBE and does not add this wizard step. -5. [Review and deploy](review-and-deploy.md). +5. [Review and deploy](review-and-deploy.md). Domain Join media collects [conditional launch input](domain-join.md#supply-interactive-input-or-select-a-destination) before disk-erasure confirmation; it does not add a standalone wizard page. 6. [Verify deployment](verify-deployment.md). diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md new file mode 100644 index 0000000..0e58a6e --- /dev/null +++ b/foundry-deploy/domain-join.md @@ -0,0 +1,52 @@ +# Domain Join during deployment + +{% hint style="warning" %} +**Unreleased draft** — These steps require Domain Join media and a compatible Foundry release. Native deployment acceptance remains pending. +{% endhint %} + +Use media configured for [Interactive](../foundry-osd/domain-join/interactive.md) or [Zero Touch](../foundry-osd/domain-join/zero-touch.md) Domain Join. Obtain the intended domain, destination and unique computer name from the administrator. Installed Windows needs domain DNS, controller access and the appropriate account permissions. + +## Review the target and Windows + +1. Confirm the [target disk and final computer name](target.md). Native naming uses Foundry's validated name. A custom answer file must contain exactly one valid concrete `ComputerName` in an applicable `Microsoft-Windows-Shell-Setup` `specialize` component, and no `Microsoft-Windows-UnattendedJoin` component. Missing, wildcard, invalid or multiple names cannot supply this identity. +2. Select the intended Windows image and edition. Known Home-family editions skip Domain Join with a warning while installation continues; unfamiliar or missing edition metadata is deferred to image/native inspection. +3. Review the wizard summary's authored domain and default destination. It precedes deployment-time input and does not reflect an OU chosen later in the launch dialog. +4. Start deployment to prepare domain input before **Confirm disk erase**. + +The dialog preparation does not contact AD. Valid syntax and successful unlock do not prove that the supplied account can join or place the computer. + +## Supply interactive input or select a destination + +For Interactive mode, **Domain join** asks for **Domain DNS name**, **Account (DOMAIN\user or user@domain)** and **Password**. A prefilled domain remains editable. + +For Zero Touch, use the existing Protected deployment unlock. The encrypted account/password are checked against their authored domain/account context. There is no new password prompt; the dialog appears only for enabled destination selection. + +| Destination policy | Technician action | +| --- | --- | +| Compatible catalog with selection enabled | Choose a listed **Organizational unit**. The authored default is preselected; **Continue** requires a selected row. | +| Compatible catalog with selection disabled | No destination editor. The configured default is fixed; without a default, use Windows' default destination. | +| Interactive without a compatible catalog | Enter **OU distinguished name (optional)** inside the submitted domain, or leave it empty. | +| Zero Touch without selection | No dialog; use the authored default or Windows' default destination. | + +Changing an interactive domain clears destination input and suppresses incompatible catalog choices. A compatible catalog does not allow arbitrary typed destinations. Select **Continue**, then review the actual domain and destination in **Confirm disk erase**. Account and password are not included in the summary or confirmation. **Cancel** leaves deployment unstarted. + +{% hint style="warning" %} +**Screenshot required** + +- **File:** `foundry-deploy-domain-join-01-interactive-destination.png` +- **Capture:** Show the Domain join dialog and optional no-catalog DN editor using sanitized demonstration data, with credential fields empty. +{% endhint %} + +## Follow staging and first boot + +Deploy stages the operation-owned credential payload and execution records. Its success page confirms preparation, not AD membership. Known edition or applied-image composition incompatibilities can skip domain work and preserve a warning in Deploy's summary/logs. Runtime, journal-integrity or protected-publication failures still follow their existing deployment policy. + +In installed Windows, PostInstall runs joining and placement after deferred drivers and networking, before the remaining built-ins and custom actions. When joining succeeds, it requests a controlled restart even if OU placement fails, then verifies the expected local name and domain without credentials. + +A selected destination is used for a new account. A safely identified reused account is moved within the same domain without deletion/recreation, preserving its GUID. If the worker cannot prove the object's identity or destination, it reports a separate placement warning rather than moving an unproven account. Without a destination, it does not relocate a reused account. + +## Confirm the result + +Check [deployment verification](verify-deployment.md#domain-join-unreleased) and [domain outcome evidence](../troubleshooting/logs-and-support.md#domain-join-evidence-unreleased). Joining, OU placement/directory readback, local membership, restart and credential cleanup have independent outcomes. + +Join or placement failure, controlled interruption and domain-only cleanup failure warn and continue. **Unknown** means mutation may have occurred; Foundry does not automatically repeat joining or moving. Membership can later succeed while the earlier mutation remains Unknown. Resolve warnings and pending credentials with the administrator before handoff; see [Domain Join troubleshooting](../troubleshooting/domain-join.md). diff --git a/foundry-deploy/review-and-deploy.md b/foundry-deploy/review-and-deploy.md index 361edd7..a1b2c5c 100644 --- a/foundry-deploy/review-and-deploy.md +++ b/foundry-deploy/review-and-deploy.md @@ -11,6 +11,7 @@ Confirm: - Driver pack. - Firmware options. - Windows Autopilot method and, for zero-touch hardware hash upload, the configured group tag. +- Domain Join mode, authored domain and default destination when configured (unreleased). - Optional features and other deployment customization.
@@ -24,6 +25,8 @@ When the media includes [custom answer files](../foundry-osd/customization/unatt Start only when every value is correct. Foundry opens **Confirm disk erase** before crossing the destructive boundary. Verify the disk number, model, bus, size, and selected operating system before accepting. +Unreleased [Domain Join](domain-join.md) gathers interactive credentials or a permitted catalog choice at launch before this confirmation. The earlier wizard summary shows authored defaults; confirmation appends the actual prepared domain/destination or known unsupported-edition skip. Account and password are not included. Cancelling the domain dialog never reaches destructive confirmation. + {% hint style="danger" %} Accepting the confirmation allows Foundry to clean and repartition the selected disk. Existing data on that disk will be lost. {% endhint %} @@ -76,3 +79,5 @@ For [custom images](../foundry-osd/customization/custom-windows-images.md), veri ## Post-installation preparation Foundry checks required [Post-installation](../foundry-osd/customization/post-installation.md) content and its runtime before preparing the target disk. Keep the complete ISO or USB media available until staging finishes. Successful staging does not prove first-boot actions succeeded; continue through [deployment verification](verify-deployment.md). + +For unreleased Domain Join, preparation stages joining for installed Windows. Edition or applied-image composition incompatibility can warn and skip domain work while installation continues; pre-staging skips remain in Deploy's summary/logs. Review later join, placement, restart, membership and cleanup results separately. Runtime compatibility, protected staging and unrelated destructive/integrity checks retain their existing failure policy. diff --git a/foundry-deploy/target.md b/foundry-deploy/target.md index e761aaf..ef66f9d 100644 --- a/foundry-deploy/target.md +++ b/foundry-deploy/target.md @@ -12,6 +12,8 @@ When the media enables custom answer files, choose one in **Answer file** or sel Review the selected file in the summary and confirmation. Missing files, an invalid default, architecture mismatches, and known Autopilot conflicts can block deployment. Foundry does not silently switch to native settings. See [custom answer-file preparation and compatibility](../foundry-osd/customization/unattend.md). +For [Domain Join (unreleased)](domain-join.md), the selected file must supply one valid concrete applicable `specialize` name and no `Microsoft-Windows-UnattendedJoin` component. Foundry uses that inspected name; native wizard naming does not fill a missing or wildcard custom name. Resolve the compatibility error before confirmation. + ## Set the computer name The following naming rules apply when using native Foundry settings. diff --git a/foundry-deploy/verify-deployment.md b/foundry-deploy/verify-deployment.md index 8150817..090210c 100644 --- a/foundry-deploy/verify-deployment.md +++ b/foundry-deploy/verify-deployment.md @@ -36,6 +36,12 @@ When using [Post-installation](../foundry-osd/customization/post-installation.md Verify that the installed applications work after cleanup. If they need source files for repair or updates, confirm that those files remain available. Keep the [PostInstall results and logs](../troubleshooting/logs-and-support.md#postinstall-diagnostics) when investigating a problem. +## Domain Join (unreleased) + +A successful Deploy session confirms domain-work staging only. Follow PostInstall through its controlled restart, then verify the expected Windows name and local AD domain membership. Review the requested OU and directory readback independently: local membership alone does not prove placement or policy application. + +Inspect [the domain result and execution journal](../troubleshooting/logs-and-support.md#domain-join-evidence-unreleased). Successful join with failed placement still restarts and verifies. **Unknown** mutations are never automatically repeated and stay Unknown even if membership later succeeds; **Unverified** needs administrator confirmation. Resolve warned outcomes and **Cleanup Pending** before organizational handoff. A known WinPE skip has only Deploy's summary/logs. See [Domain Join troubleshooting](../troubleshooting/domain-join.md). + ## Automatic Windows activation For standard RETAIL deployments of supported Windows Home and Pro editions, Foundry automatically attempts to activate Windows after reboot using a compatible OEM product key stored in the device firmware. Online activation requires Internet access and a valid key for the installed Windows edition. diff --git a/foundry-osd/README.md b/foundry-osd/README.md index 1dc4cf1..75533fd 100644 --- a/foundry-osd/README.md +++ b/foundry-osd/README.md @@ -7,7 +7,7 @@ Foundry OSD is the Windows desktop application used to prepare deployment media. 1. Validate [Windows ADK and Windows PE](adk.md). 2. Review [general configuration](general.md). 3. Configure [network access](network/README.md) when required. -4. Choose a [Windows Autopilot](autopilot/README.md) method when required. +4. Choose a [Windows Autopilot](autopilot/README.md) method or [Domain Join (unreleased)](domain-join/README.md) when required. Only one provisioning mode can be active. 5. Select [Windows customization](customization/README.md) options. 6. [Create deployment media](media/README.md). diff --git a/foundry-osd/autopilot/README.md b/foundry-osd/autopilot/README.md index 42b8193..35459a8 100644 --- a/foundry-osd/autopilot/README.md +++ b/foundry-osd/autopilot/README.md @@ -2,6 +2,8 @@ Foundry supports three Autopilot workflows. Choose the method that matches the organization’s provisioning and security model. +[Domain Join (unreleased)](../domain-join/README.md) is an alternative provisioning choice. Activating it replaces the active Autopilot mode; activating an Autopilot mode replaces Domain Join. Review the replacement confirmation and rebuild media for the intended mode. + ## Choose a method ### JSON profile diff --git a/foundry-osd/customization/machine-naming.md b/foundry-osd/customization/machine-naming.md index 8901374..adb34e5 100644 --- a/foundry-osd/customization/machine-naming.md +++ b/foundry-osd/customization/machine-naming.md @@ -63,6 +63,12 @@ If a composed name cannot be generated because a required hardware value is unav The preview uses representative values. Foundry Deploy resolves actual hardware values at deployment startup and applies casing and separators to the same component rules used in the preview. For random text, a random value is generated with the configured length during deployment startup. +## Domain Join (unreleased) + +[Domain Join](../domain-join/README.md) uses the final validated Windows name to identify the AD computer account. Review it before disk confirmation, particularly when reusing an existing account. + +A [custom answer file](unattend.md) overrides native naming and must contain exactly one acceptable concrete name in its applicable `Microsoft-Windows-Shell-Setup` `specialize` component. Missing, wildcard, invalid or multiple applicable names fail the domain requirement. The native fallback table above does not repair custom XML. Verify the expected name again after the controlled domain restart. + ## Upload the computer name to Autopilot Enable **Upload computer name to Autopilot** to assign the final computer name confirmed in Foundry Deploy to the Windows Autopilot device record. This works with both **Manual** and **Composed** naming, including any changes made by the deployment operator. The uploaded value is the same final name used for Windows setup; the Foundry OSD preview and initial value are not uploaded separately. diff --git a/foundry-osd/customization/post-installation.md b/foundry-osd/customization/post-installation.md index 26b1d0e..3a9c45e 100644 --- a/foundry-osd/customization/post-installation.md +++ b/foundry-osd/customization/post-installation.md @@ -44,14 +44,17 @@ After the first boot into installed Windows, Foundry runs the following before O | --- | --- | | 1 | Install deferred driver packages, such as supported Lenovo EXE and Surface MSI packages. Drivers injected offline are already installed during deployment. | | 2 | Import configured certificates and wired/Wi-Fi profiles. | -| 3 | Remove selected Copilot and AI Hub application packages. Other AI settings may already have been applied during deployment. | -| 4 | Remove the selected provisioned AppX packages. | -| 5 | Attempt OEM activation when eligible. This is skipped for custom answer files and volume-licensed deployments. | -| 6 | Run your enabled custom actions in the order shown, including any Restart Windows actions. | -| 7 | Perform cleanup of temporary deployment content, retaining execution results and logs. | +| 3 | Domain Join (unreleased): join and independently place the computer account, perform a controlled restart when required, then verify local membership without credentials. | +| 4 | Remove selected Copilot and AI Hub application packages. Other AI settings may already have been applied during deployment. | +| 5 | Remove the selected provisioned AppX packages. | +| 6 | Attempt OEM activation when eligible. This is skipped for custom answer files and volume-licensed deployments. | +| 7 | Run your enabled custom actions in the order shown, including any Restart Windows actions. | +| 8 | Perform cleanup of temporary deployment content, retaining execution results and logs. | Required restarts can occur during this sequence. A planned restart resumes the remaining work; any deferred restart is handled before final cleanup. The interactive Autopilot assistant remains separate and appears during OOBE when configured. +The unreleased [Domain Join workflow](../domain-join/README.md) runs when active even without custom actions. Successful joining still restarts and verifies when OU placement fails. [Local membership and placement](../../troubleshooting/domain-join.md) are independent outcomes. + ## Prepare content Import a complete folder when the installer needs transforms, CAB files, configuration, scripts or other binaries. Preserve their relative paths. A single-file import includes only that file. @@ -106,6 +109,8 @@ PowerShell scripts must return a failure explicitly when appropriate. Non-termin **Continue on error** is disabled by default: a failure stops later actions and prevents a successful handoff to OOBE. Enabling it permits later actions after an ordinary, fully observed failure, recording the sequence as completed with errors. It does not allow execution to continue when Foundry cannot determine whether an action finished safely, or after an installer-owned restart. +Unreleased Domain Join has a specific warning-and-continue policy for join, placement, controlled domain interruption and domain-only credential-cleanup failures. Uncertain join/move mutations are never automatically repeated. Unrelated uncertain actions, journal integrity and other sensitive-cleanup failures retain their stop policy. Review [domain results and pending cleanup](../../troubleshooting/domain-join.md) before handoff. + Keep secrets out of command arguments and normal output. Profile encryption does not make arbitrary script output or installer logs safe to share. ## Restarts and interrupted deployments @@ -120,6 +125,8 @@ Installer exit code `1641` means the installer initiated its own restart. Foundr After a planned restart, Foundry resumes from its saved progress. If power is lost while an action is running, Foundry does not automatically retry that action. Missing or damaged execution records also stop the sequence. Inspect the results and logs before deciding whether to redeploy; scripts and installers are not necessarily safe to repeat. +For unreleased domain operations, validated recovery can warn and continue without replaying joining or placement, with a conservative controlled restart when mutation may remain active. An earlier **Unknown** remains Unknown after read-only membership confirmation. Domain-only cleanup can remain Pending through finalization; see [domain recovery guidance](../../troubleshooting/domain-join.md#interrupted-work-or-restart-is-pending). + If an interrupted process might still be using files, Foundry retains them and reports cleanup as pending. This does not retry the interrupted action. ## Follow progress in Windows Setup diff --git a/foundry-osd/customization/unattend.md b/foundry-osd/customization/unattend.md index bfc9e1d..c364700 100644 --- a/foundry-osd/customization/unattend.md +++ b/foundry-osd/customization/unattend.md @@ -63,11 +63,14 @@ Foundry validates the selected file before preparing the target disk. After appl | Autopilot JSON profile or interactive registration | Known incompatible settings block deployment. Use a compatible file or change the authored Autopilot configuration. | | Hardware hash upload from WinPE | Registration can continue. A successful upload does not guarantee Autopilot enrollment. | | Upload computer name to Autopilot | Skipped because Foundry does not manage the final computer name. See [Machine naming](machine-naming.md#upload-the-computer-name-to-autopilot). | +| Domain Join (unreleased) | Requires exactly one valid concrete `ComputerName` in an applicable `Microsoft-Windows-Shell-Setup` `specialize` component, with no `Microsoft-Windows-UnattendedJoin` component. Foundry uses that inspected name for the domain operation. | A custom file does not disable every other Foundry feature. Test the file together with all enabled deployment options; do not assume arbitrary conflicts will be detected or resolved automatically. Foundry detects known XML conflicts but cannot predict arbitrary scripts. Arrange access to scripts referenced by the file; importing XML does not bundle those external files or execute its commands in WinPE. +For [Domain Join (unreleased)](../domain-join/README.md), a missing, wildcard, invalid or multiple applicable computer name fails the concrete-name requirement before launch confirmation. Foundry does not fill it from the native wizard name. Resolve explicit join-component conflicts and review any custom rename/join commands yourself. This does not relax the protection requirement for custom XML. + Custom commands that replace setup hooks, restart Windows independently or change enrollment and package state can disrupt [Post-installation](post-installation.md#custom-answer-files). Test the complete combination before production use. ## Protect sensitive content @@ -87,10 +90,11 @@ Do not remove the target answer file before `oobeSystem` has consumed it. Arrang | Default file is missing from the catalog | In Foundry OSD, choose an available default or **Use Foundry settings**, then rebuild media. An invalid catalog default blocks deployment even if another runtime choice is available. | | File is incompatible with selected Windows | Use a file with supported components for that architecture and validate it against the target image. | | Autopilot conflict | Remove the incompatible settings from the source and refresh it, or change Autopilot configuration before rebuilding. | +| Domain Join conflict or invalid custom name (unreleased) | Correct the applicable `specialize` name and conflicting join components, refresh the source and rebuild media. See [Domain Join troubleshooting](../../troubleshooting/domain-join.md). | | Deployment succeeds but Windows setup fails | Inspect Windows setup diagnostics without exposing secrets. Check the file against the selected image and test its commands and setup-hook dependencies. | After deployment, [verify Windows through first boot and OOBE](../../foundry-deploy/verify-deployment.md). A successful Foundry deployment does not confirm that Windows has consumed every answer-file setting. ## Custom images -Enabled answer files also apply to [custom Windows images](custom-windows-images.md). Foundry does not add an image-specific answer-file compatibility scan. Verify that your answer file is suitable for the image, its architecture, and the remaining customizations. +Enabled answer files also apply to [custom Windows images](custom-windows-images.md). Verify that your answer file is suitable for the image, its architecture, and the remaining customizations. The unreleased Domain Join path specifically inspects applied-image composition before credential staging. An embedded join component or ambiguous applicable name can skip domain work with a deployment warning; inspect the [Deploy outcome](../../foundry-deploy/domain-join.md#follow-staging-and-first-boot). This does not establish compatibility for arbitrary image settings or commands. diff --git a/foundry-osd/deployment-profiles.md b/foundry-osd/deployment-profiles.md index e089a2d..125685e 100644 --- a/foundry-osd/deployment-profiles.md +++ b/foundry-osd/deployment-profiles.md @@ -17,7 +17,7 @@ A profile contains your deployment settings and, depending on your choices, pass Foundry saves changes automatically after a short pause and when you close the app. New local profiles start with **Remember passwords** enabled; existing profiles keep their saved choice. -If Foundry asks you to complete a password or select a missing file, do so before switching profiles or closing the app. Your current changes stay on screen, and the last successfully saved settings remain available. A new profile can start with incomplete inputs, but later saves with **Remember passwords** enabled require those inputs to be complete. +If Foundry asks you to complete a password or select a missing file, do so before switching profiles or closing the app. Your current changes stay on screen, and the last successfully saved settings remain available. A new profile can start with incomplete inputs, but later saves with **Remember passwords** enabled normally require those inputs to be complete. An omitted Domain Join password is the unreleased exception described [below](#domain-credentials-unreleased). If saving or switching fails, Foundry keeps the current profile selected. Resolve the reported problem and try again. If saving fails while closing, cancel closing to fix it; choosing **Close** leaves you with the last successfully saved settings. @@ -30,7 +30,7 @@ These options control different things: | Option | What it does | | --- | --- | | Remember passwords | Saves supported deployment passwords and selected confidential files with this profile on this PC. | -| Include passwords and confidential files | Includes available passwords and selected confidential files when you export or share the configuration. | +| Include passwords and confidential files | Includes supported available passwords and selected confidential files when you export or share. Direct Domain Join passwords are always omitted from portable exports; encrypted shared revisions use a separate path. | | Remember this connection on this PC | Lets Foundry reconnect to the shared configuration after restarting, without asking you to restore access. | Turning **Remember passwords** off stops saving passwords with future changes. Passwords already entered remain usable until the current session ends. Your separately remembered synchronization connection is also kept. To clear both, use **Clear saved passwords and access** beside the switch. @@ -39,7 +39,7 @@ Saved profiles are protected for your Windows account on this PC using Windows C When Foundry first brings your existing settings into a profile, **Remember passwords** starts enabled and saves supported passwords and selected files that are available. An existing profile's choice is preserved. -Supported passwords include Wi-Fi, Protected deployment, OOBE local accounts, and selected network or Autopilot PFX certificates. Complete required fields and matching confirmations. For an intentionally blank OOBE password, use its explicit password choice. Missing passwords are not filled from another profile. +Supported local retention includes Wi-Fi, Protected deployment, OOBE local accounts, selected network or Autopilot PFX certificates, and active automatic Domain Join credentials (unreleased). Complete required fields and matching confirmations. For an intentionally blank OOBE password, use its explicit password choice. Missing passwords are not filled from another profile. Microsoft sign-in sessions are not transferred. Sign in again when an Autopilot task requires it. An imported Autopilot configuration with a valid saved registration can use its matching PFX certificate without a new sign-in. If that file was omitted, select the matching certificate and enter its password on this PC. A different or expired certificate must be resolved before creating media. @@ -53,6 +53,16 @@ If Foundry reports that cleanup is incomplete, resolve the reported problem and This action does not remove exported files, copies on the shared folder, original source files, or existing deployment media. +### Domain credentials (unreleased) + +[Zero Touch Domain Join](domain-join/zero-touch.md) passwords belong to the active profile's canonical domain/account context. **Remember passwords** can retain them locally using the existing protected revision/key storage. Turning remembering off stops future retention without clearing the current session; **Clear saved passwords and access** also clears current passwords and synchronization access. + +Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. Connection and recovery files use that same export rule. They may still carry shared-revision access keys: possession of the file and its password can grant access to shared secrets. + +Encrypted shared revisions may include the domain password when confidential inputs are explicitly included. A settings-only update can preserve an existing local password only for the same profile and matching active automatic domain/account context. Changed context, unavailable/deleted credentials or another profile cannot borrow it. Changing domain/account or leaving automatic mode clears the current domain password. + +An omitted-secret automatic profile can be saved/imported with **Remember passwords** enabled; domain omission alone does not require disabling it. The configuration is structurally valid, but creating automatic media remains blocked until the password and usable existing General protection are supplied. Profile retention and portable export are separate choices. + ## Export an encrypted package 1. Select the profile you want to transfer. @@ -62,7 +72,7 @@ This action does not remove exported files, copies on the shared folder, origina With the option off, the file contains settings without saved passwords or attached confidential files. Autopilot JSON entered in the configuration is still part of those settings; review it before sharing. -With the option on, Foundry includes available files selected in the configuration, such as custom answer files, wired or enterprise Wi-Fi XML profiles, and network or Autopilot PFX certificates. Missing files cannot be included. +With the option on, Foundry includes available files selected in the configuration, such as custom answer files, wired or enterprise Wi-Fi XML profiles, and network or Autopilot PFX certificates. Missing files cannot be included. The direct Domain Join password is always omitted; domain/account/catalog metadata remains. An export supports up to **64 attached files**, **4 MiB per file**, and **8 MiB of attached files in total**. The complete configuration, including attachments, must fit within **16 MiB**. Transfer Windows images, driver collections, and generated media separately. @@ -75,7 +85,7 @@ Send the file password through a separate trusted channel. Anyone who can open t 3. Review the configuration name, included-file and password counts, and any missing-file notices. 4. Review **Remember passwords** and confirm that you want to use the imported settings. -**Remember passwords** is selected by default for a complete import. If passwords or files are missing, leave it unchecked, import the settings, supply the missing inputs, and then enable it. +**Remember passwords** is selected by default for a complete import. If other required passwords or files are missing, leave it unchecked, import the settings, supply the missing inputs, and then enable it. Domain Join password omission alone can be imported with remembering enabled; supply that password and General protection before creating automatic media. Import creates an independent local copy. To keep it synchronized with a shared configuration, use **Set up synchronization… > Connect to a shared configuration** instead, even if the file you selected is a connection file. @@ -101,6 +111,8 @@ OneDrive, Dropbox, and other cloud-synchronized folders are not supported. If yo If Foundry asks for missing passwords or files, complete them before sharing confidential inputs. +For unreleased Domain Join, this shared-revision path may include the password. The connection file itself omits the direct password but provides keys for shared access; see [domain credential rules](#domain-credentials-unreleased). + If that configuration folder already exists, choose **Connect** and select its connection file, or choose **Choose another name**. Existing files are not overwritten. Renaming the configuration later does not move its shared folder. If sharing is interrupted, restore access to the folder and choose **Synchronize** on the same profile. Keep the folder and Foundry's local data intact while retrying. If you did not choose **Remember this connection on this PC**, keep Foundry open until the connection file is available; otherwise, you may be unable to reconnect after restarting. @@ -114,7 +126,7 @@ If sharing is interrupted, restore access to the folder and choose **Synchronize 5. Review the current shared settings, included-file and password counts, and remembering options. 6. Continue to use the reviewed configuration. If another PC changes it before you finish, Foundry shows an updated preview for you to confirm. -As with importing, **Remember passwords** is selected for complete configurations. If inputs are missing, connect first, supply them, and then enable it. Choose **Remember this connection on this PC** separately to reconnect automatically after restarting. +As with importing, **Remember passwords** is selected for complete configurations. If other required inputs are missing, connect first, supply them, and then enable it. Domain password omission alone does not prevent remembering the settings. Choose **Remember this connection on this PC** separately to reconnect automatically after restarting. If the suggested folder cannot be reached, browse to the connection file through a server address that works on this PC and check the suggested folder again. You can correct the folder before continuing. Select the configuration's own folder, not its parent share. diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md new file mode 100644 index 0000000..8d1bc77 --- /dev/null +++ b/foundry-osd/domain-join/README.md @@ -0,0 +1,52 @@ +# Domain Join + +{% hint style="warning" %} +**Unreleased draft** — These guides describe the Domain Join implementation awaiting a supporting release and native deployment acceptance. Validate it in a disposable domain before rollout. +{% endhint %} + +Use **Domain Join** to join installed Windows to an Active Directory domain before OOBE. Choose [Interactive Domain Join](interactive.md) when a technician supplies credentials for each deployment, or [Zero Touch Domain Join](zero-touch.md) when protected media supplies them. + +Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can be active. Open the intended page and choose **Activate**. Confirm replacement if another mode is active. **Deactivate** excludes joining from new media while retaining nonsecret configuration. Credentials are cleared when their domain, account or active-mode ownership changes. + +## Before configuring + +- Arrange domain DNS and writable domain-controller access from installed Windows. A saved OU catalog can be authored offline; it does not make joining available offline. Connect's Internet readiness does not establish AD readiness. +- Ask the AD administrator to provide an account with the required join, reuse, directory-read and destination-placement permissions. Discovery and configuration validation do not audit those permissions. +- Choose a unique [concrete computer name](../customization/machine-naming.md). A [custom answer file](../customization/unattend.md) must supply exactly one valid applicable `specialize` computer name and contain no `Microsoft-Windows-UnattendedJoin` component. +- Review [edition and runtime requirements](../../reference/supported-versions.md#domain-join-unreleased). Known Windows Home-family editions skip joining with a warning while Windows installation continues. + +## Configure destinations + +Both pages support the same optional catalog. Use a DNS domain such as `corp.example.test`, a display label such as `Workstations`, and a distinguished name such as `OU=Workstations,DC=corp,DC=example,DC=test`. + +1. Enter **Target DNS domain**. It is required for Zero Touch and for a catalog; Interactive without a catalog may leave it for the technician. +2. Under **Add a destination manually**, enter **Display label** and **OU distinguished name**, then choose **Add destination**. The DN must belong to the target domain. The catalog holds at most 1,024 destinations. +3. Alternatively, use [explicit discovery and import](#discover-and-import-destinations). +4. Choose **Default destination (optional)**, or **Clear default** to leave the destination unset. +5. Enable **Allow destination selection during deployment** if technicians should choose among the catalog rows. A default is preselected; without one, a listed choice is required before continuing. + +With selection disabled, the configured default is fixed. With no default, Windows uses its default domain account location; a reused account is left in its current location. A compatible catalog restricts technicians to authored choices. Interactive deployment without a compatible catalog instead offers an optional typed DN. Zero Touch does not offer freeform destinations. + +Changing the authored domain clears the default and disables selection, but retains catalog rows. Remove or correct rows from the previous domain before creating media. Removing the default row clears the default; removing the last row also clears catalog selection. + +## Discover and import destinations + +1. Use an authoring computer already joined to the intended AD domain and connect it to that directory. +2. Under **Import from the computer domain**, choose **Discover destinations**. +3. Review the displayed computer domain and preview. Check the rows to retain, then choose **Import selected destinations**. Discovery alone does not change the saved catalog. +4. Review the merged catalog and default. Existing manual rows and the default are preserved; duplicate DNs are not added again. An empty target domain is populated from the import; a different target/catalog domain must be corrected first. + +Discovery selects the computer's actual AD domain, using your current Windows identity to read it. The signed-in user's domain is not the domain selector. Requests and preview size are bounded; an incomplete preview is labelled as such. Use **Cancel discovery** if needed. Manual destinations remain available when discovery is unavailable. + +{% hint style="warning" %} +**Screenshot required** + +- **File:** `foundry-osd-domain-join-01-destination-catalog.png` +- **Capture:** Show the destination catalog, optional default, selection checkbox and explicitly selected discovery preview using sanitized demonstration data. +{% endhint %} + +## Build and verify + +Resolve the active page's readiness messages and [create or update media](../media/README.md). Follow [Domain Join in Deploy](../../foundry-deploy/domain-join.md) through staging, installed-Windows joining, controlled restart and verification. A selected destination applies to new accounts and to safely identified reused accounts; an existing account is moved without deleting or recreating it, preserving its object GUID. + +Joining, OU placement and later local membership are separate results. Review [domain warnings and uncertain outcomes](../../troubleshooting/domain-join.md) before handoff. diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md new file mode 100644 index 0000000..f2c1c72 --- /dev/null +++ b/foundry-osd/domain-join/interactive.md @@ -0,0 +1,37 @@ +# Interactive Domain Join + +{% hint style="warning" %} +**Unreleased draft** — Requires a supporting Foundry release and native deployment acceptance. See [Domain Join prerequisites](README.md#before-configuring). +{% endhint %} + +Choose this mode for shared deployment media when technicians should enter a domain account and password for each target. + +## Prepare the media + +1. Open **Domain Join > Interactive Domain Join** and choose **Activate**. If prompted, confirm replacement of the active Domain Join or Autopilot mode. +2. Enter **Target DNS domain** to prefill the deployment dialog. You may leave it blank when no catalog is configured. +3. Optionally [add or import destinations](README.md#configure-destinations). A catalog requires its matching target domain. Set a default and decide whether to allow technician selection. +4. Resolve readiness messages, then [create or update media](../media/README.md). + +Interactive joining introduces no media-password prerequisite and stores no join password in the media. Other enabled options, including custom answer files, may independently require [Protected deployment](../general.md#protected-deployment). + +Choose **Deactivate** to exclude joining from newly created media. Nonsecret settings remain available for later activation. + +{% hint style="warning" %} +**Screenshot required** + +- **File:** `foundry-osd-domain-join-interactive-01-configuration.png` +- **Capture:** Show the activated Interactive Domain Join page, target DNS domain, readiness and destination policy with sanitized demonstration data. +{% endhint %} + +## Deploy a target + +Before disk-erasure confirmation, Deploy opens **Domain join**. Enter **Domain DNS name**, **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. + +If the compatible catalog picker is enabled, select a listed **Organizational unit**. The configured default starts selected, and **Continue** requires a selection. A catalog with selection disabled uses its fixed default or the default domain destination. + +Without a compatible catalog, **OU distinguished name (optional)** accepts a destination inside the entered domain. Leave it empty to use Windows' default destination. Changing the domain clears prior destination input and disables incompatible catalog choices. Typed DNs are not offered alongside a compatible catalog. + +Select **Continue**, then review the actual domain and destination in **Confirm disk erase**. **Cancel** returns without starting deployment. See [technician steps and outcome verification](../../foundry-deploy/domain-join.md). + +Installed Windows must reach the domain controller when PostInstall runs. A successful WinPE deployment only confirms staging. Keep [safe outcome evidence](../../troubleshooting/logs-and-support.md#domain-join-evidence-unreleased) if joining or placement reports a warning. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md new file mode 100644 index 0000000..9acc4ac --- /dev/null +++ b/foundry-osd/domain-join/zero-touch.md @@ -0,0 +1,40 @@ +# Zero Touch Domain Join + +{% hint style="warning" %} +**Unreleased draft** — Requires a supporting Foundry release and native deployment acceptance. See [Domain Join prerequisites](README.md#before-configuring). +{% endhint %} + +Choose this mode when protected deployment media should supply the join credentials. An optional destination picker can still require technician input. + +## Prepare protected media + +1. In [General configuration](../general.md#protected-deployment), enable **Protected deployment** and supply its existing media password. +2. Open **Domain Join > Zero Touch Domain Join** and choose **Activate**. Confirm replacement if another Domain Join or Autopilot mode is active. +3. Enter **Target DNS domain**, then **Account (DOMAIN\user or user@domain)** and **Account password** under **Domain credentials**. Use an administrator-provided account such as `CORP\deployment-join` for `corp.example.test`. +4. Optionally [add or import destinations](README.md#configure-destinations). Choose a default and enable **Allow destination selection during deployment** only if technician selection is wanted. +5. Resolve all readiness messages and [create or update media](../media/README.md). + +The automatic password is encrypted using the existing Protected deployment key. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. Without a destination picker, no Domain join dialog is introduced. With a picker, the domain is read-only and the credential editors are hidden; the technician must choose a catalog row before continuing. + +{% hint style="warning" %} +**Screenshot required** + +- **File:** `foundry-osd-domain-join-zero-touch-01-readiness.png` +- **Capture:** Show activated Zero Touch Domain Join, credential field labels without credentials, readiness and the optional destination policy. +{% endhint %} + +## Keep credentials associated with the correct profile + +Changing the domain, account or active mode clears the entered password. Re-enter it for the reviewed identity. **Deactivate** excludes joining from new media and clears domain credentials while retaining nonsecret settings. + +[Remember passwords](../deployment-profiles.md#domain-credentials-unreleased) can retain the password with a local profile. Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. An imported automatic profile remains structurally valid, but media creation needs the password and usable General protection on that PC. + +Encrypted shared revisions use a separate sharing path and may retain domain credentials when confidential inputs are explicitly included. Connection and recovery files omit the direct password, but their shared-access keys can grant access to secrets in those revisions. Restrict those files and their passwords accordingly. + +Recreate or update media after credential changes. Profile edits do not change media already distributed or a build already running. + +## Verify deployment + +Follow [Domain Join in Deploy](../../foundry-deploy/domain-join.md). Installed Windows needs online domain-controller access even when media has an offline OU catalog. Review joining, placement and post-restart membership separately. + +Credentials become a restricted temporary plaintext target payload for the child operation. See [credential lifetime and cleanup](../../reference/security-and-credentials.md#domain-credentials-unreleased); cleanup warnings require administrator review before handoff. diff --git a/foundry-osd/general.md b/foundry-osd/general.md index db7ebdf..e1c5d0a 100644 --- a/foundry-osd/general.md +++ b/foundry-osd/general.md @@ -46,6 +46,7 @@ Validate custom drivers on representative hardware before using the media in pro | Autopilot certificate credentials for zero-touch upload, including the PFX file and its password | Yes | | Autopilot JSON profiles | Yes | | Custom Windows answer files | Yes | +| Zero Touch Domain Join account password (unreleased) | Yes; existing protection is required | | Embedded Wi-Fi passwords, wired and Wi-Fi certificate PFX passwords, and network certificate private keys | No | Foundry Connect uses embedded network credentials before Foundry Deploy asks for the technician password, so automatic network setup remains available. Anyone who can read the ISO or USB can recover those network credentials, even when Protected deployment is enabled. Restrict access to the media and use dedicated network credentials that can be revoked. @@ -54,6 +55,8 @@ Foundry accepts passwords from 8 characters and recommends at least 12 character Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or files staged into the installed Windows system. +[Zero Touch Domain Join (unreleased)](domain-join/zero-touch.md) reuses this media password and Deploy's existing unlock session. [Interactive Domain Join](domain-join/interactive.md) introduces no protection prerequisite; custom answer files and other enabled features retain their own requirements. Domain credentials become a restricted temporary plaintext payload on the target for installed-Windows joining; see [credential lifetime and cleanup](../reference/security-and-credentials.md#domain-credentials-unreleased). + When Protected deployment is disabled, Autopilot JSON profiles remain readable on the media and other embedded deployment credentials can be recovered without a technician password. Treat possession of unprotected media as access to all embedded deployment information. {% hint style="warning" %} diff --git a/foundry-osd/media/README.md b/foundry-osd/media/README.md index 71a584d..e04ea23 100644 --- a/foundry-osd/media/README.md +++ b/foundry-osd/media/README.md @@ -8,6 +8,8 @@ Choose the intended [deployment profile](../deployment-profiles.md) before start Resolve every blocking readiness item before starting. Checks cover Windows ADK and Windows PE, architecture, language, boot-image source, output paths, USB target, media options, drivers, networking, runtime configuration, secrets, customization, and Windows Autopilot. +[Domain Join (unreleased)](../domain-join/README.md) also checks active-mode metadata and catalog/default compatibility. Zero Touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Active domain work requires a domain-capable PostInstall runtime; readiness does not establish live AD connectivity or account permissions. +
Foundry OSD media creation readiness overview
Resolve every blocking item before creating or updating deployment media.
diff --git a/foundry-osd/settings.md b/foundry-osd/settings.md index 30f5026..7502b02 100644 --- a/foundry-osd/settings.md +++ b/foundry-osd/settings.md @@ -12,6 +12,8 @@ The application language changes the Foundry interface. Choose the Windows PE an Choose **Export diagnostics** to create a support archive with sensitive information filtered out. Your original log files are unchanged. +The export collects only the desktop application's top-level `Foundry*.log` files. It does not retrieve target PostInstall logs. In the unreleased Domain Join implementation, recognized quoted/escaped credential values are masked in sanitized output, and the known `credentials.bin` payload filename is excluded before reading in both sanitized and raw modes. [Collect safe domain evidence separately](../troubleshooting/logs-and-support.md#domain-join-evidence-unreleased). + Use **Advanced: export raw logs** only when a support contact requests it. Raw logs can contain passwords, identifiers, paths, and network details. Review the warning and destination before sharing them. See [Logs and support](../troubleshooting/logs-and-support.md) for help collecting and sharing diagnostic information. ## Appearance @@ -46,6 +48,8 @@ Select a configuration from the list to apply it immediately. Expand the card to See [Deployment profiles](deployment-profiles.md) for step-by-step instructions, the differences between remembering and sharing passwords, and help with connection files or conflicting changes. +For unreleased automatic Domain Join, review [local retention, portable-export omission and shared-access keys](deployment-profiles.md#domain-credentials-unreleased). **Include passwords and confidential files** does not include the direct domain password in an ordinary export. + ## Proxy Use **Proxy** when Foundry OSD needs a proxy to reach online services. diff --git a/reference/security-and-credentials.md b/reference/security-and-credentials.md index f807523..ff1ffb7 100644 --- a/reference/security-and-credentials.md +++ b/reference/security-and-credentials.md @@ -14,6 +14,7 @@ Depending on configuration, media may include or use: - Predefined passwords for local Windows accounts created during OOBE. - Custom Windows answer files, including credentials in their settings or commands. - Device hardware hashes and registration artifacts. +- Active Directory join credentials for Domain Join (unreleased). ## Required practices @@ -32,9 +33,22 @@ Review the [Protected deployment scope](../foundry-osd/general.md#protected-depl - [Zero-touch upload](../foundry-osd/autopilot/zero-touch-hardware-hash.md) credentials can be recovered from media created without Protected deployment. - Non-empty [OOBE local account passwords](../foundry-osd/customization/oobe.md#password-protection) require Protected deployment under Foundry's security policy and are encrypted in the deployment configuration. During Windows Setup, they are written to `unattend.xml` using reversible encoding, not encryption. Treat that answer file and its copies as sensitive data. - Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or data staged into the installed Windows system. +- [Zero Touch Domain Join (unreleased)](../foundry-osd/domain-join/zero-touch.md) requires the existing General protection key and Deploy unlock session. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects credentials at launch and adds no media-password prerequisite. If media is lost, stolen, or copied without authorization, revoke embedded credentials where applicable and recreate the media. Do not rely on the technician password as a substitute for physical media controls. +## Domain credentials (unreleased) + +Domain passwords are context-bound to the active domain/account. Local **Remember passwords** and encrypted shared revisions can retain them under their respective choices. Ordinary portable exports always omit the direct domain password, including when confidential inputs are selected. Connection/recovery files also omit it, but shared-access keys can grant access to secrets in revisions. Follow [profile retention and sharing rules](../foundry-osd/deployment-profiles.md#domain-credentials-unreleased). + +Deploy stages a temporary plaintext binary payload at `%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin`. The operation directory has protected inheritance and permits SYSTEM and Administrators before the file is created. Joining is its only sensitive consumer; later membership verification uses no join credentials. Target access controls and physical security remain necessary. + +Foundry zeroes its owned encoded/decoded buffers and scoped unmanaged native-password buffer when their use ends, and disposes its controlled temporary credential objects. The standard LDAP library can create immutable library-owned password copies, and Windows authentication has its own memory. Complete erasure of managed/system authentication memory is not guaranteed. The library connection/credential lifetime is bounded by the child operation/process; the worker has a 300-second budget, with read-only readiness limited to 120 seconds within it. Cancellation does not prove that a synchronous mutation has stopped. + +Safe cleanup makes at most three deletion attempts per immediate/final gate, 250 ms apart. A potentially active same-boot worker defers deletion until a safe later boot. A domain-only deletion failure remains **Pending** with a warning through subsequent actions and finalization; it does not relax unrelated sensitive-cleanup or journal-integrity failures. An administrator must confirm that no active worker remains before inspecting or removing a leftover credential file. Preserve safe results/journal/logs, and never copy the payload into support evidence. See [domain cleanup troubleshooting](../troubleshooting/domain-join.md#credential-cleanup-remains-pending). + +This payload's disposal is separate from Panther XML cleanup. A known `credentials.bin` filename is excluded from sanitized and raw support bundles before reading, but this is not a promise about arbitrarily renamed files or unlabelled secrets. + ## Custom answer files Using [custom answer files](../foundry-osd/customization/unattend.md) requires Protected deployment for every embedded file. The complete XML is encrypted on media. Source files and the decrypted `Windows\Panther\unattend.xml` on the target still require access controls. diff --git a/reference/supported-versions.md b/reference/supported-versions.md index 0c85e9f..031699d 100644 --- a/reference/supported-versions.md +++ b/reference/supported-versions.md @@ -41,3 +41,13 @@ The [custom image workflow](../foundry-osd/customization/custom-windows-images.m [Post-installation](../foundry-osd/customization/post-installation.md) supports x64 and ARM64 targets. Bootstrap prepares PostInstall for the boot media architecture; you do not need to install .NET on the target. Use boot media matching the target Windows architecture. Deploy checks runtime compatibility before preparing the disk. Keep deployment media and its package content together, and choose scripts and installers compatible with the target Windows image and architecture. Test the complete workflow on representative hardware before rollout. + +## Domain Join (unreleased) + +[Domain Join](../foundry-osd/domain-join/README.md) has no published minimum release yet. These draft guides describe the current implementation; x64/ARM64 compilation and portable tests do not establish native Windows Setup or disposable-domain acceptance. + +Active domain media requires a domain-capable PostInstall runtime (capability 2); an older runtime cannot execute that plan. A domain-capable runtime continues to support legacy plans. Use matching media/target architecture and validate the complete workflow before rollout. + +Known unsupported edition IDs are `Core`, `CoreN`, `CoreSingleLanguage` and `CoreCountrySpecific` (Home family). They skip joining with a warning while Windows installation continues. Recognized eligible IDs are `Professional`, `ProfessionalN`, `Education`, `EducationN`, `Enterprise` and `EnterpriseN`; eligibility alone does not prove successful joining. Missing/unfamiliar edition IDs remain Unknown pending image/native inspection. + +Installed Windows needs online access to domain DNS and a writable controller, along with administrator-delegated join/reuse/read/placement permissions. Offline catalog authoring does not provide offline joining. Custom answer files and applied images must meet [domain composition/name requirements](../foundry-deploy/domain-join.md#review-the-target-and-windows). diff --git a/start-here/deployment-workflow.md b/start-here/deployment-workflow.md index 3c62fae..669d35e 100644 --- a/start-here/deployment-workflow.md +++ b/start-here/deployment-workflow.md @@ -9,7 +9,7 @@ Use **Foundry OSD** on an administrator workstation to: - Install or validate Windows ADK and Windows PE components. - Configure networking and deployment behavior. - Select Windows customization options. -- Configure an optional Windows Autopilot workflow. +- Choose optional Windows Autopilot or [Domain Join (unreleased)](../foundry-osd/domain-join/README.md) provisioning; only one mode can be active. - Create or update ISO and USB media. ## Phase 2: Establish network readiness @@ -27,6 +27,8 @@ The [Windows PE bootstrap](../reference/bootstrap.md) prepares this session and - Driver pack selection. - Firmware and Windows Autopilot options when configured. +Unreleased [Domain Join input](../foundry-deploy/domain-join.md) is gathered at launch before disk-erasure confirmation. Interactive asks for account/password and a permitted destination; automatic uses the existing unlock session and optional catalog selection. + ## Phase 4: Apply and configure Windows Foundry prepares the target disk, downloads and applies Windows, stages drivers and configuration, provisions recovery and optional features, and completes the deployment handoff. @@ -35,13 +37,17 @@ Foundry prepares the target disk, downloads and applies Windows, stages drivers Review the completion state, deployment summary, and any reported error. Reboot only after Foundry reports success or after collecting the required troubleshooting evidence. +## Phase 6: Verify installed-Windows work + +Follow staged [Post-installation](../foundry-osd/customization/post-installation.md) through first boot, controlled restarts and OOBE. Unreleased Domain Join runs after drivers/networking and verifies local membership after its required restart. Check OU placement/readback and credential cleanup separately. WinPE success establishes staging, not completed membership. Review [warnings and outcomes](../foundry-deploy/verify-deployment.md#domain-join-unreleased) before handoff. +
Foundry deployment workflow from media authoring through network readiness, Windows deployment, verification, and reboot
- Foundry OSD authors deployment media, Foundry Connect establishes network readiness, and Foundry Deploy applies and verifies Windows. + Foundry OSD authors deployment media, Foundry Connect establishes network readiness, and Foundry Deploy applies Windows. Verify staged first-boot work after reboot.
diff --git a/start-here/quick-start.md b/start-here/quick-start.md index 91ffbb6..2eca690 100644 --- a/start-here/quick-start.md +++ b/start-here/quick-start.md @@ -21,6 +21,7 @@ Open **General configuration** and confirm the deployment settings. Review the [ - Add Wi-Fi or Ethernet 802.1X settings when the target cannot use an open wired network. - Choose Windows customization options required by the organization. - Configure Windows Autopilot only when the device must be registered or receive a profile. +- Alternatively, configure [Domain Join (unreleased)](../foundry-osd/domain-join/README.md). It replaces active Autopilot provisioning. Only Zero Touch adds the existing General protection prerequisite; Interactive adds none. ## 5. Create deployment media @@ -42,5 +43,7 @@ In Foundry Deploy: 2. Select a Windows release, language, edition, and license channel. 3. Select a compatible driver pack. 4. Configure Windows Autopilot when JSON profile or zero-touch upload media displays that step. Interactive upload runs later during Windows OOBE. -5. Review the summary and start deployment. +5. Review the summary and start deployment. For unreleased Domain Join, supply [conditional credentials/destination input](../foundry-deploy/domain-join.md) before disk confirmation. 6. Verify the success page before rebooting. + +For Domain Join, Deploy success means staging. Follow installed-Windows joining and its controlled restart, then verify local membership, requested OU placement and cleanup before handoff. diff --git a/troubleshooting/README.md b/troubleshooting/README.md index 9f3f4fe..112ffdf 100644 --- a/troubleshooting/README.md +++ b/troubleshooting/README.md @@ -8,5 +8,8 @@ Start with the stage where the workflow stopped. | Ethernet, Wi-Fi, DHCP, or Foundry Connect | [Network and Foundry Connect](network.md) | | Target, Windows, drivers, or deployment execution | [Windows deployment](deployment.md) | | Profile staging or hardware hash upload | [Windows Autopilot](autopilot.md) | +| AD joining, OU placement, membership or domain credential cleanup (unreleased) | [Domain Join](domain-join.md) | Before changing configuration, record the visible status, failed step, complete error message, device model, media version, and selected workflow. Then collect [logs and support information](logs-and-support.md). + +For unreleased domain work, collect independent phase states and safe numeric error codes from [domain outcome evidence](logs-and-support.md#domain-join-evidence-unreleased), without the credential payload or account/password. diff --git a/troubleshooting/deployment.md b/troubleshooting/deployment.md index 9a31eb8..91c86d7 100644 --- a/troubleshooting/deployment.md +++ b/troubleshooting/deployment.md @@ -6,6 +6,8 @@ Use 1–15 ASCII letters, numbers, or hyphens, and avoid a name containing only In the composed naming workflow, a missing hardware value or firmware placeholder also prevents generation. If editing is allowed, enter a valid complete name. Otherwise, correct the naming configuration and refresh the media. See [machine naming](../foundry-osd/customization/machine-naming.md) for naming requirements and editing options. +For unreleased Domain Join with custom XML, the answer file must supply one valid concrete applicable `specialize` name. Native fallback naming does not repair a missing/wildcard custom name. See [Domain Join input and compatibility](domain-join.md#media-is-not-ready-or-input-is-rejected). + ## Target disk is unavailable - Confirm the storage controller is supported in Windows PE. @@ -67,3 +69,5 @@ For [custom images](../foundry-osd/customization/custom-windows-images.md), chec ## Post-installation interruption For [Post-installation](../foundry-osd/customization/post-installation.md), distinguish WinPE staging from the later Windows sequence. Planned restarts resume from saved progress. An interrupted action, missing or damaged execution records, or an installer-owned restart stops the sequence without automatically retrying the action. Preserve the results and logs before deciding whether to redeploy. **Cleanup pending** means some temporary content could not yet be safely removed. + +Unreleased [domain operations](domain-join.md#interrupted-work-or-restart-is-pending) are a bounded warning exception: validated recovery does not replay join/move mutations and can continue after a controlled restart. Domain-only cleanup remains a warning; unrelated uncertain actions, damaged records and other sensitive-cleanup failures retain their normal stop policy. diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md new file mode 100644 index 0000000..cbb1ed0 --- /dev/null +++ b/troubleshooting/domain-join.md @@ -0,0 +1,58 @@ +# Domain Join troubleshooting + +{% hint style="warning" %} +**Unreleased draft** — Applies to the Domain Join implementation awaiting a supporting release and native acceptance. +{% endhint %} + +Record the failed phase and safe numeric error family before changing the target. Collect the [domain result, execution journal and local PostInstall logs](logs-and-support.md#domain-join-evidence-unreleased). A WinPE skip before staging has only Deploy's summary/logs, not an installed domain result. + +| Phase state | Meaning | +| --- | --- | +| NotStarted | No completed result has been recorded for this phase. | +| Succeeded | That phase completed; check the other phases separately. | +| Failed | A known failure was recorded with an allowlisted code. | +| Skipped | The phase did not apply or was intentionally not attempted. | +| Unknown | A mutation may have occurred; do not repeat it automatically. | +| Unverified | The intended result could not be confirmed by readback or verification. | + +Restart states and cleanup states are recorded separately from these phases. A completed restart or confirmed local membership does not turn an Unknown join/move into Succeeded. + +## Media is not ready or input is rejected + +- For Zero Touch, supply the context-matching domain password and a usable existing [General protection password](../foundry-osd/general.md#protected-deployment). Imported portable profiles deliberately omit the direct domain password. +- For Interactive without a catalog, enter the domain at launch. A typed optional OU DN must parse and belong to that domain. +- For a compatible enabled catalog picker, choose a listed OU. Without a default, a selection is required. Changing the interactive domain clears earlier destination input and suppresses an incompatible catalog. +- Correct retained catalog rows after an authored domain change. Discovery reads the authoring computer's AD domain using the current Windows identity; it does not test deployment-account permissions. Manual entries remain available when discovery fails. +- For a custom answer file, supply one valid concrete applicable `specialize` name and remove conflicting `Microsoft-Windows-UnattendedJoin` configuration. Foundry does not fill a missing custom name from the wizard. Review arbitrary commands separately; not every scripted conflict can be detected. + +Known Windows Home-family editions skip joining and continue installation. Unfamiliar/missing edition metadata needs image/native inspection. Applied-image conflicts can also skip domain work. See [supported-version limits](../reference/supported-versions.md#domain-join-unreleased). + +## Joining fails + +Check installed-Windows network drivers, domain DNS, controller reachability and system time. Connect's Internet check does not confirm AD connectivity, and a saved OU catalog does not provide offline joining. Readiness checks are bounded; restore connectivity before arranging a new controlled attempt. + +Ask the AD administrator to confirm the account's delegated join/reuse and directory permissions. Reuse can be restricted by Windows domain-join hardening even when a new account can be created. Review Microsoft's [KB5020276 domain-join hardening guidance](https://support.microsoft.com/en-us/servicing/os/windows/2022/10/kb5020276-netjoin-domain-join-hardening-changes) with the administrator. Foundry follows Windows' reuse decision and does not bypass hardening or delete/recreate the existing account. + +## Joined but destination is wrong or unverified + +Review **Join** and **Placement** independently. Successful joining still requires the controlled restart even when placement fails; the console can report **Domain joined; target OU placement failed**. + +Confirm the requested DN exists and the account can read the object/destination and perform the required same-domain placement. Existing-account moves preserve the captured GUID and require identity proof. No visible pre-join account is not proof that an account is absent, so an unproven existing object is not moved automatically. + +**Unverified** can mean the placement response was acknowledged but directory readback could not confirm it. **Unknown** can mean a mutation response was lost. Have the administrator inspect the intended computer object, its GUID and actual parent. Later local domain membership does not prove OU placement, directory readback or policy application succeeded. + +## Interrupted work or restart is pending + +Foundry never automatically repeats an uncertain join or account move. A potentially active worker is conservatively treated as Unknown and may require one controlled restart. A repeated launch on the originating boot does not request the same restart again. Later-boot membership verification is read-only and uses no join credentials; an earlier Unknown remains Unknown even when membership is confirmed. + +Keep power and required networking available through the controlled restart. Inspect the report before arranging further changes. Missing, damaged, foreign or inconsistent execution records remain integrity failures; unrelated uncertain custom actions and installer-owned restarts retain their normal stop policy. + +## Credential cleanup remains Pending + +The temporary plaintext file is `%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin`, protected for SYSTEM and Administrators. Do not open, copy or attach it to a support issue. + +Cleanup makes at most three deletion attempts per safe immediate/final gate, with 250 ms between attempts. When a worker may still use the file on the same boot, deletion is deferred to a safe later boot. Domain-only leftovers remain Pending with a warning through later actions and finalization. Other sensitive-cleanup and journal/report-write failures retain their existing fatal policy. + +An administrator must confirm no active domain worker remains before inspecting access/ownership or removing the operation's leftover credential file. Preserve the result, journal and logs for investigation. Do not delete a live worker's input or restart a mutation manually to clear the warning. Failed staging can retain non-runnable ownership records when rollback cannot delete the credential; it must not be promoted into runnable work. + +See [credential lifetime](../reference/security-and-credentials.md#domain-credentials-unreleased) for memory and target-file boundaries. Complete domain acceptance and verify credential disposal before organizational handoff. diff --git a/troubleshooting/logs-and-support.md b/troubleshooting/logs-and-support.md index bbc978b..e18eca5 100644 --- a/troubleshooting/logs-and-support.md +++ b/troubleshooting/logs-and-support.md @@ -8,6 +8,8 @@ In **Settings > General**, use **Export diagnostics** to save a sanitized archiv Use **Advanced: export raw logs** only when requested by a trusted support contact, and review the sensitive-data warning before sharing the archive. See [Export diagnostics](../foundry-osd/settings.md#export-diagnostics). +In the unreleased Domain Join implementation, recognized quoted/escaped credential values are masked in sanitized logs, and `credentials.bin` is unconditionally excluded by basename before reading in sanitized and raw exports. The export still selects only desktop top-level `Foundry*.log` files; it does not retrieve target payloads or PostInstall evidence. Unknown/unlabelled secrets and arbitrarily renamed payloads are not a redaction guarantee. + Remote diagnostics supplement local logs and support archives. Keep local evidence when investigating a failure: remote delivery can have gaps, and external-tool log files are not automatically uploaded. See [Telemetry and privacy](../reference/telemetry-and-privacy.md#remote-error-diagnostics). ## Find application logs in PostHog @@ -38,6 +40,7 @@ If records are missing, check consent, application version, network access, the - Selected Windows release, edition, language, and architecture. - Selected driver pack. - Autopilot method, without credentials or tenant secrets. +- For unreleased Domain Join, safe join/placement/membership/restart/cleanup states and allowlisted failure codes. Keep native API, LDAP client/transport and directory server result codes distinct; omit arbitrary directory diagnostics and credentials. ## Windows PE log location @@ -121,3 +124,19 @@ For [Post-installation](../foundry-osd/customization/post-installation.md), coll | Execution results and saved progress | `%SystemRoot%\Temp\Foundry\State\PreOobe`, including `execution-result.json` | Desktop diagnostic export does not automatically collect target-machine logs. PostInstall does not send a separate remote telemetry stream. Review raw script output and installer logs before sharing them; they may contain secrets that automatic masking cannot remove reliably. + +## Domain Join evidence (unreleased) + +For domain work successfully staged by Deploy, collect from the installed Windows target: + +| Evidence | Location | +| --- | --- | +| Independent domain outcome | `%SystemRoot%\Temp\Foundry\State\PreOobe\domain-join-result.json` | +| Execution journal and saved restart/progress | `%SystemRoot%\Temp\Foundry\State\PreOobe\execution-result.json` | +| Existing PostInstall log | `%SystemRoot%\Temp\Foundry\Logs\PreOobe\Foundry.PostInstall.log` and relevant rotated logs | + +The domain result records expected domain/name/destination, independent phase states, allowlisted failure codes and correctly attributed numeric errors, restart and cleanup. It contains no account/password or arbitrary exception text. These expected identities can still be sensitive; redact them before sharing. The worker phase receipt at `State\PreOobe\domain-join-phase.json` is execution evidence, not an instruction to restart or retry mutations manually. + +If Deploy skipped joining before staging, collect its summary and deployment logs instead. No installed domain result is manufactured for that skip. Separate local membership from OU placement/readback, and keep **Unknown**, **Unverified** and **Cleanup Pending** outcomes visible in the report. See [Domain Join troubleshooting](domain-join.md). + +Never attach `%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin`. It is temporary plaintext authentication material, even though its filename uses `.bin`. An administrator must confirm no active worker remains before removing a leftover. Desktop export and remote diagnostics do not automatically collect these target files. From 8b05eff68628db46f090b9e5e903f1dcfa4d439e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Sun, 4 Oct 2026 18:40:28 +0200 Subject: [PATCH 02/31] docs: clarify domain catalog draft persistence --- foundry-osd/domain-join/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 8d1bc77..36e3e20 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -29,6 +29,8 @@ With selection disabled, the configured default is fixed. With no default, Windo Changing the authored domain clears the default and disables selection, but retains catalog rows. Remove or correct rows from the previous domain before creating media. Removing the default row clears the default; removing the last row also clears catalog selection. +A retained catalog that no longer matches the target domain is an editing draft. Repair the mismatch before saving a named-profile checkpoint, exporting the profile or creating media. Activating a named profile restores its last valid checkpoint. + ## Discover and import destinations 1. Use an authoring computer already joined to the intended AD domain and connect it to that directory. From a81752aa7047a0baaf17272b3d7afd50277466e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Sun, 4 Oct 2026 19:37:49 +0200 Subject: [PATCH 03/31] docs: explain media updates for domain join --- foundry-osd/domain-join/README.md | 1 + foundry-osd/media/README.md | 2 +- reference/supported-versions.md | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 36e3e20..cd32563 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -10,6 +10,7 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can ## Before configuring +- Update Foundry OSD and create or update the boot media to include the Domain Join configuration and current runtimes. - Arrange domain DNS and writable domain-controller access from installed Windows. A saved OU catalog can be authored offline; it does not make joining available offline. Connect's Internet readiness does not establish AD readiness. - Ask the AD administrator to provide an account with the required join, reuse, directory-read and destination-placement permissions. Discovery and configuration validation do not audit those permissions. - Choose a unique [concrete computer name](../customization/machine-naming.md). A [custom answer file](../customization/unattend.md) must supply exactly one valid applicable `specialize` computer name and contain no `Microsoft-Windows-UnattendedJoin` component. diff --git a/foundry-osd/media/README.md b/foundry-osd/media/README.md index e04ea23..f1f1088 100644 --- a/foundry-osd/media/README.md +++ b/foundry-osd/media/README.md @@ -8,7 +8,7 @@ Choose the intended [deployment profile](../deployment-profiles.md) before start Resolve every blocking readiness item before starting. Checks cover Windows ADK and Windows PE, architecture, language, boot-image source, output paths, USB target, media options, drivers, networking, runtime configuration, secrets, customization, and Windows Autopilot. -[Domain Join (unreleased)](../domain-join/README.md) also checks active-mode metadata and catalog/default compatibility. Zero Touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Active domain work requires a domain-capable PostInstall runtime; readiness does not establish live AD connectivity or account permissions. +[Domain Join (unreleased)](../domain-join/README.md) also checks active-mode metadata and catalog/default compatibility. Zero Touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Update Foundry OSD and create or update the boot media when adopting Domain Join. Readiness does not establish live AD connectivity or account permissions.
Foundry OSD media creation readiness overview diff --git a/reference/supported-versions.md b/reference/supported-versions.md index 031699d..2646e81 100644 --- a/reference/supported-versions.md +++ b/reference/supported-versions.md @@ -46,7 +46,7 @@ Keep deployment media and its package content together, and choose scripts and i [Domain Join](../foundry-osd/domain-join/README.md) has no published minimum release yet. These draft guides describe the current implementation; x64/ARM64 compilation and portable tests do not establish native Windows Setup or disposable-domain acceptance. -Active domain media requires a domain-capable PostInstall runtime (capability 2); an older runtime cannot execute that plan. A domain-capable runtime continues to support legacy plans. Use matching media/target architecture and validate the complete workflow before rollout. +Update Foundry OSD and recreate ISO media or update the USB boot image when adopting Domain Join or other new deployment features. Use matching media/target architecture and validate the complete workflow before rollout. Known unsupported edition IDs are `Core`, `CoreN`, `CoreSingleLanguage` and `CoreCountrySpecific` (Home family). They skip joining with a warning while Windows installation continues. Recognized eligible IDs are `Professional`, `ProfessionalN`, `Education`, `EducationN`, `Enterprise` and `EnterpriseN`; eligibility alone does not prove successful joining. Missing/unfamiliar edition IDs remain Unknown pending image/native inspection. From 42e6da8183a4a5799e4b48f9000fcbbeed05c18f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Sun, 4 Oct 2026 19:39:48 +0200 Subject: [PATCH 04/31] docs: remove feature update prerequisites --- foundry-osd/domain-join/README.md | 1 - foundry-osd/media/README.md | 2 +- reference/supported-versions.md | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index cd32563..36e3e20 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -10,7 +10,6 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can ## Before configuring -- Update Foundry OSD and create or update the boot media to include the Domain Join configuration and current runtimes. - Arrange domain DNS and writable domain-controller access from installed Windows. A saved OU catalog can be authored offline; it does not make joining available offline. Connect's Internet readiness does not establish AD readiness. - Ask the AD administrator to provide an account with the required join, reuse, directory-read and destination-placement permissions. Discovery and configuration validation do not audit those permissions. - Choose a unique [concrete computer name](../customization/machine-naming.md). A [custom answer file](../customization/unattend.md) must supply exactly one valid applicable `specialize` computer name and contain no `Microsoft-Windows-UnattendedJoin` component. diff --git a/foundry-osd/media/README.md b/foundry-osd/media/README.md index f1f1088..bacde5f 100644 --- a/foundry-osd/media/README.md +++ b/foundry-osd/media/README.md @@ -8,7 +8,7 @@ Choose the intended [deployment profile](../deployment-profiles.md) before start Resolve every blocking readiness item before starting. Checks cover Windows ADK and Windows PE, architecture, language, boot-image source, output paths, USB target, media options, drivers, networking, runtime configuration, secrets, customization, and Windows Autopilot. -[Domain Join (unreleased)](../domain-join/README.md) also checks active-mode metadata and catalog/default compatibility. Zero Touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Update Foundry OSD and create or update the boot media when adopting Domain Join. Readiness does not establish live AD connectivity or account permissions. +[Domain Join (unreleased)](../domain-join/README.md) also checks active-mode metadata and catalog/default compatibility. Zero Touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Readiness does not establish live AD connectivity or account permissions.
Foundry OSD media creation readiness overview diff --git a/reference/supported-versions.md b/reference/supported-versions.md index 2646e81..0c702a8 100644 --- a/reference/supported-versions.md +++ b/reference/supported-versions.md @@ -46,7 +46,7 @@ Keep deployment media and its package content together, and choose scripts and i [Domain Join](../foundry-osd/domain-join/README.md) has no published minimum release yet. These draft guides describe the current implementation; x64/ARM64 compilation and portable tests do not establish native Windows Setup or disposable-domain acceptance. -Update Foundry OSD and recreate ISO media or update the USB boot image when adopting Domain Join or other new deployment features. Use matching media/target architecture and validate the complete workflow before rollout. +Use matching media/target architecture and validate the complete workflow before rollout. Known unsupported edition IDs are `Core`, `CoreN`, `CoreSingleLanguage` and `CoreCountrySpecific` (Home family). They skip joining with a warning while Windows installation continues. Recognized eligible IDs are `Professional`, `ProfessionalN`, `Education`, `EducationN`, `Enterprise` and `EnterpriseN`; eligibility alone does not prove successful joining. Missing/unfamiliar edition IDs remain Unknown pending image/native inspection. From 92d16de193f82dfc21a7b38f47097e09a72ae468 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Sun, 4 Oct 2026 20:39:35 +0200 Subject: [PATCH 05/31] docs(domain-join): describe released workflows --- SUMMARY.md | 6 +++--- foundry-deploy/README.md | 4 ++-- foundry-deploy/domain-join.md | 6 +----- foundry-deploy/review-and-deploy.md | 6 +++--- foundry-deploy/target.md | 2 +- foundry-deploy/verify-deployment.md | 4 ++-- foundry-osd/README.md | 2 +- foundry-osd/autopilot/README.md | 2 +- foundry-osd/customization/machine-naming.md | 2 +- foundry-osd/customization/post-installation.md | 8 ++++---- foundry-osd/customization/unattend.md | 8 ++++---- foundry-osd/deployment-profiles.md | 8 ++++---- foundry-osd/domain-join/README.md | 6 +----- foundry-osd/domain-join/interactive.md | 6 +----- foundry-osd/domain-join/zero-touch.md | 8 ++------ foundry-osd/general.md | 4 ++-- foundry-osd/media/README.md | 2 +- foundry-osd/settings.md | 4 ++-- reference/security-and-credentials.md | 8 ++++---- reference/supported-versions.md | 4 ++-- start-here/deployment-workflow.md | 6 +++--- start-here/quick-start.md | 4 ++-- troubleshooting/README.md | 4 ++-- troubleshooting/deployment.md | 4 ++-- troubleshooting/domain-join.md | 10 +++------- troubleshooting/logs-and-support.md | 6 +++--- 26 files changed, 57 insertions(+), 77 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 85778f2..18ec106 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -17,7 +17,7 @@ * [JSON profile](foundry-osd/autopilot/json-profile.md) * [Zero-touch hardware hash upload](foundry-osd/autopilot/zero-touch-hardware-hash.md) * [Interactive hardware hash upload](foundry-osd/autopilot/interactive-hardware-hash.md) - * [Domain Join (unreleased)](foundry-osd/domain-join/README.md) + * [Domain Join](foundry-osd/domain-join/README.md) * [Interactive Domain Join](foundry-osd/domain-join/interactive.md) * [Zero Touch Domain Join](foundry-osd/domain-join/zero-touch.md) * [Windows customization](foundry-osd/customization/README.md) @@ -43,14 +43,14 @@ * [Select the target](foundry-deploy/target.md) * [Select Windows](foundry-deploy/operating-system.md) * [Select a driver pack](foundry-deploy/driver-pack.md) - * [Domain Join (unreleased)](foundry-deploy/domain-join.md) + * [Domain Join](foundry-deploy/domain-join.md) * [Review and deploy](foundry-deploy/review-and-deploy.md) * [Verify deployment](foundry-deploy/verify-deployment.md) * [Troubleshooting](troubleshooting/README.md) * [Media creation](troubleshooting/media-creation.md) * [Network and Foundry Connect](troubleshooting/network.md) * [Windows deployment](troubleshooting/deployment.md) - * [Domain Join (unreleased)](troubleshooting/domain-join.md) + * [Domain Join](troubleshooting/domain-join.md) * [Windows Autopilot](troubleshooting/autopilot.md) * [Logs and support information](troubleshooting/logs-and-support.md) * [Reference](reference/README.md) diff --git a/foundry-deploy/README.md b/foundry-deploy/README.md index 9229df4..70d0e7b 100644 --- a/foundry-deploy/README.md +++ b/foundry-deploy/README.md @@ -8,7 +8,7 @@ Foundry Deploy runs in Windows PE after network readiness. It guides a technicia - Confirm that required network services are reachable. - Disconnect storage devices that must not be selected accidentally. - Obtain the technician password when Protected deployment is enabled. -- For [Domain Join (unreleased)](domain-join.md), obtain interactive join credentials when needed and arrange installed-Windows domain-controller access. +- For [Domain Join](domain-join.md), obtain interactive join credentials when needed and arrange installed-Windows domain-controller access. {% hint style="danger" %} Deployment erases and repartitions the selected target disk. Verify the target before starting. @@ -16,7 +16,7 @@ Deployment erases and repartitions the selected target disk. Verify the target b When Protected deployment is enabled, Foundry Deploy requests the technician password before initialization. Cancelling the prompt closes Foundry Deploy. Incorrect attempts can be retried, with a progressively longer delay of up to five seconds. If the password is lost, recreate the media in Foundry OSD. -Unreleased automatic Domain Join reuses this unlock session. Interactive joining introduces no media-password prerequisite. +Automatic Domain Join reuses this unlock session. Interactive joining introduces no media-password prerequisite. {% hint style="info" %} Foundry Deploy validates HTTPS server certificates. When the catalog supplies a file hash, Deploy checks downloaded files and rechecks cached files before reuse. For cached Windows images and OEM driver packs, **Checking cache...** shows the verification percentage and bytes processed. Allow extra time when using large files or slower USB drives. A cached file that fails verification is downloaded again with its own download progress; a replacement that also fails verification stops the affected step. See [download troubleshooting](../troubleshooting/deployment.md#download-fails). diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index 0e58a6e..5f9c965 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -1,9 +1,5 @@ # Domain Join during deployment -{% hint style="warning" %} -**Unreleased draft** — These steps require Domain Join media and a compatible Foundry release. Native deployment acceptance remains pending. -{% endhint %} - Use media configured for [Interactive](../foundry-osd/domain-join/interactive.md) or [Zero Touch](../foundry-osd/domain-join/zero-touch.md) Domain Join. Obtain the intended domain, destination and unique computer name from the administrator. Installed Windows needs domain DNS, controller access and the appropriate account permissions. ## Review the target and Windows @@ -47,6 +43,6 @@ A selected destination is used for a new account. A safely identified reused acc ## Confirm the result -Check [deployment verification](verify-deployment.md#domain-join-unreleased) and [domain outcome evidence](../troubleshooting/logs-and-support.md#domain-join-evidence-unreleased). Joining, OU placement/directory readback, local membership, restart and credential cleanup have independent outcomes. +Check [deployment verification](verify-deployment.md#domain-join) and [domain outcome evidence](../troubleshooting/logs-and-support.md#domain-join-evidence). Joining, OU placement/directory readback, local membership, restart and credential cleanup have independent outcomes. Join or placement failure, controlled interruption and domain-only cleanup failure warn and continue. **Unknown** means mutation may have occurred; Foundry does not automatically repeat joining or moving. Membership can later succeed while the earlier mutation remains Unknown. Resolve warnings and pending credentials with the administrator before handoff; see [Domain Join troubleshooting](../troubleshooting/domain-join.md). diff --git a/foundry-deploy/review-and-deploy.md b/foundry-deploy/review-and-deploy.md index a1b2c5c..5d4d17d 100644 --- a/foundry-deploy/review-and-deploy.md +++ b/foundry-deploy/review-and-deploy.md @@ -11,7 +11,7 @@ Confirm: - Driver pack. - Firmware options. - Windows Autopilot method and, for zero-touch hardware hash upload, the configured group tag. -- Domain Join mode, authored domain and default destination when configured (unreleased). +- Domain Join mode, authored domain and default destination when configured. - Optional features and other deployment customization.
@@ -25,7 +25,7 @@ When the media includes [custom answer files](../foundry-osd/customization/unatt Start only when every value is correct. Foundry opens **Confirm disk erase** before crossing the destructive boundary. Verify the disk number, model, bus, size, and selected operating system before accepting. -Unreleased [Domain Join](domain-join.md) gathers interactive credentials or a permitted catalog choice at launch before this confirmation. The earlier wizard summary shows authored defaults; confirmation appends the actual prepared domain/destination or known unsupported-edition skip. Account and password are not included. Cancelling the domain dialog never reaches destructive confirmation. +[Domain Join](domain-join.md) gathers interactive credentials or a permitted catalog choice at launch before this confirmation. The earlier wizard summary shows authored defaults; confirmation appends the actual prepared domain/destination or known unsupported-edition skip. Account and password are not included. Cancelling the domain dialog never reaches destructive confirmation. {% hint style="danger" %} Accepting the confirmation allows Foundry to clean and repartition the selected disk. Existing data on that disk will be lost. @@ -80,4 +80,4 @@ For [custom images](../foundry-osd/customization/custom-windows-images.md), veri Foundry checks required [Post-installation](../foundry-osd/customization/post-installation.md) content and its runtime before preparing the target disk. Keep the complete ISO or USB media available until staging finishes. Successful staging does not prove first-boot actions succeeded; continue through [deployment verification](verify-deployment.md). -For unreleased Domain Join, preparation stages joining for installed Windows. Edition or applied-image composition incompatibility can warn and skip domain work while installation continues; pre-staging skips remain in Deploy's summary/logs. Review later join, placement, restart, membership and cleanup results separately. Runtime compatibility, protected staging and unrelated destructive/integrity checks retain their existing failure policy. +For Domain Join, preparation stages joining for installed Windows. Edition or applied-image composition incompatibility can warn and skip domain work while installation continues; pre-staging skips remain in Deploy's summary/logs. Review later join, placement, restart, membership and cleanup results separately. Runtime compatibility, protected staging and unrelated destructive/integrity checks retain their existing failure policy. diff --git a/foundry-deploy/target.md b/foundry-deploy/target.md index ef66f9d..3ea67cd 100644 --- a/foundry-deploy/target.md +++ b/foundry-deploy/target.md @@ -12,7 +12,7 @@ When the media enables custom answer files, choose one in **Answer file** or sel Review the selected file in the summary and confirmation. Missing files, an invalid default, architecture mismatches, and known Autopilot conflicts can block deployment. Foundry does not silently switch to native settings. See [custom answer-file preparation and compatibility](../foundry-osd/customization/unattend.md). -For [Domain Join (unreleased)](domain-join.md), the selected file must supply one valid concrete applicable `specialize` name and no `Microsoft-Windows-UnattendedJoin` component. Foundry uses that inspected name; native wizard naming does not fill a missing or wildcard custom name. Resolve the compatibility error before confirmation. +For [Domain Join](domain-join.md), the selected file must supply one valid concrete applicable `specialize` name and no `Microsoft-Windows-UnattendedJoin` component. Foundry uses that inspected name; native wizard naming does not fill a missing or wildcard custom name. Resolve the compatibility error before confirmation. ## Set the computer name diff --git a/foundry-deploy/verify-deployment.md b/foundry-deploy/verify-deployment.md index 090210c..7cd8c0d 100644 --- a/foundry-deploy/verify-deployment.md +++ b/foundry-deploy/verify-deployment.md @@ -36,11 +36,11 @@ When using [Post-installation](../foundry-osd/customization/post-installation.md Verify that the installed applications work after cleanup. If they need source files for repair or updates, confirm that those files remain available. Keep the [PostInstall results and logs](../troubleshooting/logs-and-support.md#postinstall-diagnostics) when investigating a problem. -## Domain Join (unreleased) +## Domain Join A successful Deploy session confirms domain-work staging only. Follow PostInstall through its controlled restart, then verify the expected Windows name and local AD domain membership. Review the requested OU and directory readback independently: local membership alone does not prove placement or policy application. -Inspect [the domain result and execution journal](../troubleshooting/logs-and-support.md#domain-join-evidence-unreleased). Successful join with failed placement still restarts and verifies. **Unknown** mutations are never automatically repeated and stay Unknown even if membership later succeeds; **Unverified** needs administrator confirmation. Resolve warned outcomes and **Cleanup Pending** before organizational handoff. A known WinPE skip has only Deploy's summary/logs. See [Domain Join troubleshooting](../troubleshooting/domain-join.md). +Inspect [the domain result and execution journal](../troubleshooting/logs-and-support.md#domain-join-evidence). Successful join with failed placement still restarts and verifies. **Unknown** mutations are never automatically repeated and stay Unknown even if membership later succeeds; **Unverified** needs administrator confirmation. Resolve warned outcomes and **Cleanup Pending** before organizational handoff. A known WinPE skip has only Deploy's summary/logs. See [Domain Join troubleshooting](../troubleshooting/domain-join.md). ## Automatic Windows activation diff --git a/foundry-osd/README.md b/foundry-osd/README.md index 75533fd..5f67dfc 100644 --- a/foundry-osd/README.md +++ b/foundry-osd/README.md @@ -7,7 +7,7 @@ Foundry OSD is the Windows desktop application used to prepare deployment media. 1. Validate [Windows ADK and Windows PE](adk.md). 2. Review [general configuration](general.md). 3. Configure [network access](network/README.md) when required. -4. Choose a [Windows Autopilot](autopilot/README.md) method or [Domain Join (unreleased)](domain-join/README.md) when required. Only one provisioning mode can be active. +4. Choose a [Windows Autopilot](autopilot/README.md) method or [Domain Join](domain-join/README.md) when required. Only one provisioning mode can be active. 5. Select [Windows customization](customization/README.md) options. 6. [Create deployment media](media/README.md). diff --git a/foundry-osd/autopilot/README.md b/foundry-osd/autopilot/README.md index 35459a8..5c5617e 100644 --- a/foundry-osd/autopilot/README.md +++ b/foundry-osd/autopilot/README.md @@ -2,7 +2,7 @@ Foundry supports three Autopilot workflows. Choose the method that matches the organization’s provisioning and security model. -[Domain Join (unreleased)](../domain-join/README.md) is an alternative provisioning choice. Activating it replaces the active Autopilot mode; activating an Autopilot mode replaces Domain Join. Review the replacement confirmation and rebuild media for the intended mode. +[Domain Join](../domain-join/README.md) is an alternative provisioning choice. Activating it replaces the active Autopilot mode; activating an Autopilot mode replaces Domain Join. Review the replacement confirmation and rebuild media for the intended mode. ## Choose a method diff --git a/foundry-osd/customization/machine-naming.md b/foundry-osd/customization/machine-naming.md index adb34e5..fe3ad62 100644 --- a/foundry-osd/customization/machine-naming.md +++ b/foundry-osd/customization/machine-naming.md @@ -63,7 +63,7 @@ If a composed name cannot be generated because a required hardware value is unav The preview uses representative values. Foundry Deploy resolves actual hardware values at deployment startup and applies casing and separators to the same component rules used in the preview. For random text, a random value is generated with the configured length during deployment startup. -## Domain Join (unreleased) +## Domain Join [Domain Join](../domain-join/README.md) uses the final validated Windows name to identify the AD computer account. Review it before disk confirmation, particularly when reusing an existing account. diff --git a/foundry-osd/customization/post-installation.md b/foundry-osd/customization/post-installation.md index 3a9c45e..9133a62 100644 --- a/foundry-osd/customization/post-installation.md +++ b/foundry-osd/customization/post-installation.md @@ -44,7 +44,7 @@ After the first boot into installed Windows, Foundry runs the following before O | --- | --- | | 1 | Install deferred driver packages, such as supported Lenovo EXE and Surface MSI packages. Drivers injected offline are already installed during deployment. | | 2 | Import configured certificates and wired/Wi-Fi profiles. | -| 3 | Domain Join (unreleased): join and independently place the computer account, perform a controlled restart when required, then verify local membership without credentials. | +| 3 | Domain Join: join and independently place the computer account, perform a controlled restart when required, then verify local membership without credentials. | | 4 | Remove selected Copilot and AI Hub application packages. Other AI settings may already have been applied during deployment. | | 5 | Remove the selected provisioned AppX packages. | | 6 | Attempt OEM activation when eligible. This is skipped for custom answer files and volume-licensed deployments. | @@ -53,7 +53,7 @@ After the first boot into installed Windows, Foundry runs the following before O Required restarts can occur during this sequence. A planned restart resumes the remaining work; any deferred restart is handled before final cleanup. The interactive Autopilot assistant remains separate and appears during OOBE when configured. -The unreleased [Domain Join workflow](../domain-join/README.md) runs when active even without custom actions. Successful joining still restarts and verifies when OU placement fails. [Local membership and placement](../../troubleshooting/domain-join.md) are independent outcomes. +The [Domain Join workflow](../domain-join/README.md) runs when active even without custom actions. Successful joining still restarts and verifies when OU placement fails. [Local membership and placement](../../troubleshooting/domain-join.md) are independent outcomes. ## Prepare content @@ -109,7 +109,7 @@ PowerShell scripts must return a failure explicitly when appropriate. Non-termin **Continue on error** is disabled by default: a failure stops later actions and prevents a successful handoff to OOBE. Enabling it permits later actions after an ordinary, fully observed failure, recording the sequence as completed with errors. It does not allow execution to continue when Foundry cannot determine whether an action finished safely, or after an installer-owned restart. -Unreleased Domain Join has a specific warning-and-continue policy for join, placement, controlled domain interruption and domain-only credential-cleanup failures. Uncertain join/move mutations are never automatically repeated. Unrelated uncertain actions, journal integrity and other sensitive-cleanup failures retain their stop policy. Review [domain results and pending cleanup](../../troubleshooting/domain-join.md) before handoff. +Domain Join has a specific warning-and-continue policy for join, placement, controlled domain interruption and domain-only credential-cleanup failures. Uncertain join/move mutations are never automatically repeated. Unrelated uncertain actions, journal integrity and other sensitive-cleanup failures retain their stop policy. Review [domain results and pending cleanup](../../troubleshooting/domain-join.md) before handoff. Keep secrets out of command arguments and normal output. Profile encryption does not make arbitrary script output or installer logs safe to share. @@ -125,7 +125,7 @@ Installer exit code `1641` means the installer initiated its own restart. Foundr After a planned restart, Foundry resumes from its saved progress. If power is lost while an action is running, Foundry does not automatically retry that action. Missing or damaged execution records also stop the sequence. Inspect the results and logs before deciding whether to redeploy; scripts and installers are not necessarily safe to repeat. -For unreleased domain operations, validated recovery can warn and continue without replaying joining or placement, with a conservative controlled restart when mutation may remain active. An earlier **Unknown** remains Unknown after read-only membership confirmation. Domain-only cleanup can remain Pending through finalization; see [domain recovery guidance](../../troubleshooting/domain-join.md#interrupted-work-or-restart-is-pending). +For domain operations, validated recovery can warn and continue without replaying joining or placement, with a conservative controlled restart when mutation may remain active. An earlier **Unknown** remains Unknown after read-only membership confirmation. Domain-only cleanup can remain Pending through finalization; see [domain recovery guidance](../../troubleshooting/domain-join.md#interrupted-work-or-restart-is-pending). If an interrupted process might still be using files, Foundry retains them and reports cleanup as pending. This does not retry the interrupted action. diff --git a/foundry-osd/customization/unattend.md b/foundry-osd/customization/unattend.md index c364700..c9892f0 100644 --- a/foundry-osd/customization/unattend.md +++ b/foundry-osd/customization/unattend.md @@ -63,13 +63,13 @@ Foundry validates the selected file before preparing the target disk. After appl | Autopilot JSON profile or interactive registration | Known incompatible settings block deployment. Use a compatible file or change the authored Autopilot configuration. | | Hardware hash upload from WinPE | Registration can continue. A successful upload does not guarantee Autopilot enrollment. | | Upload computer name to Autopilot | Skipped because Foundry does not manage the final computer name. See [Machine naming](machine-naming.md#upload-the-computer-name-to-autopilot). | -| Domain Join (unreleased) | Requires exactly one valid concrete `ComputerName` in an applicable `Microsoft-Windows-Shell-Setup` `specialize` component, with no `Microsoft-Windows-UnattendedJoin` component. Foundry uses that inspected name for the domain operation. | +| Domain Join | Requires exactly one valid concrete `ComputerName` in an applicable `Microsoft-Windows-Shell-Setup` `specialize` component, with no `Microsoft-Windows-UnattendedJoin` component. Foundry uses that inspected name for the domain operation. | A custom file does not disable every other Foundry feature. Test the file together with all enabled deployment options; do not assume arbitrary conflicts will be detected or resolved automatically. Foundry detects known XML conflicts but cannot predict arbitrary scripts. Arrange access to scripts referenced by the file; importing XML does not bundle those external files or execute its commands in WinPE. -For [Domain Join (unreleased)](../domain-join/README.md), a missing, wildcard, invalid or multiple applicable computer name fails the concrete-name requirement before launch confirmation. Foundry does not fill it from the native wizard name. Resolve explicit join-component conflicts and review any custom rename/join commands yourself. This does not relax the protection requirement for custom XML. +For [Domain Join](../domain-join/README.md), a missing, wildcard, invalid or multiple applicable computer name fails the concrete-name requirement before launch confirmation. Foundry does not fill it from the native wizard name. Resolve explicit join-component conflicts and review any custom rename/join commands yourself. This does not relax the protection requirement for custom XML. Custom commands that replace setup hooks, restart Windows independently or change enrollment and package state can disrupt [Post-installation](post-installation.md#custom-answer-files). Test the complete combination before production use. @@ -90,11 +90,11 @@ Do not remove the target answer file before `oobeSystem` has consumed it. Arrang | Default file is missing from the catalog | In Foundry OSD, choose an available default or **Use Foundry settings**, then rebuild media. An invalid catalog default blocks deployment even if another runtime choice is available. | | File is incompatible with selected Windows | Use a file with supported components for that architecture and validate it against the target image. | | Autopilot conflict | Remove the incompatible settings from the source and refresh it, or change Autopilot configuration before rebuilding. | -| Domain Join conflict or invalid custom name (unreleased) | Correct the applicable `specialize` name and conflicting join components, refresh the source and rebuild media. See [Domain Join troubleshooting](../../troubleshooting/domain-join.md). | +| Domain Join conflict or invalid custom name | Correct the applicable `specialize` name and conflicting join components, refresh the source and rebuild media. See [Domain Join troubleshooting](../../troubleshooting/domain-join.md). | | Deployment succeeds but Windows setup fails | Inspect Windows setup diagnostics without exposing secrets. Check the file against the selected image and test its commands and setup-hook dependencies. | After deployment, [verify Windows through first boot and OOBE](../../foundry-deploy/verify-deployment.md). A successful Foundry deployment does not confirm that Windows has consumed every answer-file setting. ## Custom images -Enabled answer files also apply to [custom Windows images](custom-windows-images.md). Verify that your answer file is suitable for the image, its architecture, and the remaining customizations. The unreleased Domain Join path specifically inspects applied-image composition before credential staging. An embedded join component or ambiguous applicable name can skip domain work with a deployment warning; inspect the [Deploy outcome](../../foundry-deploy/domain-join.md#follow-staging-and-first-boot). This does not establish compatibility for arbitrary image settings or commands. +Enabled answer files also apply to [custom Windows images](custom-windows-images.md). Verify that your answer file is suitable for the image, its architecture, and the remaining customizations. The Domain Join workflow specifically inspects applied-image composition before credential staging. An embedded join component or ambiguous applicable name can skip domain work with a deployment warning; inspect the [Deploy outcome](../../foundry-deploy/domain-join.md#follow-staging-and-first-boot). This does not establish compatibility for arbitrary image settings or commands. diff --git a/foundry-osd/deployment-profiles.md b/foundry-osd/deployment-profiles.md index 125685e..9d02668 100644 --- a/foundry-osd/deployment-profiles.md +++ b/foundry-osd/deployment-profiles.md @@ -17,7 +17,7 @@ A profile contains your deployment settings and, depending on your choices, pass Foundry saves changes automatically after a short pause and when you close the app. New local profiles start with **Remember passwords** enabled; existing profiles keep their saved choice. -If Foundry asks you to complete a password or select a missing file, do so before switching profiles or closing the app. Your current changes stay on screen, and the last successfully saved settings remain available. A new profile can start with incomplete inputs, but later saves with **Remember passwords** enabled normally require those inputs to be complete. An omitted Domain Join password is the unreleased exception described [below](#domain-credentials-unreleased). +If Foundry asks you to complete a password or select a missing file, do so before switching profiles or closing the app. Your current changes stay on screen, and the last successfully saved settings remain available. A new profile can start with incomplete inputs, but later saves with **Remember passwords** enabled normally require those inputs to be complete. An omitted Domain Join password is the exception described [below](#domain-credentials). If saving or switching fails, Foundry keeps the current profile selected. Resolve the reported problem and try again. If saving fails while closing, cancel closing to fix it; choosing **Close** leaves you with the last successfully saved settings. @@ -39,7 +39,7 @@ Saved profiles are protected for your Windows account on this PC using Windows C When Foundry first brings your existing settings into a profile, **Remember passwords** starts enabled and saves supported passwords and selected files that are available. An existing profile's choice is preserved. -Supported local retention includes Wi-Fi, Protected deployment, OOBE local accounts, selected network or Autopilot PFX certificates, and active automatic Domain Join credentials (unreleased). Complete required fields and matching confirmations. For an intentionally blank OOBE password, use its explicit password choice. Missing passwords are not filled from another profile. +Supported local retention includes Wi-Fi, Protected deployment, OOBE local accounts, selected network or Autopilot PFX certificates, and active automatic Domain Join credentials. Complete required fields and matching confirmations. For an intentionally blank OOBE password, use its explicit password choice. Missing passwords are not filled from another profile. Microsoft sign-in sessions are not transferred. Sign in again when an Autopilot task requires it. An imported Autopilot configuration with a valid saved registration can use its matching PFX certificate without a new sign-in. If that file was omitted, select the matching certificate and enter its password on this PC. A different or expired certificate must be resolved before creating media. @@ -53,7 +53,7 @@ If Foundry reports that cleanup is incomplete, resolve the reported problem and This action does not remove exported files, copies on the shared folder, original source files, or existing deployment media. -### Domain credentials (unreleased) +### Domain credentials [Zero Touch Domain Join](domain-join/zero-touch.md) passwords belong to the active profile's canonical domain/account context. **Remember passwords** can retain them locally using the existing protected revision/key storage. Turning remembering off stops future retention without clearing the current session; **Clear saved passwords and access** also clears current passwords and synchronization access. @@ -111,7 +111,7 @@ OneDrive, Dropbox, and other cloud-synchronized folders are not supported. If yo If Foundry asks for missing passwords or files, complete them before sharing confidential inputs. -For unreleased Domain Join, this shared-revision path may include the password. The connection file itself omits the direct password but provides keys for shared access; see [domain credential rules](#domain-credentials-unreleased). +For Domain Join, this shared-revision path may include the password. The connection file itself omits the direct password but provides keys for shared access; see [domain credential rules](#domain-credentials). If that configuration folder already exists, choose **Connect** and select its connection file, or choose **Choose another name**. Existing files are not overwritten. Renaming the configuration later does not move its shared folder. diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 36e3e20..0b1b936 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -1,9 +1,5 @@ # Domain Join -{% hint style="warning" %} -**Unreleased draft** — These guides describe the Domain Join implementation awaiting a supporting release and native deployment acceptance. Validate it in a disposable domain before rollout. -{% endhint %} - Use **Domain Join** to join installed Windows to an Active Directory domain before OOBE. Choose [Interactive Domain Join](interactive.md) when a technician supplies credentials for each deployment, or [Zero Touch Domain Join](zero-touch.md) when protected media supplies them. Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can be active. Open the intended page and choose **Activate**. Confirm replacement if another mode is active. **Deactivate** excludes joining from new media while retaining nonsecret configuration. Credentials are cleared when their domain, account or active-mode ownership changes. @@ -13,7 +9,7 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can - Arrange domain DNS and writable domain-controller access from installed Windows. A saved OU catalog can be authored offline; it does not make joining available offline. Connect's Internet readiness does not establish AD readiness. - Ask the AD administrator to provide an account with the required join, reuse, directory-read and destination-placement permissions. Discovery and configuration validation do not audit those permissions. - Choose a unique [concrete computer name](../customization/machine-naming.md). A [custom answer file](../customization/unattend.md) must supply exactly one valid applicable `specialize` computer name and contain no `Microsoft-Windows-UnattendedJoin` component. -- Review [edition and runtime requirements](../../reference/supported-versions.md#domain-join-unreleased). Known Windows Home-family editions skip joining with a warning while Windows installation continues. +- Review [edition and runtime requirements](../../reference/supported-versions.md#domain-join). Known Windows Home-family editions skip joining with a warning while Windows installation continues. ## Configure destinations diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index f2c1c72..899cac9 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -1,9 +1,5 @@ # Interactive Domain Join -{% hint style="warning" %} -**Unreleased draft** — Requires a supporting Foundry release and native deployment acceptance. See [Domain Join prerequisites](README.md#before-configuring). -{% endhint %} - Choose this mode for shared deployment media when technicians should enter a domain account and password for each target. ## Prepare the media @@ -34,4 +30,4 @@ Without a compatible catalog, **OU distinguished name (optional)** accepts a des Select **Continue**, then review the actual domain and destination in **Confirm disk erase**. **Cancel** returns without starting deployment. See [technician steps and outcome verification](../../foundry-deploy/domain-join.md). -Installed Windows must reach the domain controller when PostInstall runs. A successful WinPE deployment only confirms staging. Keep [safe outcome evidence](../../troubleshooting/logs-and-support.md#domain-join-evidence-unreleased) if joining or placement reports a warning. +Installed Windows must reach the domain controller when PostInstall runs. A successful WinPE deployment only confirms staging. Keep [safe outcome evidence](../../troubleshooting/logs-and-support.md#domain-join-evidence) if joining or placement reports a warning. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index 9acc4ac..53810c9 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -1,9 +1,5 @@ # Zero Touch Domain Join -{% hint style="warning" %} -**Unreleased draft** — Requires a supporting Foundry release and native deployment acceptance. See [Domain Join prerequisites](README.md#before-configuring). -{% endhint %} - Choose this mode when protected deployment media should supply the join credentials. An optional destination picker can still require technician input. ## Prepare protected media @@ -27,7 +23,7 @@ The automatic password is encrypted using the existing Protected deployment key. Changing the domain, account or active mode clears the entered password. Re-enter it for the reviewed identity. **Deactivate** excludes joining from new media and clears domain credentials while retaining nonsecret settings. -[Remember passwords](../deployment-profiles.md#domain-credentials-unreleased) can retain the password with a local profile. Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. An imported automatic profile remains structurally valid, but media creation needs the password and usable General protection on that PC. +[Remember passwords](../deployment-profiles.md#domain-credentials) can retain the password with a local profile. Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. An imported automatic profile remains structurally valid, but media creation needs the password and usable General protection on that PC. Encrypted shared revisions use a separate sharing path and may retain domain credentials when confidential inputs are explicitly included. Connection and recovery files omit the direct password, but their shared-access keys can grant access to secrets in those revisions. Restrict those files and their passwords accordingly. @@ -37,4 +33,4 @@ Recreate or update media after credential changes. Profile edits do not change m Follow [Domain Join in Deploy](../../foundry-deploy/domain-join.md). Installed Windows needs online domain-controller access even when media has an offline OU catalog. Review joining, placement and post-restart membership separately. -Credentials become a restricted temporary plaintext target payload for the child operation. See [credential lifetime and cleanup](../../reference/security-and-credentials.md#domain-credentials-unreleased); cleanup warnings require administrator review before handoff. +Credentials become a restricted temporary plaintext target payload for the child operation. See [credential lifetime and cleanup](../../reference/security-and-credentials.md#domain-credentials); cleanup warnings require administrator review before handoff. diff --git a/foundry-osd/general.md b/foundry-osd/general.md index e1c5d0a..0fd682d 100644 --- a/foundry-osd/general.md +++ b/foundry-osd/general.md @@ -46,7 +46,7 @@ Validate custom drivers on representative hardware before using the media in pro | Autopilot certificate credentials for zero-touch upload, including the PFX file and its password | Yes | | Autopilot JSON profiles | Yes | | Custom Windows answer files | Yes | -| Zero Touch Domain Join account password (unreleased) | Yes; existing protection is required | +| Zero Touch Domain Join account password | Yes; existing protection is required | | Embedded Wi-Fi passwords, wired and Wi-Fi certificate PFX passwords, and network certificate private keys | No | Foundry Connect uses embedded network credentials before Foundry Deploy asks for the technician password, so automatic network setup remains available. Anyone who can read the ISO or USB can recover those network credentials, even when Protected deployment is enabled. Restrict access to the media and use dedicated network credentials that can be revoked. @@ -55,7 +55,7 @@ Foundry accepts passwords from 8 characters and recommends at least 12 character Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or files staged into the installed Windows system. -[Zero Touch Domain Join (unreleased)](domain-join/zero-touch.md) reuses this media password and Deploy's existing unlock session. [Interactive Domain Join](domain-join/interactive.md) introduces no protection prerequisite; custom answer files and other enabled features retain their own requirements. Domain credentials become a restricted temporary plaintext payload on the target for installed-Windows joining; see [credential lifetime and cleanup](../reference/security-and-credentials.md#domain-credentials-unreleased). +[Zero Touch Domain Join](domain-join/zero-touch.md) reuses this media password and Deploy's existing unlock session. [Interactive Domain Join](domain-join/interactive.md) introduces no protection prerequisite; custom answer files and other enabled features retain their own requirements. Domain credentials become a restricted temporary plaintext payload on the target for installed-Windows joining; see [credential lifetime and cleanup](../reference/security-and-credentials.md#domain-credentials). When Protected deployment is disabled, Autopilot JSON profiles remain readable on the media and other embedded deployment credentials can be recovered without a technician password. Treat possession of unprotected media as access to all embedded deployment information. diff --git a/foundry-osd/media/README.md b/foundry-osd/media/README.md index bacde5f..c4fb0f3 100644 --- a/foundry-osd/media/README.md +++ b/foundry-osd/media/README.md @@ -8,7 +8,7 @@ Choose the intended [deployment profile](../deployment-profiles.md) before start Resolve every blocking readiness item before starting. Checks cover Windows ADK and Windows PE, architecture, language, boot-image source, output paths, USB target, media options, drivers, networking, runtime configuration, secrets, customization, and Windows Autopilot. -[Domain Join (unreleased)](../domain-join/README.md) also checks active-mode metadata and catalog/default compatibility. Zero Touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Readiness does not establish live AD connectivity or account permissions. +[Domain Join](../domain-join/README.md) also checks active-mode metadata and catalog/default compatibility. Zero Touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Readiness does not establish live AD connectivity or account permissions.
Foundry OSD media creation readiness overview diff --git a/foundry-osd/settings.md b/foundry-osd/settings.md index 7502b02..3efbd8b 100644 --- a/foundry-osd/settings.md +++ b/foundry-osd/settings.md @@ -12,7 +12,7 @@ The application language changes the Foundry interface. Choose the Windows PE an Choose **Export diagnostics** to create a support archive with sensitive information filtered out. Your original log files are unchanged. -The export collects only the desktop application's top-level `Foundry*.log` files. It does not retrieve target PostInstall logs. In the unreleased Domain Join implementation, recognized quoted/escaped credential values are masked in sanitized output, and the known `credentials.bin` payload filename is excluded before reading in both sanitized and raw modes. [Collect safe domain evidence separately](../troubleshooting/logs-and-support.md#domain-join-evidence-unreleased). +The export collects only the desktop application's top-level `Foundry*.log` files. It does not retrieve target PostInstall logs. For Domain Join, recognized quoted/escaped credential values are masked in sanitized output, and the known `credentials.bin` payload filename is excluded before reading in both sanitized and raw modes. [Collect safe domain evidence separately](../troubleshooting/logs-and-support.md#domain-join-evidence). Use **Advanced: export raw logs** only when a support contact requests it. Raw logs can contain passwords, identifiers, paths, and network details. Review the warning and destination before sharing them. See [Logs and support](../troubleshooting/logs-and-support.md) for help collecting and sharing diagnostic information. @@ -48,7 +48,7 @@ Select a configuration from the list to apply it immediately. Expand the card to See [Deployment profiles](deployment-profiles.md) for step-by-step instructions, the differences between remembering and sharing passwords, and help with connection files or conflicting changes. -For unreleased automatic Domain Join, review [local retention, portable-export omission and shared-access keys](deployment-profiles.md#domain-credentials-unreleased). **Include passwords and confidential files** does not include the direct domain password in an ordinary export. +For automatic Domain Join, review [local retention, portable-export omission and shared-access keys](deployment-profiles.md#domain-credentials). **Include passwords and confidential files** does not include the direct domain password in an ordinary export. ## Proxy diff --git a/reference/security-and-credentials.md b/reference/security-and-credentials.md index ff1ffb7..e40a2ea 100644 --- a/reference/security-and-credentials.md +++ b/reference/security-and-credentials.md @@ -14,7 +14,7 @@ Depending on configuration, media may include or use: - Predefined passwords for local Windows accounts created during OOBE. - Custom Windows answer files, including credentials in their settings or commands. - Device hardware hashes and registration artifacts. -- Active Directory join credentials for Domain Join (unreleased). +- Active Directory join credentials for Domain Join. ## Required practices @@ -33,13 +33,13 @@ Review the [Protected deployment scope](../foundry-osd/general.md#protected-depl - [Zero-touch upload](../foundry-osd/autopilot/zero-touch-hardware-hash.md) credentials can be recovered from media created without Protected deployment. - Non-empty [OOBE local account passwords](../foundry-osd/customization/oobe.md#password-protection) require Protected deployment under Foundry's security policy and are encrypted in the deployment configuration. During Windows Setup, they are written to `unattend.xml` using reversible encoding, not encryption. Treat that answer file and its copies as sensitive data. - Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or data staged into the installed Windows system. -- [Zero Touch Domain Join (unreleased)](../foundry-osd/domain-join/zero-touch.md) requires the existing General protection key and Deploy unlock session. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects credentials at launch and adds no media-password prerequisite. +- [Zero Touch Domain Join](../foundry-osd/domain-join/zero-touch.md) requires the existing General protection key and Deploy unlock session. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects credentials at launch and adds no media-password prerequisite. If media is lost, stolen, or copied without authorization, revoke embedded credentials where applicable and recreate the media. Do not rely on the technician password as a substitute for physical media controls. -## Domain credentials (unreleased) +## Domain credentials -Domain passwords are context-bound to the active domain/account. Local **Remember passwords** and encrypted shared revisions can retain them under their respective choices. Ordinary portable exports always omit the direct domain password, including when confidential inputs are selected. Connection/recovery files also omit it, but shared-access keys can grant access to secrets in revisions. Follow [profile retention and sharing rules](../foundry-osd/deployment-profiles.md#domain-credentials-unreleased). +Domain passwords are context-bound to the active domain/account. Local **Remember passwords** and encrypted shared revisions can retain them under their respective choices. Ordinary portable exports always omit the direct domain password, including when confidential inputs are selected. Connection/recovery files also omit it, but shared-access keys can grant access to secrets in revisions. Follow [profile retention and sharing rules](../foundry-osd/deployment-profiles.md#domain-credentials). Deploy stages a temporary plaintext binary payload at `%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin`. The operation directory has protected inheritance and permits SYSTEM and Administrators before the file is created. Joining is its only sensitive consumer; later membership verification uses no join credentials. Target access controls and physical security remain necessary. diff --git a/reference/supported-versions.md b/reference/supported-versions.md index 0c702a8..8c98e7e 100644 --- a/reference/supported-versions.md +++ b/reference/supported-versions.md @@ -42,9 +42,9 @@ The [custom image workflow](../foundry-osd/customization/custom-windows-images.m Keep deployment media and its package content together, and choose scripts and installers compatible with the target Windows image and architecture. Test the complete workflow on representative hardware before rollout. -## Domain Join (unreleased) +## Domain Join -[Domain Join](../foundry-osd/domain-join/README.md) has no published minimum release yet. These draft guides describe the current implementation; x64/ARM64 compilation and portable tests do not establish native Windows Setup or disposable-domain acceptance. +[Domain Join](../foundry-osd/domain-join/README.md) supports eligible Windows editions on x64 and ARM64 targets. Use matching media/target architecture and validate the complete workflow before rollout. diff --git a/start-here/deployment-workflow.md b/start-here/deployment-workflow.md index 669d35e..7aaba9d 100644 --- a/start-here/deployment-workflow.md +++ b/start-here/deployment-workflow.md @@ -9,7 +9,7 @@ Use **Foundry OSD** on an administrator workstation to: - Install or validate Windows ADK and Windows PE components. - Configure networking and deployment behavior. - Select Windows customization options. -- Choose optional Windows Autopilot or [Domain Join (unreleased)](../foundry-osd/domain-join/README.md) provisioning; only one mode can be active. +- Choose optional Windows Autopilot or [Domain Join](../foundry-osd/domain-join/README.md) provisioning; only one mode can be active. - Create or update ISO and USB media. ## Phase 2: Establish network readiness @@ -27,7 +27,7 @@ The [Windows PE bootstrap](../reference/bootstrap.md) prepares this session and - Driver pack selection. - Firmware and Windows Autopilot options when configured. -Unreleased [Domain Join input](../foundry-deploy/domain-join.md) is gathered at launch before disk-erasure confirmation. Interactive asks for account/password and a permitted destination; automatic uses the existing unlock session and optional catalog selection. +[Domain Join input](../foundry-deploy/domain-join.md) is gathered at launch before disk-erasure confirmation. Interactive asks for account/password and a permitted destination; automatic uses the existing unlock session and optional catalog selection. ## Phase 4: Apply and configure Windows @@ -39,7 +39,7 @@ Review the completion state, deployment summary, and any reported error. Reboot ## Phase 6: Verify installed-Windows work -Follow staged [Post-installation](../foundry-osd/customization/post-installation.md) through first boot, controlled restarts and OOBE. Unreleased Domain Join runs after drivers/networking and verifies local membership after its required restart. Check OU placement/readback and credential cleanup separately. WinPE success establishes staging, not completed membership. Review [warnings and outcomes](../foundry-deploy/verify-deployment.md#domain-join-unreleased) before handoff. +Follow staged [Post-installation](../foundry-osd/customization/post-installation.md) through first boot, controlled restarts and OOBE. Domain Join runs after drivers/networking and verifies local membership after its required restart. Check OU placement/readback and credential cleanup separately. WinPE success establishes staging, not completed membership. Review [warnings and outcomes](../foundry-deploy/verify-deployment.md#domain-join) before handoff.
General**, use **Export diagnostics** to save a sanitized archiv Use **Advanced: export raw logs** only when requested by a trusted support contact, and review the sensitive-data warning before sharing the archive. See [Export diagnostics](../foundry-osd/settings.md#export-diagnostics). -In the unreleased Domain Join implementation, recognized quoted/escaped credential values are masked in sanitized logs, and `credentials.bin` is unconditionally excluded by basename before reading in sanitized and raw exports. The export still selects only desktop top-level `Foundry*.log` files; it does not retrieve target payloads or PostInstall evidence. Unknown/unlabelled secrets and arbitrarily renamed payloads are not a redaction guarantee. +For Domain Join, recognized quoted/escaped credential values are masked in sanitized logs, and `credentials.bin` is unconditionally excluded by basename before reading in sanitized and raw exports. The export still selects only desktop top-level `Foundry*.log` files; it does not retrieve target payloads or PostInstall evidence. Unknown/unlabelled secrets and arbitrarily renamed payloads are not a redaction guarantee. Remote diagnostics supplement local logs and support archives. Keep local evidence when investigating a failure: remote delivery can have gaps, and external-tool log files are not automatically uploaded. See [Telemetry and privacy](../reference/telemetry-and-privacy.md#remote-error-diagnostics). @@ -40,7 +40,7 @@ If records are missing, check consent, application version, network access, the - Selected Windows release, edition, language, and architecture. - Selected driver pack. - Autopilot method, without credentials or tenant secrets. -- For unreleased Domain Join, safe join/placement/membership/restart/cleanup states and allowlisted failure codes. Keep native API, LDAP client/transport and directory server result codes distinct; omit arbitrary directory diagnostics and credentials. +- For Domain Join, safe join/placement/membership/restart/cleanup states and allowlisted failure codes. Keep native API, LDAP client/transport and directory server result codes distinct; omit arbitrary directory diagnostics and credentials. ## Windows PE log location @@ -125,7 +125,7 @@ For [Post-installation](../foundry-osd/customization/post-installation.md), coll Desktop diagnostic export does not automatically collect target-machine logs. PostInstall does not send a separate remote telemetry stream. Review raw script output and installer logs before sharing them; they may contain secrets that automatic masking cannot remove reliably. -## Domain Join evidence (unreleased) +## Domain Join evidence For domain work successfully staged by Deploy, collect from the installed Windows target: From 9f8a1d7853a06f0330695ea23866b64cddac043e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Sun, 4 Oct 2026 21:37:18 +0200 Subject: [PATCH 06/31] docs(domain-join): align navigation and action labels --- SUMMARY.md | 2 +- foundry-osd/domain-join/README.md | 2 +- foundry-osd/domain-join/interactive.md | 6 +++--- foundry-osd/domain-join/zero-touch.md | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 18ec106..7b36588 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -18,8 +18,8 @@ * [Zero-touch hardware hash upload](foundry-osd/autopilot/zero-touch-hardware-hash.md) * [Interactive hardware hash upload](foundry-osd/autopilot/interactive-hardware-hash.md) * [Domain Join](foundry-osd/domain-join/README.md) - * [Interactive Domain Join](foundry-osd/domain-join/interactive.md) * [Zero Touch Domain Join](foundry-osd/domain-join/zero-touch.md) + * [Interactive Domain Join](foundry-osd/domain-join/interactive.md) * [Windows customization](foundry-osd/customization/README.md) * [Operating system](foundry-osd/customization/operating-system.md) * [Custom Windows images](foundry-osd/customization/custom-windows-images.md) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 0b1b936..d84cb8b 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -2,7 +2,7 @@ Use **Domain Join** to join installed Windows to an Active Directory domain before OOBE. Choose [Interactive Domain Join](interactive.md) when a technician supplies credentials for each deployment, or [Zero Touch Domain Join](zero-touch.md) when protected media supplies them. -Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can be active. Open the intended page and choose **Activate**. Confirm replacement if another mode is active. **Deactivate** excludes joining from new media while retaining nonsecret configuration. Credentials are cleared when their domain, account or active-mode ownership changes. +Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can be active. Open the intended page and choose **Enable**. Confirm replacement if another mode is active. **Disable** excludes joining from new media while retaining nonsecret configuration. Credentials are cleared when their domain, account or active-mode ownership changes. ## Before configuring diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index 899cac9..0476bb2 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -4,20 +4,20 @@ Choose this mode for shared deployment media when technicians should enter a dom ## Prepare the media -1. Open **Domain Join > Interactive Domain Join** and choose **Activate**. If prompted, confirm replacement of the active Domain Join or Autopilot mode. +1. Open **Domain Join > Interactive** and choose **Enable**. If prompted, confirm replacement of the active Domain Join or Autopilot mode. 2. Enter **Target DNS domain** to prefill the deployment dialog. You may leave it blank when no catalog is configured. 3. Optionally [add or import destinations](README.md#configure-destinations). A catalog requires its matching target domain. Set a default and decide whether to allow technician selection. 4. Resolve readiness messages, then [create or update media](../media/README.md). Interactive joining introduces no media-password prerequisite and stores no join password in the media. Other enabled options, including custom answer files, may independently require [Protected deployment](../general.md#protected-deployment). -Choose **Deactivate** to exclude joining from newly created media. Nonsecret settings remain available for later activation. +Choose **Disable** to exclude joining from newly created media. Nonsecret settings remain available for later activation. {% hint style="warning" %} **Screenshot required** - **File:** `foundry-osd-domain-join-interactive-01-configuration.png` -- **Capture:** Show the activated Interactive Domain Join page, target DNS domain, readiness and destination policy with sanitized demonstration data. +- **Capture:** Show the enabled Interactive Domain Join page, target DNS domain, readiness and destination policy with sanitized demonstration data. {% endhint %} ## Deploy a target diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index 53810c9..f344293 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -5,7 +5,7 @@ Choose this mode when protected deployment media should supply the join credenti ## Prepare protected media 1. In [General configuration](../general.md#protected-deployment), enable **Protected deployment** and supply its existing media password. -2. Open **Domain Join > Zero Touch Domain Join** and choose **Activate**. Confirm replacement if another Domain Join or Autopilot mode is active. +2. Open **Domain Join > Zero-Touch** and choose **Enable**. Confirm replacement if another Domain Join or Autopilot mode is active. 3. Enter **Target DNS domain**, then **Account (DOMAIN\user or user@domain)** and **Account password** under **Domain credentials**. Use an administrator-provided account such as `CORP\deployment-join` for `corp.example.test`. 4. Optionally [add or import destinations](README.md#configure-destinations). Choose a default and enable **Allow destination selection during deployment** only if technician selection is wanted. 5. Resolve all readiness messages and [create or update media](../media/README.md). @@ -16,12 +16,12 @@ The automatic password is encrypted using the existing Protected deployment key. **Screenshot required** - **File:** `foundry-osd-domain-join-zero-touch-01-readiness.png` -- **Capture:** Show activated Zero Touch Domain Join, credential field labels without credentials, readiness and the optional destination policy. +- **Capture:** Show enabled Zero Touch Domain Join, credential field labels without credentials, readiness and the optional destination policy. {% endhint %} ## Keep credentials associated with the correct profile -Changing the domain, account or active mode clears the entered password. Re-enter it for the reviewed identity. **Deactivate** excludes joining from new media and clears domain credentials while retaining nonsecret settings. +Changing the domain, account or active mode clears the entered password. Re-enter it for the reviewed identity. **Disable** excludes joining from new media and clears domain credentials while retaining nonsecret settings. [Remember passwords](../deployment-profiles.md#domain-credentials) can retain the password with a local profile. Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. An imported automatic profile remains structurally valid, but media creation needs the password and usable General protection on that PC. From d5ddf1f683822298adec232dca0b99213f4bb72f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Sun, 4 Oct 2026 21:47:16 +0200 Subject: [PATCH 07/31] docs(domain-join): standardize zero-touch spelling --- SUMMARY.md | 2 +- foundry-deploy/domain-join.md | 6 +++--- foundry-osd/deployment-profiles.md | 2 +- foundry-osd/domain-join/README.md | 6 +++--- foundry-osd/domain-join/zero-touch.md | 4 ++-- foundry-osd/general.md | 4 ++-- foundry-osd/media/README.md | 2 +- reference/security-and-credentials.md | 2 +- start-here/quick-start.md | 2 +- troubleshooting/domain-join.md | 2 +- 10 files changed, 16 insertions(+), 16 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 7b36588..d7fbefa 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -18,7 +18,7 @@ * [Zero-touch hardware hash upload](foundry-osd/autopilot/zero-touch-hardware-hash.md) * [Interactive hardware hash upload](foundry-osd/autopilot/interactive-hardware-hash.md) * [Domain Join](foundry-osd/domain-join/README.md) - * [Zero Touch Domain Join](foundry-osd/domain-join/zero-touch.md) + * [Zero-touch Domain Join](foundry-osd/domain-join/zero-touch.md) * [Interactive Domain Join](foundry-osd/domain-join/interactive.md) * [Windows customization](foundry-osd/customization/README.md) * [Operating system](foundry-osd/customization/operating-system.md) diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index 5f9c965..63e3ee1 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -1,6 +1,6 @@ # Domain Join during deployment -Use media configured for [Interactive](../foundry-osd/domain-join/interactive.md) or [Zero Touch](../foundry-osd/domain-join/zero-touch.md) Domain Join. Obtain the intended domain, destination and unique computer name from the administrator. Installed Windows needs domain DNS, controller access and the appropriate account permissions. +Use media configured for [Interactive](../foundry-osd/domain-join/interactive.md) or [Zero-touch](../foundry-osd/domain-join/zero-touch.md) Domain Join. Obtain the intended domain, destination and unique computer name from the administrator. Installed Windows needs domain DNS, controller access and the appropriate account permissions. ## Review the target and Windows @@ -15,14 +15,14 @@ The dialog preparation does not contact AD. Valid syntax and successful unlock d For Interactive mode, **Domain join** asks for **Domain DNS name**, **Account (DOMAIN\user or user@domain)** and **Password**. A prefilled domain remains editable. -For Zero Touch, use the existing Protected deployment unlock. The encrypted account/password are checked against their authored domain/account context. There is no new password prompt; the dialog appears only for enabled destination selection. +For Zero-touch, use the existing Protected deployment unlock. The encrypted account/password are checked against their authored domain/account context. There is no new password prompt; the dialog appears only for enabled destination selection. | Destination policy | Technician action | | --- | --- | | Compatible catalog with selection enabled | Choose a listed **Organizational unit**. The authored default is preselected; **Continue** requires a selected row. | | Compatible catalog with selection disabled | No destination editor. The configured default is fixed; without a default, use Windows' default destination. | | Interactive without a compatible catalog | Enter **OU distinguished name (optional)** inside the submitted domain, or leave it empty. | -| Zero Touch without selection | No dialog; use the authored default or Windows' default destination. | +| Zero-touch without selection | No dialog; use the authored default or Windows' default destination. | Changing an interactive domain clears destination input and suppresses incompatible catalog choices. A compatible catalog does not allow arbitrary typed destinations. Select **Continue**, then review the actual domain and destination in **Confirm disk erase**. Account and password are not included in the summary or confirmation. **Cancel** leaves deployment unstarted. diff --git a/foundry-osd/deployment-profiles.md b/foundry-osd/deployment-profiles.md index 9d02668..8db299b 100644 --- a/foundry-osd/deployment-profiles.md +++ b/foundry-osd/deployment-profiles.md @@ -55,7 +55,7 @@ This action does not remove exported files, copies on the shared folder, origina ### Domain credentials -[Zero Touch Domain Join](domain-join/zero-touch.md) passwords belong to the active profile's canonical domain/account context. **Remember passwords** can retain them locally using the existing protected revision/key storage. Turning remembering off stops future retention without clearing the current session; **Clear saved passwords and access** also clears current passwords and synchronization access. +[Zero-touch Domain Join](domain-join/zero-touch.md) passwords belong to the active profile's canonical domain/account context. **Remember passwords** can retain them locally using the existing protected revision/key storage. Turning remembering off stops future retention without clearing the current session; **Clear saved passwords and access** also clears current passwords and synchronization access. Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. Connection and recovery files use that same export rule. They may still carry shared-revision access keys: possession of the file and its password can grant access to shared secrets. diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index d84cb8b..8734df1 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -1,6 +1,6 @@ # Domain Join -Use **Domain Join** to join installed Windows to an Active Directory domain before OOBE. Choose [Interactive Domain Join](interactive.md) when a technician supplies credentials for each deployment, or [Zero Touch Domain Join](zero-touch.md) when protected media supplies them. +Use **Domain Join** to join installed Windows to an Active Directory domain before OOBE. Choose [Interactive Domain Join](interactive.md) when a technician supplies credentials for each deployment, or [Zero-touch Domain Join](zero-touch.md) when protected media supplies them. Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can be active. Open the intended page and choose **Enable**. Confirm replacement if another mode is active. **Disable** excludes joining from new media while retaining nonsecret configuration. Credentials are cleared when their domain, account or active-mode ownership changes. @@ -15,13 +15,13 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can Both pages support the same optional catalog. Use a DNS domain such as `corp.example.test`, a display label such as `Workstations`, and a distinguished name such as `OU=Workstations,DC=corp,DC=example,DC=test`. -1. Enter **Target DNS domain**. It is required for Zero Touch and for a catalog; Interactive without a catalog may leave it for the technician. +1. Enter **Target DNS domain**. It is required for Zero-touch and for a catalog; Interactive without a catalog may leave it for the technician. 2. Under **Add a destination manually**, enter **Display label** and **OU distinguished name**, then choose **Add destination**. The DN must belong to the target domain. The catalog holds at most 1,024 destinations. 3. Alternatively, use [explicit discovery and import](#discover-and-import-destinations). 4. Choose **Default destination (optional)**, or **Clear default** to leave the destination unset. 5. Enable **Allow destination selection during deployment** if technicians should choose among the catalog rows. A default is preselected; without one, a listed choice is required before continuing. -With selection disabled, the configured default is fixed. With no default, Windows uses its default domain account location; a reused account is left in its current location. A compatible catalog restricts technicians to authored choices. Interactive deployment without a compatible catalog instead offers an optional typed DN. Zero Touch does not offer freeform destinations. +With selection disabled, the configured default is fixed. With no default, Windows uses its default domain account location; a reused account is left in its current location. A compatible catalog restricts technicians to authored choices. Interactive deployment without a compatible catalog instead offers an optional typed DN. Zero-touch does not offer freeform destinations. Changing the authored domain clears the default and disables selection, but retains catalog rows. Remove or correct rows from the previous domain before creating media. Removing the default row clears the default; removing the last row also clears catalog selection. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index f344293..b31981e 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -1,4 +1,4 @@ -# Zero Touch Domain Join +# Zero-touch Domain Join Choose this mode when protected deployment media should supply the join credentials. An optional destination picker can still require technician input. @@ -16,7 +16,7 @@ The automatic password is encrypted using the existing Protected deployment key. **Screenshot required** - **File:** `foundry-osd-domain-join-zero-touch-01-readiness.png` -- **Capture:** Show enabled Zero Touch Domain Join, credential field labels without credentials, readiness and the optional destination policy. +- **Capture:** Show enabled Zero-touch Domain Join, credential field labels without credentials, readiness and the optional destination policy. {% endhint %} ## Keep credentials associated with the correct profile diff --git a/foundry-osd/general.md b/foundry-osd/general.md index 0fd682d..b64e988 100644 --- a/foundry-osd/general.md +++ b/foundry-osd/general.md @@ -46,7 +46,7 @@ Validate custom drivers on representative hardware before using the media in pro | Autopilot certificate credentials for zero-touch upload, including the PFX file and its password | Yes | | Autopilot JSON profiles | Yes | | Custom Windows answer files | Yes | -| Zero Touch Domain Join account password | Yes; existing protection is required | +| Zero-touch Domain Join account password | Yes; existing protection is required | | Embedded Wi-Fi passwords, wired and Wi-Fi certificate PFX passwords, and network certificate private keys | No | Foundry Connect uses embedded network credentials before Foundry Deploy asks for the technician password, so automatic network setup remains available. Anyone who can read the ISO or USB can recover those network credentials, even when Protected deployment is enabled. Restrict access to the media and use dedicated network credentials that can be revoked. @@ -55,7 +55,7 @@ Foundry accepts passwords from 8 characters and recommends at least 12 character Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or files staged into the installed Windows system. -[Zero Touch Domain Join](domain-join/zero-touch.md) reuses this media password and Deploy's existing unlock session. [Interactive Domain Join](domain-join/interactive.md) introduces no protection prerequisite; custom answer files and other enabled features retain their own requirements. Domain credentials become a restricted temporary plaintext payload on the target for installed-Windows joining; see [credential lifetime and cleanup](../reference/security-and-credentials.md#domain-credentials). +[Zero-touch Domain Join](domain-join/zero-touch.md) reuses this media password and Deploy's existing unlock session. [Interactive Domain Join](domain-join/interactive.md) introduces no protection prerequisite; custom answer files and other enabled features retain their own requirements. Domain credentials become a restricted temporary plaintext payload on the target for installed-Windows joining; see [credential lifetime and cleanup](../reference/security-and-credentials.md#domain-credentials). When Protected deployment is disabled, Autopilot JSON profiles remain readable on the media and other embedded deployment credentials can be recovered without a technician password. Treat possession of unprotected media as access to all embedded deployment information. diff --git a/foundry-osd/media/README.md b/foundry-osd/media/README.md index c4fb0f3..deb3b72 100644 --- a/foundry-osd/media/README.md +++ b/foundry-osd/media/README.md @@ -8,7 +8,7 @@ Choose the intended [deployment profile](../deployment-profiles.md) before start Resolve every blocking readiness item before starting. Checks cover Windows ADK and Windows PE, architecture, language, boot-image source, output paths, USB target, media options, drivers, networking, runtime configuration, secrets, customization, and Windows Autopilot. -[Domain Join](../domain-join/README.md) also checks active-mode metadata and catalog/default compatibility. Zero Touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Readiness does not establish live AD connectivity or account permissions. +[Domain Join](../domain-join/README.md) also checks active-mode metadata and catalog/default compatibility. Zero-touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Readiness does not establish live AD connectivity or account permissions.
Foundry OSD media creation readiness overview diff --git a/reference/security-and-credentials.md b/reference/security-and-credentials.md index e40a2ea..2d31bd6 100644 --- a/reference/security-and-credentials.md +++ b/reference/security-and-credentials.md @@ -33,7 +33,7 @@ Review the [Protected deployment scope](../foundry-osd/general.md#protected-depl - [Zero-touch upload](../foundry-osd/autopilot/zero-touch-hardware-hash.md) credentials can be recovered from media created without Protected deployment. - Non-empty [OOBE local account passwords](../foundry-osd/customization/oobe.md#password-protection) require Protected deployment under Foundry's security policy and are encrypted in the deployment configuration. During Windows Setup, they are written to `unattend.xml` using reversible encoding, not encryption. Treat that answer file and its copies as sensitive data. - Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or data staged into the installed Windows system. -- [Zero Touch Domain Join](../foundry-osd/domain-join/zero-touch.md) requires the existing General protection key and Deploy unlock session. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects credentials at launch and adds no media-password prerequisite. +- [Zero-touch Domain Join](../foundry-osd/domain-join/zero-touch.md) requires the existing General protection key and Deploy unlock session. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects credentials at launch and adds no media-password prerequisite. If media is lost, stolen, or copied without authorization, revoke embedded credentials where applicable and recreate the media. Do not rely on the technician password as a substitute for physical media controls. diff --git a/start-here/quick-start.md b/start-here/quick-start.md index 5138d6e..04e9b27 100644 --- a/start-here/quick-start.md +++ b/start-here/quick-start.md @@ -21,7 +21,7 @@ Open **General configuration** and confirm the deployment settings. Review the [ - Add Wi-Fi or Ethernet 802.1X settings when the target cannot use an open wired network. - Choose Windows customization options required by the organization. - Configure Windows Autopilot only when the device must be registered or receive a profile. -- Alternatively, configure [Domain Join](../foundry-osd/domain-join/README.md). It replaces active Autopilot provisioning. Only Zero Touch adds the existing General protection prerequisite; Interactive adds none. +- Alternatively, configure [Domain Join](../foundry-osd/domain-join/README.md). It replaces active Autopilot provisioning. Only Zero-touch adds the existing General protection prerequisite; Interactive adds none. ## 5. Create deployment media diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index bad2e5a..e1c7c64 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -15,7 +15,7 @@ Restart states and cleanup states are recorded separately from these phases. A c ## Media is not ready or input is rejected -- For Zero Touch, supply the context-matching domain password and a usable existing [General protection password](../foundry-osd/general.md#protected-deployment). Imported portable profiles deliberately omit the direct domain password. +- For Zero-touch, supply the context-matching domain password and a usable existing [General protection password](../foundry-osd/general.md#protected-deployment). Imported portable profiles deliberately omit the direct domain password. - For Interactive without a catalog, enter the domain at launch. A typed optional OU DN must parse and belong to that domain. - For a compatible enabled catalog picker, choose a listed OU. Without a default, a selection is required. Changing the interactive domain clears earlier destination input and suppresses an incompatible catalog. - Correct retained catalog rows after an authored domain change. Discovery reads the authoring computer's AD domain using the current Windows identity; it does not test deployment-account permissions. Manual entries remain available when discovery fails. From a9575dd799b36f2e47d410b1238ab0a10409b3c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Mon, 5 Oct 2026 19:04:22 +0200 Subject: [PATCH 08/31] docs(domain-join): match destination table wording Co-Authored-By: Claude Opus 5.5 --- foundry-osd/domain-join/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 8734df1..9873fc8 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -23,7 +23,7 @@ Both pages support the same optional catalog. Use a DNS domain such as `corp.exa With selection disabled, the configured default is fixed. With no default, Windows uses its default domain account location; a reused account is left in its current location. A compatible catalog restricts technicians to authored choices. Interactive deployment without a compatible catalog instead offers an optional typed DN. Zero-touch does not offer freeform destinations. -Changing the authored domain clears the default and disables selection, but retains catalog rows. Remove or correct rows from the previous domain before creating media. Removing the default row clears the default; removing the last row also clears catalog selection. +Changing the authored domain clears the default and disables selection, but retains catalog rows. Select rows from the previous domain under **Destinations** and choose **Remove selected**, or correct the domain, before creating media. Removing the default row clears the default; removing the last row also clears catalog selection. A retained catalog that no longer matches the target domain is an editing draft. Repair the mismatch before saving a named-profile checkpoint, exporting the profile or creating media. Activating a named profile restores its last valid checkpoint. @@ -31,7 +31,7 @@ A retained catalog that no longer matches the target domain is an editing draft. 1. Use an authoring computer already joined to the intended AD domain and connect it to that directory. 2. Under **Import from the computer domain**, choose **Discover destinations**. -3. Review the displayed computer domain and preview. Check the rows to retain, then choose **Import selected destinations**. Discovery alone does not change the saved catalog. +3. Review the displayed computer domain and preview. Select the rows to retain, then choose **Import selected destinations**. Discovery alone does not change the saved catalog. 4. Review the merged catalog and default. Existing manual rows and the default are preserved; duplicate DNs are not added again. An empty target domain is populated from the import; a different target/catalog domain must be corrected first. Discovery selects the computer's actual AD domain, using your current Windows identity to read it. The signed-in user's domain is not the domain selector. Requests and preview size are bounded; an incomplete preview is labelled as such. Use **Cancel discovery** if needed. Manual destinations remain available when discovery is unavailable. @@ -40,7 +40,7 @@ Discovery selects the computer's actual AD domain, using your current Windows id **Screenshot required** - **File:** `foundry-osd-domain-join-01-destination-catalog.png` -- **Capture:** Show the destination catalog, optional default, selection checkbox and explicitly selected discovery preview using sanitized demonstration data. +- **Capture:** Show the destination catalog, optional default, selection toggle and explicitly selected discovery preview using sanitized demonstration data. {% endhint %} ## Build and verify From 086ea4532eff81c2bfe0f708f9c6d0fd518767a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Mon, 5 Oct 2026 19:14:14 +0200 Subject: [PATCH 09/31] docs(domain-join): mention the destinations section Co-Authored-By: Claude Opus 5.5 --- foundry-osd/domain-join/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 9873fc8..27adb9f 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -16,7 +16,7 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can Both pages support the same optional catalog. Use a DNS domain such as `corp.example.test`, a display label such as `Workstations`, and a distinguished name such as `OU=Workstations,DC=corp,DC=example,DC=test`. 1. Enter **Target DNS domain**. It is required for Zero-touch and for a catalog; Interactive without a catalog may leave it for the technician. -2. Under **Add a destination manually**, enter **Display label** and **OU distinguished name**, then choose **Add destination**. The DN must belong to the target domain. The catalog holds at most 1,024 destinations. +2. Expand **Destinations**. Under **Add a destination manually**, enter **Display label** and **OU distinguished name**, then choose **Add destination**. The DN must belong to the target domain. The catalog holds at most 1,024 destinations. 3. Alternatively, use [explicit discovery and import](#discover-and-import-destinations). 4. Choose **Default destination (optional)**, or **Clear default** to leave the destination unset. 5. Enable **Allow destination selection during deployment** if technicians should choose among the catalog rows. A default is preselected; without one, a listed choice is required before continuing. From 9054059c63d3135798fb06ed6a8b1019ab28015a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Mon, 5 Oct 2026 19:30:39 +0200 Subject: [PATCH 10/31] docs(domain-join): clarify that a disabled mode does not block media Co-Authored-By: Claude Opus 5.5 --- foundry-osd/domain-join/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 27adb9f..65d1402 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -25,7 +25,7 @@ With selection disabled, the configured default is fixed. With no default, Windo Changing the authored domain clears the default and disables selection, but retains catalog rows. Select rows from the previous domain under **Destinations** and choose **Remove selected**, or correct the domain, before creating media. Removing the default row clears the default; removing the last row also clears catalog selection. -A retained catalog that no longer matches the target domain is an editing draft. Repair the mismatch before saving a named-profile checkpoint, exporting the profile or creating media. Activating a named profile restores its last valid checkpoint. +A retained catalog that no longer matches the target domain is an editing draft. While Domain Join is enabled, repair the mismatch before saving a named-profile checkpoint, exporting the profile or creating media. A disabled Domain Join mode does not block them. Activating a named profile restores its last valid checkpoint. ## Discover and import destinations From b2f20325338ca3d8c8107128fd50538367fbd5e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Mon, 5 Oct 2026 19:57:46 +0200 Subject: [PATCH 11/31] docs(domain-join): use the revised interface labels Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/domain-join.md | 2 +- foundry-osd/domain-join/README.md | 16 ++++++++-------- foundry-osd/domain-join/interactive.md | 4 ++-- foundry-osd/domain-join/zero-touch.md | 4 ++-- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index 63e3ee1..ca56250 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -13,7 +13,7 @@ The dialog preparation does not contact AD. Valid syntax and successful unlock d ## Supply interactive input or select a destination -For Interactive mode, **Domain join** asks for **Domain DNS name**, **Account (DOMAIN\user or user@domain)** and **Password**. A prefilled domain remains editable. +For Interactive mode, **Domain join** asks for **Domain name**, **Account (DOMAIN\user or user@domain)** and **Password**. A prefilled domain remains editable. For Zero-touch, use the existing Protected deployment unlock. The encrypted account/password are checked against their authored domain/account context. There is no new password prompt; the dialog appears only for enabled destination selection. diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 65d1402..21438ff 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -15,26 +15,26 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can Both pages support the same optional catalog. Use a DNS domain such as `corp.example.test`, a display label such as `Workstations`, and a distinguished name such as `OU=Workstations,DC=corp,DC=example,DC=test`. -1. Enter **Target DNS domain**. It is required for Zero-touch and for a catalog; Interactive without a catalog may leave it for the technician. -2. Expand **Destinations**. Under **Add a destination manually**, enter **Display label** and **OU distinguished name**, then choose **Add destination**. The DN must belong to the target domain. The catalog holds at most 1,024 destinations. +1. Enter **Domain name**. It is required for Zero-touch and for a catalog; Interactive without a catalog may leave it for the technician. +2. Expand **Organizational units**. Under **Add an OU manually**, enter **Display name** and **Distinguished name**, then choose **Add OU**. The DN must belong to the target domain. The catalog holds at most 1,024 destinations. 3. Alternatively, use [explicit discovery and import](#discover-and-import-destinations). -4. Choose **Default destination (optional)**, or **Clear default** to leave the destination unset. -5. Enable **Allow destination selection during deployment** if technicians should choose among the catalog rows. A default is preselected; without one, a listed choice is required before continuing. +4. Choose **Default OU**, or **Clear** to leave the destination unset. +5. Enable **Let technicians choose the OU** if technicians should choose among the catalog rows. A default is preselected; without one, a listed choice is required before continuing. With selection disabled, the configured default is fixed. With no default, Windows uses its default domain account location; a reused account is left in its current location. A compatible catalog restricts technicians to authored choices. Interactive deployment without a compatible catalog instead offers an optional typed DN. Zero-touch does not offer freeform destinations. -Changing the authored domain clears the default and disables selection, but retains catalog rows. Select rows from the previous domain under **Destinations** and choose **Remove selected**, or correct the domain, before creating media. Removing the default row clears the default; removing the last row also clears catalog selection. +Changing the authored domain clears the default and disables selection, but retains catalog rows. Select rows from the previous domain under **Organizational units** and choose **Remove selected**, or correct the domain, before creating media. Removing the default row clears the default; removing the last row also clears catalog selection. A retained catalog that no longer matches the target domain is an editing draft. While Domain Join is enabled, repair the mismatch before saving a named-profile checkpoint, exporting the profile or creating media. A disabled Domain Join mode does not block them. Activating a named profile restores its last valid checkpoint. ## Discover and import destinations 1. Use an authoring computer already joined to the intended AD domain and connect it to that directory. -2. Under **Import from the computer domain**, choose **Discover destinations**. -3. Review the displayed computer domain and preview. Select the rows to retain, then choose **Import selected destinations**. Discovery alone does not change the saved catalog. +2. Under **Import OUs from this computer's domain**, choose **Find OUs**. +3. Review the displayed computer domain and preview. Select the rows to retain, then choose **Add selected OUs**. Discovery alone does not change the saved catalog. 4. Review the merged catalog and default. Existing manual rows and the default are preserved; duplicate DNs are not added again. An empty target domain is populated from the import; a different target/catalog domain must be corrected first. -Discovery selects the computer's actual AD domain, using your current Windows identity to read it. The signed-in user's domain is not the domain selector. Requests and preview size are bounded; an incomplete preview is labelled as such. Use **Cancel discovery** if needed. Manual destinations remain available when discovery is unavailable. +Discovery selects the computer's actual AD domain, using your current Windows identity to read it. The signed-in user's domain is not the domain selector. Requests and preview size are bounded; an incomplete preview is labelled as such. Use **Cancel search** if needed. Manual destinations remain available when discovery is unavailable. {% hint style="warning" %} **Screenshot required** diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index 0476bb2..07cefca 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -5,7 +5,7 @@ Choose this mode for shared deployment media when technicians should enter a dom ## Prepare the media 1. Open **Domain Join > Interactive** and choose **Enable**. If prompted, confirm replacement of the active Domain Join or Autopilot mode. -2. Enter **Target DNS domain** to prefill the deployment dialog. You may leave it blank when no catalog is configured. +2. Enter **Domain name** to prefill the deployment dialog. You may leave it blank when no catalog is configured. 3. Optionally [add or import destinations](README.md#configure-destinations). A catalog requires its matching target domain. Set a default and decide whether to allow technician selection. 4. Resolve readiness messages, then [create or update media](../media/README.md). @@ -22,7 +22,7 @@ Choose **Disable** to exclude joining from newly created media. Nonsecret settin ## Deploy a target -Before disk-erasure confirmation, Deploy opens **Domain join**. Enter **Domain DNS name**, **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. +Before disk-erasure confirmation, Deploy opens **Domain join**. Enter **Domain name**, **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. If the compatible catalog picker is enabled, select a listed **Organizational unit**. The configured default starts selected, and **Continue** requires a selection. A catalog with selection disabled uses its fixed default or the default domain destination. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index b31981e..7c1ca52 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -6,8 +6,8 @@ Choose this mode when protected deployment media should supply the join credenti 1. In [General configuration](../general.md#protected-deployment), enable **Protected deployment** and supply its existing media password. 2. Open **Domain Join > Zero-Touch** and choose **Enable**. Confirm replacement if another Domain Join or Autopilot mode is active. -3. Enter **Target DNS domain**, then **Account (DOMAIN\user or user@domain)** and **Account password** under **Domain credentials**. Use an administrator-provided account such as `CORP\deployment-join` for `corp.example.test`. -4. Optionally [add or import destinations](README.md#configure-destinations). Choose a default and enable **Allow destination selection during deployment** only if technician selection is wanted. +3. Enter **Domain name**, then **Account (DOMAIN\user or user@domain)** and **Password** under **Join account**. Use an administrator-provided account such as `CORP\deployment-join` for `corp.example.test`. +4. Optionally [add or import destinations](README.md#configure-destinations). Choose a default and enable **Let technicians choose the OU** only if technician selection is wanted. 5. Resolve all readiness messages and [create or update media](../media/README.md). The automatic password is encrypted using the existing Protected deployment key. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. Without a destination picker, no Domain join dialog is introduced. With a picker, the domain is read-only and the credential editors are hidden; the technician must choose a catalog row before continuing. From 5511f99c9669b26eba3d28f6b9ea9752635c4e84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Mon, 5 Oct 2026 20:03:48 +0200 Subject: [PATCH 12/31] docs(domain-join): describe OUs instead of destinations and catalogs Use the vocabulary of the interface throughout the Domain Join guidance: organizational units, the OU list, the default OU and technician choice. Rename the affected headings and update the links that point to them. Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/README.md | 2 +- foundry-deploy/domain-join.md | 26 +++++++++--------- foundry-deploy/review-and-deploy.md | 4 +-- foundry-osd/deployment-profiles.md | 2 +- foundry-osd/domain-join/README.md | 38 +++++++++++++------------- foundry-osd/domain-join/interactive.md | 12 ++++---- foundry-osd/domain-join/zero-touch.md | 10 +++---- foundry-osd/media/README.md | 2 +- reference/supported-versions.md | 2 +- start-here/deployment-workflow.md | 2 +- start-here/quick-start.md | 2 +- troubleshooting/domain-join.md | 12 ++++---- troubleshooting/logs-and-support.md | 2 +- 13 files changed, 58 insertions(+), 58 deletions(-) diff --git a/foundry-deploy/README.md b/foundry-deploy/README.md index 70d0e7b..5465166 100644 --- a/foundry-deploy/README.md +++ b/foundry-deploy/README.md @@ -30,5 +30,5 @@ Keep deployment media under your control. Packages without a catalog hash retain 2. [Select Windows](operating-system.md). 3. [Select a driver pack](driver-pack.md). 4. Configure Windows Autopilot when JSON profile or zero-touch upload media requires a deployment-time choice. Interactive upload runs later during Windows OOBE and does not add this wizard step. -5. [Review and deploy](review-and-deploy.md). Domain Join media collects [conditional launch input](domain-join.md#supply-interactive-input-or-select-a-destination) before disk-erasure confirmation; it does not add a standalone wizard page. +5. [Review and deploy](review-and-deploy.md). Domain Join media collects [conditional launch input](domain-join.md#supply-interactive-input-or-select-an-ou) before disk-erasure confirmation; it does not add a standalone wizard page. 6. [Verify deployment](verify-deployment.md). diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index ca56250..0283cb0 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -1,36 +1,36 @@ # Domain Join during deployment -Use media configured for [Interactive](../foundry-osd/domain-join/interactive.md) or [Zero-touch](../foundry-osd/domain-join/zero-touch.md) Domain Join. Obtain the intended domain, destination and unique computer name from the administrator. Installed Windows needs domain DNS, controller access and the appropriate account permissions. +Use media configured for [Interactive](../foundry-osd/domain-join/interactive.md) or [Zero-touch](../foundry-osd/domain-join/zero-touch.md) Domain Join. Obtain the intended domain, OU and unique computer name from the administrator. Installed Windows needs domain DNS, controller access and the appropriate account permissions. ## Review the target and Windows 1. Confirm the [target disk and final computer name](target.md). Native naming uses Foundry's validated name. A custom answer file must contain exactly one valid concrete `ComputerName` in an applicable `Microsoft-Windows-Shell-Setup` `specialize` component, and no `Microsoft-Windows-UnattendedJoin` component. Missing, wildcard, invalid or multiple names cannot supply this identity. 2. Select the intended Windows image and edition. Known Home-family editions skip Domain Join with a warning while installation continues; unfamiliar or missing edition metadata is deferred to image/native inspection. -3. Review the wizard summary's authored domain and default destination. It precedes deployment-time input and does not reflect an OU chosen later in the launch dialog. +3. Review the wizard summary's authored domain and default OU. It precedes deployment-time input and does not reflect an OU chosen later in the launch dialog. 4. Start deployment to prepare domain input before **Confirm disk erase**. The dialog preparation does not contact AD. Valid syntax and successful unlock do not prove that the supplied account can join or place the computer. -## Supply interactive input or select a destination +## Supply interactive input or select an OU For Interactive mode, **Domain join** asks for **Domain name**, **Account (DOMAIN\user or user@domain)** and **Password**. A prefilled domain remains editable. -For Zero-touch, use the existing Protected deployment unlock. The encrypted account/password are checked against their authored domain/account context. There is no new password prompt; the dialog appears only for enabled destination selection. +For Zero-touch, use the existing Protected deployment unlock. The encrypted account/password are checked against their authored domain/account context. There is no new password prompt; the dialog appears only for enabled technician OU choice. -| Destination policy | Technician action | +| OU configuration | Technician action | | --- | --- | -| Compatible catalog with selection enabled | Choose a listed **Organizational unit**. The authored default is preselected; **Continue** requires a selected row. | -| Compatible catalog with selection disabled | No destination editor. The configured default is fixed; without a default, use Windows' default destination. | -| Interactive without a compatible catalog | Enter **OU distinguished name (optional)** inside the submitted domain, or leave it empty. | -| Zero-touch without selection | No dialog; use the authored default or Windows' default destination. | +| OU list with technician choice enabled | Choose a listed **Organizational unit**. The authored default is preselected; **Continue** requires a selected row. | +| OU list with technician choice disabled | No OU field. The configured default is fixed; without a default, use the domain's default location. | +| Interactive without a usable OU list | Enter **OU distinguished name (optional)** inside the submitted domain, or leave it empty. | +| Zero-touch without selection | No dialog; use the authored default or the domain's default location. | -Changing an interactive domain clears destination input and suppresses incompatible catalog choices. A compatible catalog does not allow arbitrary typed destinations. Select **Continue**, then review the actual domain and destination in **Confirm disk erase**. Account and password are not included in the summary or confirmation. **Cancel** leaves deployment unstarted. +Changing the domain in Interactive mode clears the OU input and hides listed OUs that belong to another domain. When an OU list applies, a typed OU is not accepted. Select **Continue**, then review the actual domain and OU in **Confirm disk erase**. Account and password are not included in the summary or confirmation. **Cancel** leaves deployment unstarted. {% hint style="warning" %} **Screenshot required** -- **File:** `foundry-deploy-domain-join-01-interactive-destination.png` -- **Capture:** Show the Domain join dialog and optional no-catalog DN editor using sanitized demonstration data, with credential fields empty. +- **File:** `foundry-deploy-domain-join-01-interactive-ou.png` +- **Capture:** Show the Domain join dialog and optional OU distinguished name field shown when no OU list applies using sanitized demonstration data, with credential fields empty. {% endhint %} ## Follow staging and first boot @@ -39,7 +39,7 @@ Deploy stages the operation-owned credential payload and execution records. Its In installed Windows, PostInstall runs joining and placement after deferred drivers and networking, before the remaining built-ins and custom actions. When joining succeeds, it requests a controlled restart even if OU placement fails, then verifies the expected local name and domain without credentials. -A selected destination is used for a new account. A safely identified reused account is moved within the same domain without deletion/recreation, preserving its GUID. If the worker cannot prove the object's identity or destination, it reports a separate placement warning rather than moving an unproven account. Without a destination, it does not relocate a reused account. +A selected OU is used for a new account. A safely identified reused account is moved within the same domain without deletion/recreation, preserving its GUID. If the worker cannot prove the object's identity or the OU, it reports a separate placement warning rather than moving an unproven account. Without an OU, it does not relocate a reused account. ## Confirm the result diff --git a/foundry-deploy/review-and-deploy.md b/foundry-deploy/review-and-deploy.md index 5d4d17d..2ae8a37 100644 --- a/foundry-deploy/review-and-deploy.md +++ b/foundry-deploy/review-and-deploy.md @@ -11,7 +11,7 @@ Confirm: - Driver pack. - Firmware options. - Windows Autopilot method and, for zero-touch hardware hash upload, the configured group tag. -- Domain Join mode, authored domain and default destination when configured. +- Domain Join mode, authored domain and default OU when configured. - Optional features and other deployment customization.
@@ -25,7 +25,7 @@ When the media includes [custom answer files](../foundry-osd/customization/unatt Start only when every value is correct. Foundry opens **Confirm disk erase** before crossing the destructive boundary. Verify the disk number, model, bus, size, and selected operating system before accepting. -[Domain Join](domain-join.md) gathers interactive credentials or a permitted catalog choice at launch before this confirmation. The earlier wizard summary shows authored defaults; confirmation appends the actual prepared domain/destination or known unsupported-edition skip. Account and password are not included. Cancelling the domain dialog never reaches destructive confirmation. +[Domain Join](domain-join.md) gathers interactive credentials or a permitted OU choice at launch before this confirmation. The earlier wizard summary shows authored defaults; confirmation appends the actual prepared domain and OU or known unsupported-edition skip. Account and password are not included. Cancelling the domain dialog never reaches destructive confirmation. {% hint style="danger" %} Accepting the confirmation allows Foundry to clean and repartition the selected disk. Existing data on that disk will be lost. diff --git a/foundry-osd/deployment-profiles.md b/foundry-osd/deployment-profiles.md index 8db299b..4cf590c 100644 --- a/foundry-osd/deployment-profiles.md +++ b/foundry-osd/deployment-profiles.md @@ -72,7 +72,7 @@ An omitted-secret automatic profile can be saved/imported with **Remember passwo With the option off, the file contains settings without saved passwords or attached confidential files. Autopilot JSON entered in the configuration is still part of those settings; review it before sharing. -With the option on, Foundry includes available files selected in the configuration, such as custom answer files, wired or enterprise Wi-Fi XML profiles, and network or Autopilot PFX certificates. Missing files cannot be included. The direct Domain Join password is always omitted; domain/account/catalog metadata remains. +With the option on, Foundry includes available files selected in the configuration, such as custom answer files, wired or enterprise Wi-Fi XML profiles, and network or Autopilot PFX certificates. Missing files cannot be included. The direct Domain Join password is always omitted; the domain name, account and OU list remain. An export supports up to **64 attached files**, **4 MiB per file**, and **8 MiB of attached files in total**. The complete configuration, including attachments, must fit within **16 MiB**. Transfer Windows images, driver collections, and generated media separately. diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 21438ff..8a65126 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -6,45 +6,45 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can ## Before configuring -- Arrange domain DNS and writable domain-controller access from installed Windows. A saved OU catalog can be authored offline; it does not make joining available offline. Connect's Internet readiness does not establish AD readiness. -- Ask the AD administrator to provide an account with the required join, reuse, directory-read and destination-placement permissions. Discovery and configuration validation do not audit those permissions. +- Arrange domain DNS and writable domain-controller access from installed Windows. An OU list can be prepared offline; it does not make joining available offline. Connect's Internet readiness does not establish AD readiness. +- Ask the AD administrator to provide an account with the required join, reuse, directory-read and OU-placement permissions. Discovery and configuration validation do not audit those permissions. - Choose a unique [concrete computer name](../customization/machine-naming.md). A [custom answer file](../customization/unattend.md) must supply exactly one valid applicable `specialize` computer name and contain no `Microsoft-Windows-UnattendedJoin` component. - Review [edition and runtime requirements](../../reference/supported-versions.md#domain-join). Known Windows Home-family editions skip joining with a warning while Windows installation continues. -## Configure destinations +## Configure organizational units -Both pages support the same optional catalog. Use a DNS domain such as `corp.example.test`, a display label such as `Workstations`, and a distinguished name such as `OU=Workstations,DC=corp,DC=example,DC=test`. +Both pages share the same optional OU list. Use a DNS domain such as `corp.example.test`, a display name such as `Workstations`, and a distinguished name such as `OU=Workstations,DC=corp,DC=example,DC=test`. -1. Enter **Domain name**. It is required for Zero-touch and for a catalog; Interactive without a catalog may leave it for the technician. -2. Expand **Organizational units**. Under **Add an OU manually**, enter **Display name** and **Distinguished name**, then choose **Add OU**. The DN must belong to the target domain. The catalog holds at most 1,024 destinations. -3. Alternatively, use [explicit discovery and import](#discover-and-import-destinations). -4. Choose **Default OU**, or **Clear** to leave the destination unset. -5. Enable **Let technicians choose the OU** if technicians should choose among the catalog rows. A default is preselected; without one, a listed choice is required before continuing. +1. Enter **Domain name**. It is required for Zero-touch and whenever you list OUs; Interactive without listed OUs may leave it for the technician. +2. Expand **Organizational units**. Under **Add an OU manually**, enter **Display name** and **Distinguished name**, then choose **Add OU**. The DN must belong to that domain. You can list up to 1,024 OUs. +3. Alternatively, use [search and import](#find-and-import-ous). +4. Choose **Default OU**, or **Clear** to leave no default. +5. Enable **Let technicians choose the OU** if technicians should choose among the listed OUs. A default is preselected; without one, a listed choice is required before continuing. -With selection disabled, the configured default is fixed. With no default, Windows uses its default domain account location; a reused account is left in its current location. A compatible catalog restricts technicians to authored choices. Interactive deployment without a compatible catalog instead offers an optional typed DN. Zero-touch does not offer freeform destinations. +With selection disabled, the configured default is fixed. With no default, Windows uses its default domain account location; a reused account is left in its current location. When an OU list applies, technicians can only pick from it. Interactive deployment without a usable OU list offers an optional typed DN instead. Zero-touch never accepts a typed OU. -Changing the authored domain clears the default and disables selection, but retains catalog rows. Select rows from the previous domain under **Organizational units** and choose **Remove selected**, or correct the domain, before creating media. Removing the default row clears the default; removing the last row also clears catalog selection. +Changing the authored domain clears the default and disables selection, but keeps the listed OUs. Select the OUs from the previous domain under **Organizational units** and choose **Remove selected**, or correct the domain, before creating media. Removing the default OU clears the default; removing the last OU also turns off technician choice. -A retained catalog that no longer matches the target domain is an editing draft. While Domain Join is enabled, repair the mismatch before saving a named-profile checkpoint, exporting the profile or creating media. A disabled Domain Join mode does not block them. Activating a named profile restores its last valid checkpoint. +Listed OUs that no longer match the domain name are an editing draft. While Domain Join is enabled, repair the mismatch before saving a named-profile checkpoint, exporting the profile or creating media. A disabled Domain Join mode does not block them. Activating a named profile restores its last valid checkpoint. -## Discover and import destinations +## Find and import OUs 1. Use an authoring computer already joined to the intended AD domain and connect it to that directory. 2. Under **Import OUs from this computer's domain**, choose **Find OUs**. -3. Review the displayed computer domain and preview. Select the rows to retain, then choose **Add selected OUs**. Discovery alone does not change the saved catalog. -4. Review the merged catalog and default. Existing manual rows and the default are preserved; duplicate DNs are not added again. An empty target domain is populated from the import; a different target/catalog domain must be corrected first. +3. Review the displayed computer domain and the results. Select the OUs to keep, then choose **Add selected OUs**. Searching alone does not change the saved OU list. +4. Review the resulting OU list and default. OUs added manually and the default are preserved; duplicate DNs are not added again. An empty domain name is filled in from the import; if the domain name or the listed OUs belong to another domain, correct that first. -Discovery selects the computer's actual AD domain, using your current Windows identity to read it. The signed-in user's domain is not the domain selector. Requests and preview size are bounded; an incomplete preview is labelled as such. Use **Cancel search** if needed. Manual destinations remain available when discovery is unavailable. +The search uses the computer's actual AD domain, using your current Windows identity to read it. The signed-in user's domain is not the domain selector. Requests and result size are bounded; incomplete results are labelled as such. Use **Cancel search** if needed. You can still add OUs manually when the search is unavailable. {% hint style="warning" %} **Screenshot required** -- **File:** `foundry-osd-domain-join-01-destination-catalog.png` -- **Capture:** Show the destination catalog, optional default, selection toggle and explicitly selected discovery preview using sanitized demonstration data. +- **File:** `foundry-osd-domain-join-01-organizational-units.png` +- **Capture:** Show the OU list, default OU, technician choice toggle and selected search results using sanitized demonstration data. {% endhint %} ## Build and verify -Resolve the active page's readiness messages and [create or update media](../media/README.md). Follow [Domain Join in Deploy](../../foundry-deploy/domain-join.md) through staging, installed-Windows joining, controlled restart and verification. A selected destination applies to new accounts and to safely identified reused accounts; an existing account is moved without deleting or recreating it, preserving its object GUID. +Resolve the active page's readiness messages and [create or update media](../media/README.md). Follow [Domain Join in Deploy](../../foundry-deploy/domain-join.md) through staging, installed-Windows joining, controlled restart and verification. A selected OU applies to new accounts and to safely identified reused accounts; an existing account is moved without deleting or recreating it, preserving its object GUID. Joining, OU placement and later local membership are separate results. Review [domain warnings and uncertain outcomes](../../troubleshooting/domain-join.md) before handoff. diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index 07cefca..0c78ff4 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -5,8 +5,8 @@ Choose this mode for shared deployment media when technicians should enter a dom ## Prepare the media 1. Open **Domain Join > Interactive** and choose **Enable**. If prompted, confirm replacement of the active Domain Join or Autopilot mode. -2. Enter **Domain name** to prefill the deployment dialog. You may leave it blank when no catalog is configured. -3. Optionally [add or import destinations](README.md#configure-destinations). A catalog requires its matching target domain. Set a default and decide whether to allow technician selection. +2. Enter **Domain name** to prefill the deployment dialog. You may leave it blank when no OUs are listed. +3. Optionally [add or import OUs](README.md#configure-organizational-units). Listed OUs require the matching domain name. Set a default and decide whether to allow technician selection. 4. Resolve readiness messages, then [create or update media](../media/README.md). Interactive joining introduces no media-password prerequisite and stores no join password in the media. Other enabled options, including custom answer files, may independently require [Protected deployment](../general.md#protected-deployment). @@ -17,17 +17,17 @@ Choose **Disable** to exclude joining from newly created media. Nonsecret settin **Screenshot required** - **File:** `foundry-osd-domain-join-interactive-01-configuration.png` -- **Capture:** Show the enabled Interactive Domain Join page, target DNS domain, readiness and destination policy with sanitized demonstration data. +- **Capture:** Show the enabled Interactive Domain Join page, domain name, validation messages and the Organizational units section with sanitized demonstration data. {% endhint %} ## Deploy a target Before disk-erasure confirmation, Deploy opens **Domain join**. Enter **Domain name**, **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. -If the compatible catalog picker is enabled, select a listed **Organizational unit**. The configured default starts selected, and **Continue** requires a selection. A catalog with selection disabled uses its fixed default or the default domain destination. +If technician choice is enabled, select a listed **Organizational unit**. The configured default starts selected, and **Continue** requires a selection. An OU list with technician choice disabled uses its fixed default or the domain's default location. -Without a compatible catalog, **OU distinguished name (optional)** accepts a destination inside the entered domain. Leave it empty to use Windows' default destination. Changing the domain clears prior destination input and disables incompatible catalog choices. Typed DNs are not offered alongside a compatible catalog. +Without a usable OU list, **OU distinguished name (optional)** accepts an OU inside the entered domain. Leave it empty to use the domain's default location. Changing the domain clears the earlier OU input and hides listed OUs from another domain. A typed DN is not offered when an OU list applies. -Select **Continue**, then review the actual domain and destination in **Confirm disk erase**. **Cancel** returns without starting deployment. See [technician steps and outcome verification](../../foundry-deploy/domain-join.md). +Select **Continue**, then review the actual domain and OU in **Confirm disk erase**. **Cancel** returns without starting deployment. See [technician steps and outcome verification](../../foundry-deploy/domain-join.md). Installed Windows must reach the domain controller when PostInstall runs. A successful WinPE deployment only confirms staging. Keep [safe outcome evidence](../../troubleshooting/logs-and-support.md#domain-join-evidence) if joining or placement reports a warning. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index 7c1ca52..bd7e959 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -1,22 +1,22 @@ # Zero-touch Domain Join -Choose this mode when protected deployment media should supply the join credentials. An optional destination picker can still require technician input. +Choose this mode when protected deployment media should supply the join credentials. Technician OU choice, if enabled, still requires input. ## Prepare protected media 1. In [General configuration](../general.md#protected-deployment), enable **Protected deployment** and supply its existing media password. 2. Open **Domain Join > Zero-Touch** and choose **Enable**. Confirm replacement if another Domain Join or Autopilot mode is active. 3. Enter **Domain name**, then **Account (DOMAIN\user or user@domain)** and **Password** under **Join account**. Use an administrator-provided account such as `CORP\deployment-join` for `corp.example.test`. -4. Optionally [add or import destinations](README.md#configure-destinations). Choose a default and enable **Let technicians choose the OU** only if technician selection is wanted. +4. Optionally [add or import OUs](README.md#configure-organizational-units). Choose a default and enable **Let technicians choose the OU** only if technician selection is wanted. 5. Resolve all readiness messages and [create or update media](../media/README.md). -The automatic password is encrypted using the existing Protected deployment key. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. Without a destination picker, no Domain join dialog is introduced. With a picker, the domain is read-only and the credential editors are hidden; the technician must choose a catalog row before continuing. +The automatic password is encrypted using the existing Protected deployment key. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. Without technician OU choice, no Domain join dialog appears. With it, the domain is read-only and the credential fields are hidden; the technician must choose an OU before continuing. {% hint style="warning" %} **Screenshot required** - **File:** `foundry-osd-domain-join-zero-touch-01-readiness.png` -- **Capture:** Show enabled Zero-touch Domain Join, credential field labels without credentials, readiness and the optional destination policy. +- **Capture:** Show enabled Zero-touch Domain Join, credential field labels without credentials, validation messages and the Organizational units section. {% endhint %} ## Keep credentials associated with the correct profile @@ -31,6 +31,6 @@ Recreate or update media after credential changes. Profile edits do not change m ## Verify deployment -Follow [Domain Join in Deploy](../../foundry-deploy/domain-join.md). Installed Windows needs online domain-controller access even when media has an offline OU catalog. Review joining, placement and post-restart membership separately. +Follow [Domain Join in Deploy](../../foundry-deploy/domain-join.md). Installed Windows needs online domain-controller access even when the media carries an OU list. Review joining, placement and post-restart membership separately. Credentials become a restricted temporary plaintext target payload for the child operation. See [credential lifetime and cleanup](../../reference/security-and-credentials.md#domain-credentials); cleanup warnings require administrator review before handoff. diff --git a/foundry-osd/media/README.md b/foundry-osd/media/README.md index deb3b72..8480257 100644 --- a/foundry-osd/media/README.md +++ b/foundry-osd/media/README.md @@ -8,7 +8,7 @@ Choose the intended [deployment profile](../deployment-profiles.md) before start Resolve every blocking readiness item before starting. Checks cover Windows ADK and Windows PE, architecture, language, boot-image source, output paths, USB target, media options, drivers, networking, runtime configuration, secrets, customization, and Windows Autopilot. -[Domain Join](../domain-join/README.md) also checks active-mode metadata and catalog/default compatibility. Zero-touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Readiness does not establish live AD connectivity or account permissions. +[Domain Join](../domain-join/README.md) also checks the active mode's settings and that the listed OUs and the default match the domain. Zero-touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Readiness does not establish live AD connectivity or account permissions.
Foundry OSD media creation readiness overview diff --git a/reference/supported-versions.md b/reference/supported-versions.md index 8c98e7e..9401ab9 100644 --- a/reference/supported-versions.md +++ b/reference/supported-versions.md @@ -50,4 +50,4 @@ Use matching media/target architecture and validate the complete workflow before Known unsupported edition IDs are `Core`, `CoreN`, `CoreSingleLanguage` and `CoreCountrySpecific` (Home family). They skip joining with a warning while Windows installation continues. Recognized eligible IDs are `Professional`, `ProfessionalN`, `Education`, `EducationN`, `Enterprise` and `EnterpriseN`; eligibility alone does not prove successful joining. Missing/unfamiliar edition IDs remain Unknown pending image/native inspection. -Installed Windows needs online access to domain DNS and a writable controller, along with administrator-delegated join/reuse/read/placement permissions. Offline catalog authoring does not provide offline joining. Custom answer files and applied images must meet [domain composition/name requirements](../foundry-deploy/domain-join.md#review-the-target-and-windows). +Installed Windows needs online access to domain DNS and a writable controller, along with administrator-delegated join/reuse/read/placement permissions. Preparing an OU list offline does not provide offline joining. Custom answer files and applied images must meet [domain composition/name requirements](../foundry-deploy/domain-join.md#review-the-target-and-windows). diff --git a/start-here/deployment-workflow.md b/start-here/deployment-workflow.md index 7aaba9d..e9363ea 100644 --- a/start-here/deployment-workflow.md +++ b/start-here/deployment-workflow.md @@ -27,7 +27,7 @@ The [Windows PE bootstrap](../reference/bootstrap.md) prepares this session and - Driver pack selection. - Firmware and Windows Autopilot options when configured. -[Domain Join input](../foundry-deploy/domain-join.md) is gathered at launch before disk-erasure confirmation. Interactive asks for account/password and a permitted destination; automatic uses the existing unlock session and optional catalog selection. +[Domain Join input](../foundry-deploy/domain-join.md) is gathered at launch before disk-erasure confirmation. Interactive asks for account/password and a permitted OU; automatic uses the existing unlock session and optional OU choice. ## Phase 4: Apply and configure Windows diff --git a/start-here/quick-start.md b/start-here/quick-start.md index 04e9b27..c5bd5c5 100644 --- a/start-here/quick-start.md +++ b/start-here/quick-start.md @@ -43,7 +43,7 @@ In Foundry Deploy: 2. Select a Windows release, language, edition, and license channel. 3. Select a compatible driver pack. 4. Configure Windows Autopilot when JSON profile or zero-touch upload media displays that step. Interactive upload runs later during Windows OOBE. -5. Review the summary and start deployment. For Domain Join, supply [conditional credentials/destination input](../foundry-deploy/domain-join.md) before disk confirmation. +5. Review the summary and start deployment. For Domain Join, supply [conditional credentials and OU input](../foundry-deploy/domain-join.md) before disk confirmation. 6. Verify the success page before rebooting. For Domain Join, Deploy success means staging. Follow installed-Windows joining and its controlled restart, then verify local membership, requested OU placement and cleanup before handoff. diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index e1c7c64..586f00c 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -16,24 +16,24 @@ Restart states and cleanup states are recorded separately from these phases. A c ## Media is not ready or input is rejected - For Zero-touch, supply the context-matching domain password and a usable existing [General protection password](../foundry-osd/general.md#protected-deployment). Imported portable profiles deliberately omit the direct domain password. -- For Interactive without a catalog, enter the domain at launch. A typed optional OU DN must parse and belong to that domain. -- For a compatible enabled catalog picker, choose a listed OU. Without a default, a selection is required. Changing the interactive domain clears earlier destination input and suppresses an incompatible catalog. -- Correct retained catalog rows after an authored domain change. Discovery reads the authoring computer's AD domain using the current Windows identity; it does not test deployment-account permissions. Manual entries remain available when discovery fails. +- For Interactive without listed OUs, enter the domain at launch. A typed optional OU DN must parse and belong to that domain. +- When technician choice is enabled, choose a listed OU. Without a default, a selection is required. Changing the interactive domain clears the earlier OU input and hides listed OUs from another domain. +- Correct the listed OUs after changing the domain name. The search reads the authoring computer's AD domain using the current Windows identity; it does not test deployment-account permissions. You can still add OUs manually when the search fails. - For a custom answer file, supply one valid concrete applicable `specialize` name and remove conflicting `Microsoft-Windows-UnattendedJoin` configuration. Foundry does not fill a missing custom name from the wizard. Review arbitrary commands separately; not every scripted conflict can be detected. Known Windows Home-family editions skip joining and continue installation. Unfamiliar/missing edition metadata needs image/native inspection. Applied-image conflicts can also skip domain work. See [supported-version limits](../reference/supported-versions.md#domain-join). ## Joining fails -Check installed-Windows network drivers, domain DNS, controller reachability and system time. Connect's Internet check does not confirm AD connectivity, and a saved OU catalog does not provide offline joining. Readiness checks are bounded; restore connectivity before arranging a new controlled attempt. +Check installed-Windows network drivers, domain DNS, controller reachability and system time. Connect's Internet check does not confirm AD connectivity, and an OU list does not provide offline joining. Readiness checks are bounded; restore connectivity before arranging a new controlled attempt. Ask the AD administrator to confirm the account's delegated join/reuse and directory permissions. Reuse can be restricted by Windows domain-join hardening even when a new account can be created. Review Microsoft's [KB5020276 domain-join hardening guidance](https://support.microsoft.com/en-us/servicing/os/windows/2022/10/kb5020276-netjoin-domain-join-hardening-changes) with the administrator. Foundry follows Windows' reuse decision and does not bypass hardening or delete/recreate the existing account. -## Joined but destination is wrong or unverified +## Joined but the OU is wrong or unverified Review **Join** and **Placement** independently. Successful joining still requires the controlled restart even when placement fails; the console can report **Domain joined; target OU placement failed**. -Confirm the requested DN exists and the account can read the object/destination and perform the required same-domain placement. Existing-account moves preserve the captured GUID and require identity proof. No visible pre-join account is not proof that an account is absent, so an unproven existing object is not moved automatically. +Confirm the requested DN exists and the account can read the object and the OU and perform the required same-domain placement. Existing-account moves preserve the captured GUID and require identity proof. No visible pre-join account is not proof that an account is absent, so an unproven existing object is not moved automatically. **Unverified** can mean the placement response was acknowledged but directory readback could not confirm it. **Unknown** can mean a mutation response was lost. Have the administrator inspect the intended computer object, its GUID and actual parent. Later local domain membership does not prove OU placement, directory readback or policy application succeeded. diff --git a/troubleshooting/logs-and-support.md b/troubleshooting/logs-and-support.md index 0e7e1b1..eb968c5 100644 --- a/troubleshooting/logs-and-support.md +++ b/troubleshooting/logs-and-support.md @@ -135,7 +135,7 @@ For domain work successfully staged by Deploy, collect from the installed Window | Execution journal and saved restart/progress | `%SystemRoot%\Temp\Foundry\State\PreOobe\execution-result.json` | | Existing PostInstall log | `%SystemRoot%\Temp\Foundry\Logs\PreOobe\Foundry.PostInstall.log` and relevant rotated logs | -The domain result records expected domain/name/destination, independent phase states, allowlisted failure codes and correctly attributed numeric errors, restart and cleanup. It contains no account/password or arbitrary exception text. These expected identities can still be sensitive; redact them before sharing. The worker phase receipt at `State\PreOobe\domain-join-phase.json` is execution evidence, not an instruction to restart or retry mutations manually. +The domain result records expected domain, computer name and OU, independent phase states, allowlisted failure codes and correctly attributed numeric errors, restart and cleanup. It contains no account/password or arbitrary exception text. These expected identities can still be sensitive; redact them before sharing. The worker phase receipt at `State\PreOobe\domain-join-phase.json` is execution evidence, not an instruction to restart or retry mutations manually. If Deploy skipped joining before staging, collect its summary and deployment logs instead. No installed domain result is manufactured for that skip. Separate local membership from OU placement/readback, and keep **Unknown**, **Unverified** and **Cleanup Pending** outcomes visible in the report. See [Domain Join troubleshooting](domain-join.md). From b8104035681d17b07865f3dc17fbdd42ba02ab06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Mon, 5 Oct 2026 21:46:27 +0200 Subject: [PATCH 13/31] docs(domain-join): describe the Deploy wizard step Foundry Deploy now collects Domain Join credentials and the OU choice in a wizard step before the summary instead of a dialog at Start. Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/README.md | 5 +++-- foundry-deploy/domain-join.md | 26 +++++++++++++++----------- foundry-deploy/review-and-deploy.md | 2 +- foundry-osd/domain-join/interactive.md | 10 +++++----- foundry-osd/domain-join/zero-touch.md | 2 +- reference/security-and-credentials.md | 2 +- start-here/deployment-workflow.md | 2 +- start-here/quick-start.md | 5 +++-- troubleshooting/domain-join.md | 2 +- 9 files changed, 31 insertions(+), 25 deletions(-) diff --git a/foundry-deploy/README.md b/foundry-deploy/README.md index 5465166..fb12313 100644 --- a/foundry-deploy/README.md +++ b/foundry-deploy/README.md @@ -30,5 +30,6 @@ Keep deployment media under your control. Packages without a catalog hash retain 2. [Select Windows](operating-system.md). 3. [Select a driver pack](driver-pack.md). 4. Configure Windows Autopilot when JSON profile or zero-touch upload media requires a deployment-time choice. Interactive upload runs later during Windows OOBE and does not add this wizard step. -5. [Review and deploy](review-and-deploy.md). Domain Join media collects [conditional launch input](domain-join.md#supply-interactive-input-or-select-an-ou) before disk-erasure confirmation; it does not add a standalone wizard page. -6. [Verify deployment](verify-deployment.md). +5. Complete the [Domain join step](domain-join.md#complete-the-domain-join-step) when the wizard shows it. It appears before the summary on Domain Join media that needs credentials or an OU choice from the technician. +6. [Review and deploy](review-and-deploy.md). +7. [Verify deployment](verify-deployment.md). diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index 0283cb0..8cc6d4e 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -6,31 +6,35 @@ Use media configured for [Interactive](../foundry-osd/domain-join/interactive.md 1. Confirm the [target disk and final computer name](target.md). Native naming uses Foundry's validated name. A custom answer file must contain exactly one valid concrete `ComputerName` in an applicable `Microsoft-Windows-Shell-Setup` `specialize` component, and no `Microsoft-Windows-UnattendedJoin` component. Missing, wildcard, invalid or multiple names cannot supply this identity. 2. Select the intended Windows image and edition. Known Home-family editions skip Domain Join with a warning while installation continues; unfamiliar or missing edition metadata is deferred to image/native inspection. -3. Review the wizard summary's authored domain and default OU. It precedes deployment-time input and does not reflect an OU chosen later in the launch dialog. -4. Start deployment to prepare domain input before **Confirm disk erase**. +3. Complete the **Domain join** step when the wizard shows it, as described below. +4. On **Summary**, review the **Domain join** category: it shows the domain name and the OU the join will use. Choose its edit action to return to the step. -The dialog preparation does not contact AD. Valid syntax and successful unlock do not prove that the supplied account can join or place the computer. +The wizard does not contact AD. Valid syntax and a successful unlock do not prove that the supplied account can join or place the computer. -## Supply interactive input or select an OU +## Complete the Domain join step -For Interactive mode, **Domain join** asks for **Domain name**, **Account (DOMAIN\user or user@domain)** and **Password**. A prefilled domain remains editable. +The **Domain join** step sits between **Drivers** and **Summary**. It appears only when there is something to enter or choose, and **Next** stays unavailable until the inputs are valid. -For Zero-touch, use the existing Protected deployment unlock. The encrypted account/password are checked against their authored domain/account context. There is no new password prompt; the dialog appears only for enabled technician OU choice. +For Interactive mode, enter **Domain name**, **Account (DOMAIN\user or user@domain)** and **Password**. A domain name set in Foundry OSD is prefilled and remains editable. An invalid domain name or account is flagged under its field. + +For Zero-touch, use the existing Protected deployment unlock. The encrypted account and password are checked against the domain and account they were saved for. There is no password prompt; the step appears only when technician OU choice is enabled, and then shows the domain name as read-only with the OU choice. | OU configuration | Technician action | | --- | --- | -| OU list with technician choice enabled | Choose a listed **Organizational unit**. The authored default is preselected; **Continue** requires a selected row. | +| OU list with technician choice enabled | Choose a listed **Organizational unit**. The default OU is preselected; **Next** requires a selection. | | OU list with technician choice disabled | No OU field. The configured default is fixed; without a default, use the domain's default location. | -| Interactive without a usable OU list | Enter **OU distinguished name (optional)** inside the submitted domain, or leave it empty. | -| Zero-touch without selection | No dialog; use the authored default or the domain's default location. | +| Interactive without a usable OU list | Enter **OU distinguished name (optional)** inside the entered domain, or leave it empty. | +| Zero-touch without technician choice | No step; the default OU or the domain's default location is used. | + +Changing the domain in Interactive mode hides listed OUs that belong to another domain and offers the typed OU field instead. When an OU list applies, a typed OU is not accepted. -Changing the domain in Interactive mode clears the OU input and hides listed OUs that belong to another domain. When an OU list applies, a typed OU is not accepted. Select **Continue**, then review the actual domain and OU in **Confirm disk erase**. Account and password are not included in the summary or confirmation. **Cancel** leaves deployment unstarted. +The account and password never appear in the summary or in **Confirm disk erase**. The password is kept only in memory while you finish the wizard and is cleared once deployment starts. Known Home-family editions skip the step; the summary then says the edition cannot join a domain. {% hint style="warning" %} **Screenshot required** - **File:** `foundry-deploy-domain-join-01-interactive-ou.png` -- **Capture:** Show the Domain join dialog and optional OU distinguished name field shown when no OU list applies using sanitized demonstration data, with credential fields empty. +- **Capture:** Show the Domain join wizard step in Interactive mode with the OU choice, using sanitized demonstration data and empty credential fields. {% endhint %} ## Follow staging and first boot diff --git a/foundry-deploy/review-and-deploy.md b/foundry-deploy/review-and-deploy.md index 2ae8a37..70b524d 100644 --- a/foundry-deploy/review-and-deploy.md +++ b/foundry-deploy/review-and-deploy.md @@ -25,7 +25,7 @@ When the media includes [custom answer files](../foundry-osd/customization/unatt Start only when every value is correct. Foundry opens **Confirm disk erase** before crossing the destructive boundary. Verify the disk number, model, bus, size, and selected operating system before accepting. -[Domain Join](domain-join.md) gathers interactive credentials or a permitted OU choice at launch before this confirmation. The earlier wizard summary shows authored defaults; confirmation appends the actual prepared domain and OU or known unsupported-edition skip. Account and password are not included. Cancelling the domain dialog never reaches destructive confirmation. +The [Domain join step](domain-join.md#complete-the-domain-join-step) collects interactive credentials or a permitted OU choice before the summary. The summary's **Domain join** category and this confirmation show the domain name and OU, or that a known unsupported edition skips the join. Account and password are not included. {% hint style="danger" %} Accepting the confirmation allows Foundry to clean and repartition the selected disk. Existing data on that disk will be lost. diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index 0c78ff4..d9f4239 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -5,7 +5,7 @@ Choose this mode for shared deployment media when technicians should enter a dom ## Prepare the media 1. Open **Domain Join > Interactive** and choose **Enable**. If prompted, confirm replacement of the active Domain Join or Autopilot mode. -2. Enter **Domain name** to prefill the deployment dialog. You may leave it blank when no OUs are listed. +2. Enter **Domain name** to prefill the Domain join step in Deploy. You may leave it blank when no OUs are listed. 3. Optionally [add or import OUs](README.md#configure-organizational-units). Listed OUs require the matching domain name. Set a default and decide whether to allow technician selection. 4. Resolve readiness messages, then [create or update media](../media/README.md). @@ -22,12 +22,12 @@ Choose **Disable** to exclude joining from newly created media. Nonsecret settin ## Deploy a target -Before disk-erasure confirmation, Deploy opens **Domain join**. Enter **Domain name**, **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. +The Deploy wizard shows a **Domain join** step before **Summary**. Enter **Domain name**, **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. -If technician choice is enabled, select a listed **Organizational unit**. The configured default starts selected, and **Continue** requires a selection. An OU list with technician choice disabled uses its fixed default or the domain's default location. +If technician choice is enabled, select a listed **Organizational unit**. The configured default starts selected, and **Next** requires a selection. An OU list with technician choice disabled uses its fixed default or the domain's default location. -Without a usable OU list, **OU distinguished name (optional)** accepts an OU inside the entered domain. Leave it empty to use the domain's default location. Changing the domain clears the earlier OU input and hides listed OUs from another domain. A typed DN is not offered when an OU list applies. +Without a usable OU list, **OU distinguished name (optional)** accepts an OU inside the entered domain. Leave it empty to use the domain's default location. Changing the domain hides listed OUs from another domain. A typed DN is not offered when an OU list applies. -Select **Continue**, then review the actual domain and OU in **Confirm disk erase**. **Cancel** returns without starting deployment. See [technician steps and outcome verification](../../foundry-deploy/domain-join.md). +Review the domain name and OU in the summary's **Domain join** category before starting. See [technician steps and outcome verification](../../foundry-deploy/domain-join.md). Installed Windows must reach the domain controller when PostInstall runs. A successful WinPE deployment only confirms staging. Keep [safe outcome evidence](../../troubleshooting/logs-and-support.md#domain-join-evidence) if joining or placement reports a warning. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index bd7e959..6f9bfcb 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -10,7 +10,7 @@ Choose this mode when protected deployment media should supply the join credenti 4. Optionally [add or import OUs](README.md#configure-organizational-units). Choose a default and enable **Let technicians choose the OU** only if technician selection is wanted. 5. Resolve all readiness messages and [create or update media](../media/README.md). -The automatic password is encrypted using the existing Protected deployment key. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. Without technician OU choice, no Domain join dialog appears. With it, the domain is read-only and the credential fields are hidden; the technician must choose an OU before continuing. +The automatic password is encrypted using the existing Protected deployment key. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. Without technician OU choice, the Deploy wizard shows no Domain join step. With it, the step shows the domain name as read-only and no credential fields; the technician must choose an OU before continuing. {% hint style="warning" %} **Screenshot required** diff --git a/reference/security-and-credentials.md b/reference/security-and-credentials.md index 2d31bd6..1203e27 100644 --- a/reference/security-and-credentials.md +++ b/reference/security-and-credentials.md @@ -33,7 +33,7 @@ Review the [Protected deployment scope](../foundry-osd/general.md#protected-depl - [Zero-touch upload](../foundry-osd/autopilot/zero-touch-hardware-hash.md) credentials can be recovered from media created without Protected deployment. - Non-empty [OOBE local account passwords](../foundry-osd/customization/oobe.md#password-protection) require Protected deployment under Foundry's security policy and are encrypted in the deployment configuration. During Windows Setup, they are written to `unattend.xml` using reversible encoding, not encryption. Treat that answer file and its copies as sensitive data. - Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or data staged into the installed Windows system. -- [Zero-touch Domain Join](../foundry-osd/domain-join/zero-touch.md) requires the existing General protection key and Deploy unlock session. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects credentials at launch and adds no media-password prerequisite. +- [Zero-touch Domain Join](../foundry-osd/domain-join/zero-touch.md) requires the existing General protection key and Deploy unlock session. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects credentials in the Deploy wizard and adds no media-password prerequisite. If media is lost, stolen, or copied without authorization, revoke embedded credentials where applicable and recreate the media. Do not rely on the technician password as a substitute for physical media controls. diff --git a/start-here/deployment-workflow.md b/start-here/deployment-workflow.md index e9363ea..3baa3de 100644 --- a/start-here/deployment-workflow.md +++ b/start-here/deployment-workflow.md @@ -27,7 +27,7 @@ The [Windows PE bootstrap](../reference/bootstrap.md) prepares this session and - Driver pack selection. - Firmware and Windows Autopilot options when configured. -[Domain Join input](../foundry-deploy/domain-join.md) is gathered at launch before disk-erasure confirmation. Interactive asks for account/password and a permitted OU; automatic uses the existing unlock session and optional OU choice. +[Domain Join input](../foundry-deploy/domain-join.md) is entered in a wizard step before the summary. Interactive asks for the account, password and a permitted OU; Zero-touch uses the existing unlock session and an optional OU choice. ## Phase 4: Apply and configure Windows diff --git a/start-here/quick-start.md b/start-here/quick-start.md index c5bd5c5..e3d548c 100644 --- a/start-here/quick-start.md +++ b/start-here/quick-start.md @@ -43,7 +43,8 @@ In Foundry Deploy: 2. Select a Windows release, language, edition, and license channel. 3. Select a compatible driver pack. 4. Configure Windows Autopilot when JSON profile or zero-touch upload media displays that step. Interactive upload runs later during Windows OOBE. -5. Review the summary and start deployment. For Domain Join, supply [conditional credentials and OU input](../foundry-deploy/domain-join.md) before disk confirmation. -6. Verify the success page before rebooting. +5. For Domain Join, complete the [Domain join step](../foundry-deploy/domain-join.md) when the wizard shows it. +6. Review the summary and start deployment. +7. Verify the success page before rebooting. For Domain Join, Deploy success means staging. Follow installed-Windows joining and its controlled restart, then verify local membership, requested OU placement and cleanup before handoff. diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index 586f00c..0ab8b73 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -16,7 +16,7 @@ Restart states and cleanup states are recorded separately from these phases. A c ## Media is not ready or input is rejected - For Zero-touch, supply the context-matching domain password and a usable existing [General protection password](../foundry-osd/general.md#protected-deployment). Imported portable profiles deliberately omit the direct domain password. -- For Interactive without listed OUs, enter the domain at launch. A typed optional OU DN must parse and belong to that domain. +- For Interactive without listed OUs, enter the domain in the Domain join step. A typed optional OU DN must parse and belong to that domain. - When technician choice is enabled, choose a listed OU. Without a default, a selection is required. Changing the interactive domain clears the earlier OU input and hides listed OUs from another domain. - Correct the listed OUs after changing the domain name. The search reads the authoring computer's AD domain using the current Windows identity; it does not test deployment-account permissions. You can still add OUs manually when the search fails. - For a custom answer file, supply one valid concrete applicable `specialize` name and remove conflicting `Microsoft-Windows-UnattendedJoin` configuration. Foundry does not fill a missing custom name from the wizard. Review arbitrary commands separately; not every scripted conflict can be detected. From 5ee45e5af600554b39e04d0badc90e9a1df09b66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Mon, 5 Oct 2026 22:11:38 +0200 Subject: [PATCH 14/31] docs(domain-join): explain OU-only targets and the default-location fallback Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/domain-join.md | 4 ++-- foundry-osd/domain-join/README.md | 2 +- troubleshooting/domain-join.md | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index 8cc6d4e..f7573d9 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -23,7 +23,7 @@ For Zero-touch, use the existing Protected deployment unlock. The encrypted acco | --- | --- | | OU list with technician choice enabled | Choose a listed **Organizational unit**. The default OU is preselected; **Next** requires a selection. | | OU list with technician choice disabled | No OU field. The configured default is fixed; without a default, use the domain's default location. | -| Interactive without a usable OU list | Enter **OU distinguished name (optional)** inside the entered domain, or leave it empty. | +| Interactive without a usable OU list | Enter **OU distinguished name (optional)**, starting with `OU=` and inside the entered domain, or leave it empty. | | Zero-touch without technician choice | No step; the default OU or the domain's default location is used. | Changing the domain in Interactive mode hides listed OUs that belong to another domain and offers the typed OU field instead. When an OU list applies, a typed OU is not accepted. @@ -43,7 +43,7 @@ Deploy stages the operation-owned credential payload and execution records. Its In installed Windows, PostInstall runs joining and placement after deferred drivers and networking, before the remaining built-ins and custom actions. When joining succeeds, it requests a controlled restart even if OU placement fails, then verifies the expected local name and domain without credentials. -A selected OU is used for a new account. A safely identified reused account is moved within the same domain without deletion/recreation, preserving its GUID. If the worker cannot prove the object's identity or the OU, it reports a separate placement warning rather than moving an unproven account. Without an OU, it does not relocate a reused account. +A selected OU is used for a new account. A safely identified reused account is moved within the same domain without deletion/recreation, preserving its GUID. If the worker cannot prove the object's identity or the OU, it reports a separate placement warning rather than moving an unproven account. Without an OU, it does not relocate a reused account. If the requested OU no longer exists, the computer is still joined, in the domain's default location, and placement is reported as failed. ## Confirm the result diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 8a65126..3d1d372 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -16,7 +16,7 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can Both pages share the same optional OU list. Use a DNS domain such as `corp.example.test`, a display name such as `Workstations`, and a distinguished name such as `OU=Workstations,DC=corp,DC=example,DC=test`. 1. Enter **Domain name**. It is required for Zero-touch and whenever you list OUs; Interactive without listed OUs may leave it for the technician. -2. Expand **Organizational units**. Under **Add an OU manually**, enter **Display name** and **Distinguished name**, then choose **Add OU**. The DN must belong to that domain. You can list up to 1,024 OUs. +2. Expand **Organizational units**. Under **Add an OU manually**, enter **Display name** and **Distinguished name**, then choose **Add OU**. The DN must name an organizational unit inside that domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. You can list up to 1,024 OUs. 3. Alternatively, use [search and import](#find-and-import-ous). 4. Choose **Default OU**, or **Clear** to leave no default. 5. Enable **Let technicians choose the OU** if technicians should choose among the listed OUs. A default is preselected; without one, a listed choice is required before continuing. diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index 0ab8b73..ebaee4e 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -16,7 +16,7 @@ Restart states and cleanup states are recorded separately from these phases. A c ## Media is not ready or input is rejected - For Zero-touch, supply the context-matching domain password and a usable existing [General protection password](../foundry-osd/general.md#protected-deployment). Imported portable profiles deliberately omit the direct domain password. -- For Interactive without listed OUs, enter the domain in the Domain join step. A typed optional OU DN must parse and belong to that domain. +- For Interactive without listed OUs, enter the domain in the Domain join step. A typed optional OU DN must name an organizational unit (it starts with `OU=`) inside that domain; a container such as `CN=Computers` is not accepted. - When technician choice is enabled, choose a listed OU. Without a default, a selection is required. Changing the interactive domain clears the earlier OU input and hides listed OUs from another domain. - Correct the listed OUs after changing the domain name. The search reads the authoring computer's AD domain using the current Windows identity; it does not test deployment-account permissions. You can still add OUs manually when the search fails. - For a custom answer file, supply one valid concrete applicable `specialize` name and remove conflicting `Microsoft-Windows-UnattendedJoin` configuration. Foundry does not fill a missing custom name from the wizard. Review arbitrary commands separately; not every scripted conflict can be detected. @@ -33,6 +33,8 @@ Ask the AD administrator to confirm the account's delegated join/reuse and direc Review **Join** and **Placement** independently. Successful joining still requires the controlled restart even when placement fails; the console can report **Domain joined; target OU placement failed**. +If the requested OU does not exist in the directory, Foundry still joins the computer, in the domain's default location, and reports placement as failed with the code `OrganizationalUnitNotFound`. The console shows **Domain joined in the default location; target OU not found**. Correct the OU in Foundry OSD, then move the computer account with the administrator. + Confirm the requested DN exists and the account can read the object and the OU and perform the required same-domain placement. Existing-account moves preserve the captured GUID and require identity proof. No visible pre-join account is not proof that an account is absent, so an unproven existing object is not moved automatically. **Unverified** can mean the placement response was acknowledged but directory readback could not confirm it. **Unknown** can mean a mutation response was lost. Have the administrator inspect the intended computer object, its GUID and actual parent. Later local domain membership does not prove OU placement, directory readback or policy application succeeded. From 43bb9ea58bc43f473d316d9f948cf1d91db9f75d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Tue, 6 Oct 2026 00:24:25 +0200 Subject: [PATCH 15/31] docs(domain-join): describe the OU actions and the import dialog Co-Authored-By: Claude Opus 5.5 --- foundry-osd/domain-join/README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 3d1d372..3aace35 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -16,8 +16,8 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can Both pages share the same optional OU list. Use a DNS domain such as `corp.example.test`, a display name such as `Workstations`, and a distinguished name such as `OU=Workstations,DC=corp,DC=example,DC=test`. 1. Enter **Domain name**. It is required for Zero-touch and whenever you list OUs; Interactive without listed OUs may leave it for the technician. -2. Expand **Organizational units**. Under **Add an OU manually**, enter **Display name** and **Distinguished name**, then choose **Add OU**. The DN must name an organizational unit inside that domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. You can list up to 1,024 OUs. -3. Alternatively, use [search and import](#find-and-import-ous). +2. Under **OU actions**, choose **Add OU**. Enter **Display name** and **Distinguished name**, then choose **Add OU** in the dialog. The DN must name an organizational unit inside that domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. A refused entry is explained in the dialog so you can correct it. You can list up to 1,024 OUs. +3. Alternatively, [import OUs from the domain](#find-and-import-ous). 4. Choose **Default OU**, or **Clear** to leave no default. 5. Enable **Let technicians choose the OU** if technicians should choose among the listed OUs. A default is preselected; without one, a listed choice is required before continuing. @@ -30,17 +30,17 @@ Listed OUs that no longer match the domain name are an editing draft. While Doma ## Find and import OUs 1. Use an authoring computer already joined to the intended AD domain and connect it to that directory. -2. Under **Import OUs from this computer's domain**, choose **Find OUs**. -3. Review the displayed computer domain and the results. Select the OUs to keep, then choose **Add selected OUs**. Searching alone does not change the saved OU list. -4. Review the resulting OU list and default. OUs added manually and the default are preserved; duplicate DNs are not added again. An empty domain name is filled in from the import; if the domain name or the listed OUs belong to another domain, correct that first. +2. Under **OU actions**, choose **Import from domain**. +3. In the dialog that lists the OUs found, select the ones to keep, then choose **Add selected OUs**. No OU is selected by default, and **Cancel** leaves the saved OU list unchanged. +4. Review the resulting **Organizational units** list and the default. OUs added manually and the default are preserved; duplicate DNs are not added again. An empty domain name is filled in from the import; if the domain name or the listed OUs belong to another domain, correct that first. -The search uses the computer's actual AD domain, using your current Windows identity to read it. The signed-in user's domain is not the domain selector. Requests and result size are bounded; incomplete results are labelled as such. Use **Cancel search** if needed. You can still add OUs manually when the search is unavailable. +The search uses the computer's actual AD domain, using your current Windows identity to read it. The signed-in user's domain is not the domain selector. Requests and result size are bounded; the dialog says when only some of the OUs could be listed. While the search runs, the same button becomes **Cancel search**. You can still add OUs manually when the search is unavailable. {% hint style="warning" %} **Screenshot required** - **File:** `foundry-osd-domain-join-01-organizational-units.png` -- **Capture:** Show the OU list, default OU, technician choice toggle and selected search results using sanitized demonstration data. +- **Capture:** Show the OU actions, default OU, technician choice toggle and the OU list using sanitized demonstration data. {% endhint %} ## Build and verify From d96e79812203754676b5b22c0a679a0e0358e5c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Tue, 6 Oct 2026 00:42:55 +0200 Subject: [PATCH 16/31] docs(domain-join): drop the removed Clear button Co-Authored-By: Claude Opus 5.5 --- foundry-osd/domain-join/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 3aace35..9879322 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -18,7 +18,7 @@ Both pages share the same optional OU list. Use a DNS domain such as `corp.examp 1. Enter **Domain name**. It is required for Zero-touch and whenever you list OUs; Interactive without listed OUs may leave it for the technician. 2. Under **OU actions**, choose **Add OU**. Enter **Display name** and **Distinguished name**, then choose **Add OU** in the dialog. The DN must name an organizational unit inside that domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. A refused entry is explained in the dialog so you can correct it. You can list up to 1,024 OUs. 3. Alternatively, [import OUs from the domain](#find-and-import-ous). -4. Choose **Default OU**, or **Clear** to leave no default. +4. Choose **Default OU**, or leave it empty to have no default. 5. Enable **Let technicians choose the OU** if technicians should choose among the listed OUs. A default is preselected; without one, a listed choice is required before continuing. With selection disabled, the configured default is fixed. With no default, Windows uses its default domain account location; a reused account is left in its current location. When an OU list applies, technicians can only pick from it. Interactive deployment without a usable OU list offers an optional typed DN instead. Zero-touch never accepts a typed OU. From d7302e2603f6b920dbffebe0387e9fad862fade8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Tue, 6 Oct 2026 00:48:04 +0200 Subject: [PATCH 17/31] docs(domain-join): describe the default OU switch Co-Authored-By: Claude Opus 5.5 --- foundry-osd/domain-join/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 9879322..42e5094 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -18,7 +18,7 @@ Both pages share the same optional OU list. Use a DNS domain such as `corp.examp 1. Enter **Domain name**. It is required for Zero-touch and whenever you list OUs; Interactive without listed OUs may leave it for the technician. 2. Under **OU actions**, choose **Add OU**. Enter **Display name** and **Distinguished name**, then choose **Add OU** in the dialog. The DN must name an organizational unit inside that domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. A refused entry is explained in the dialog so you can correct it. You can list up to 1,024 OUs. 3. Alternatively, [import OUs from the domain](#find-and-import-ous). -4. Choose **Default OU**, or leave it empty to have no default. +4. Turn on **Default OU** and choose the OU, or leave it off to have no default. Turning it on preselects the first listed OU. 5. Enable **Let technicians choose the OU** if technicians should choose among the listed OUs. A default is preselected; without one, a listed choice is required before continuing. With selection disabled, the configured default is fixed. With no default, Windows uses its default domain account location; a reused account is left in its current location. When an OU list applies, technicians can only pick from it. Interactive deployment without a usable OU list offers an optional typed DN instead. Zero-touch never accepts a typed OU. From ab4702cd29eb55ab67d63fd2d058bb294298390d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Tue, 6 Oct 2026 00:56:22 +0200 Subject: [PATCH 18/31] docs(telemetry): list the Domain Join usage properties Co-Authored-By: Claude Opus 5.5 --- reference/telemetry-and-privacy.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/reference/telemetry-and-privacy.md b/reference/telemetry-and-privacy.md index c4b18a6..31d865e 100644 --- a/reference/telemetry-and-privacy.md +++ b/reference/telemetry-and-privacy.md @@ -47,6 +47,19 @@ Counts are capped at 1,000 and describe the configuration captured for the media Action names, commands, arguments, file names, paths, content hashes, and script contents are excluded. **Settings > Enable telemetry** controls this collection. +### Domain Join + +When telemetry is enabled, [Domain Join](../foundry-osd/domain-join/README.md) uses the existing media-creation and deployment events: + +| Event | Domain Join information | +| --- | --- | +| `osd:boot_media_finished` | `domain_join_enabled`, `domain_join_mode` (`disabled`, `interactive` or `zero_touch`), `domain_join_ou_count`, `domain_join_default_ou_set`, and `domain_join_ou_selection_allowed`. | +| `deploy:session_finished` | `deploy_domain_join_enabled`, `deploy_domain_join_mode`, `deploy_domain_join_ou_source` (`none`, `default`, `selected` or `typed`), and `deploy_domain_join_status` (`disabled`, `pending`, `staged`, `skipped_unsupported_edition` or `skipped_image_composition`). | + +A disabled mode reports zero OUs, no default and no technician choice, even when a draft is saved. The OU count is capped at 1,024. The deployment status describes how far Foundry Deploy took the join; `staged` means the join was handed to installed Windows. Joining, OU placement and membership verification run later in Windows and are not reported, so telemetry does not show whether a computer actually joined the domain. + +Domain names, account names, passwords, OU names, distinguished names, and computer names are excluded. + ## Remote error diagnostics **Enable remote diagnostics** controls operational logs and exception reports sent to PostHog. This preference is separate from anonymous product telemetry, applies immediately to new diagnostic records, and is written to newly created media for Foundry Bootstrap, Foundry Connect, and Foundry Deploy. Changing it does not update existing media. From 6c9357033afe299884bceb745f3ebc9138989208 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Tue, 6 Oct 2026 01:32:46 +0200 Subject: [PATCH 19/31] docs(domain-join): explain that OOBE ends on the sign-in screen Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/domain-join.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index f7573d9..9d1cd91 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -45,6 +45,8 @@ In installed Windows, PostInstall runs joining and placement after deferred driv A selected OU is used for a new account. A safely identified reused account is moved within the same domain without deletion/recreation, preserving its GUID. If the worker cannot prove the object's identity or the OU, it reports a separate placement warning rather than moving an unproven account. Without an OU, it does not relocate a reused account. If the requested OU no longer exists, the computer is still joined, in the domain's default location, and placement is reported as failed. +When Deploy stages a join with the answer file Foundry generates, it also hides the Windows account screens in OOBE, so setup ends on the sign-in screen where a domain account is used. No local account is required for this; add one on the [OOBE page](../foundry-osd/customization/oobe.md) if you want local access. An imported [custom answer file](../foundry-osd/customization/unattend.md) keeps control of its own OOBE settings. + ## Confirm the result Check [deployment verification](verify-deployment.md#domain-join) and [domain outcome evidence](../troubleshooting/logs-and-support.md#domain-join-evidence). Joining, OU placement/directory readback, local membership, restart and credential cleanup have independent outcomes. From 6ee032e19bcd582d30906b12cb2a4054667601d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 10:27:24 +0200 Subject: [PATCH 20/31] docs(domain-join): mention the filtered import and the sortable OU list Co-Authored-By: Claude Opus 5.5 --- foundry-osd/domain-join/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 42e5094..7c2ff03 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -31,8 +31,8 @@ Listed OUs that no longer match the domain name are an editing draft. While Doma 1. Use an authoring computer already joined to the intended AD domain and connect it to that directory. 2. Under **OU actions**, choose **Import from domain**. -3. In the dialog that lists the OUs found, select the ones to keep, then choose **Add selected OUs**. No OU is selected by default, and **Cancel** leaves the saved OU list unchanged. -4. Review the resulting **Organizational units** list and the default. OUs added manually and the default are preserved; duplicate DNs are not added again. An empty domain name is filled in from the import; if the domain name or the listed OUs belong to another domain, correct that first. +3. In the dialog that lists the OUs found, select the ones to keep, then choose **Add selected OUs**. OUs already in your list are not offered again, no OU is selected by default, and **Cancel** leaves the saved OU list unchanged. +4. Review the resulting **Organizational units** list and the default. The list is sorted by display name; select a column header to sort it differently. OUs added manually and the default are preserved; duplicate DNs are not added again. An empty domain name is filled in from the import; if the domain name or the listed OUs belong to another domain, correct that first. The search uses the computer's actual AD domain, using your current Windows identity to read it. The signed-in user's domain is not the domain selector. Requests and result size are bounded; the dialog says when only some of the OUs could be listed. While the search runs, the same button becomes **Cancel search**. You can still add OUs manually when the search is unavailable. From ea03707d684da44719418c7afbf61877030c0890 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 11:42:51 +0200 Subject: [PATCH 21/31] docs(domain-join): document several domains per media Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/domain-join.md | 28 ++++++++++----- foundry-osd/domain-join/README.md | 47 ++++++++++++++++---------- foundry-osd/domain-join/interactive.md | 12 +++---- foundry-osd/domain-join/zero-touch.md | 20 ++++++----- reference/security-and-credentials.md | 2 +- reference/telemetry-and-privacy.md | 6 ++-- troubleshooting/domain-join.md | 10 +++--- 7 files changed, 77 insertions(+), 48 deletions(-) diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index 9d1cd91..131f68d 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -15,18 +15,28 @@ The wizard does not contact AD. Valid syntax and a successful unlock do not prov The **Domain join** step sits between **Drivers** and **Summary**. It appears only when there is something to enter or choose, and **Next** stays unavailable until the inputs are valid. -For Interactive mode, enter **Domain name**, **Account (DOMAIN\user or user@domain)** and **Password**. A domain name set in Foundry OSD is prefilled and remains editable. An invalid domain name or account is flagged under its field. +The **Domain name** field depends on the media: -For Zero-touch, use the existing Protected deployment unlock. The encrypted account and password are checked against the domain and account they were saved for. There is no password prompt; the step appears only when technician OU choice is enabled, and then shows the domain name as read-only with the OU choice. +| Media | Technician action | +| --- | --- | +| Several domains listed and technician choice enabled | Choose a listed domain. The default domain is preselected. | +| One domain listed, or technician choice disabled | No action. The default domain is shown read-only. | +| Interactive with no domain listed | Type the domain name. An invalid name is flagged under the field. | + +For Interactive mode, also enter **Account (DOMAIN\user or user@domain)** and **Password**. An invalid account is flagged under its field. Changing the domain keeps what you typed. + +For Zero-touch, use the existing Protected deployment unlock. The encrypted account and password of the retained domain are checked against the domain and account they were saved for. There is no password prompt; the step appears only when the technician has a domain or an OU to choose. + +The OU follows the retained domain and resets to that domain's default when the domain changes: -| OU configuration | Technician action | +| OU configuration of the retained domain | Technician action | | --- | --- | -| OU list with technician choice enabled | Choose a listed **Organizational unit**. The default OU is preselected; **Next** requires a selection. | -| OU list with technician choice disabled | No OU field. The configured default is fixed; without a default, use the domain's default location. | -| Interactive without a usable OU list | Enter **OU distinguished name (optional)**, starting with `OU=` and inside the entered domain, or leave it empty. | -| Zero-touch without technician choice | No step; the default OU or the domain's default location is used. | +| OUs listed and technician choice enabled | Choose a listed **Organizational unit**. The default OU is preselected; **Next** requires a selection. | +| OUs listed and technician choice disabled | No OU field. The domain's default is fixed; without a default, the domain's default location is used. | +| No OU listed, Interactive | Enter **OU distinguished name (optional)**, starting with `OU=` and inside that domain, or leave it empty. | +| No OU listed, Zero-touch | No OU field; the domain's default location is used. | -Changing the domain in Interactive mode hides listed OUs that belong to another domain and offers the typed OU field instead. When an OU list applies, a typed OU is not accepted. +A domain that lists OUs never accepts a typed OU. The account and password never appear in the summary or in **Confirm disk erase**. The password is kept only in memory while you finish the wizard and is cleared once deployment starts. Known Home-family editions skip the step; the summary then says the edition cannot join a domain. @@ -34,7 +44,7 @@ The account and password never appear in the summary or in **Confirm disk erase* **Screenshot required** - **File:** `foundry-deploy-domain-join-01-interactive-ou.png` -- **Capture:** Show the Domain join wizard step in Interactive mode with the OU choice, using sanitized demonstration data and empty credential fields. +- **Capture:** Show the Domain join wizard step in Interactive mode with the domain list and the OU choice, using sanitized demonstration data and empty credential fields. {% endhint %} ## Follow staging and first boot diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 7c2ff03..14313d7 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -2,7 +2,7 @@ Use **Domain Join** to join installed Windows to an Active Directory domain before OOBE. Choose [Interactive Domain Join](interactive.md) when a technician supplies credentials for each deployment, or [Zero-touch Domain Join](zero-touch.md) when protected media supplies them. -Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can be active. Open the intended page and choose **Enable**. Confirm replacement if another mode is active. **Disable** excludes joining from new media while retaining nonsecret configuration. Credentials are cleared when their domain, account or active-mode ownership changes. +Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can be active. Open the intended page and choose **Enable**. Confirm replacement if another mode is active. **Disable** excludes joining from new media while retaining nonsecret configuration. A join password is cleared when its account changes, is no longer used, or the active mode changes. ## Before configuring @@ -11,36 +11,49 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can - Choose a unique [concrete computer name](../customization/machine-naming.md). A [custom answer file](../customization/unattend.md) must supply exactly one valid applicable `specialize` computer name and contain no `Microsoft-Windows-UnattendedJoin` component. - Review [edition and runtime requirements](../../reference/supported-versions.md#domain-join). Known Windows Home-family editions skip joining with a warning while Windows installation continues. -## Configure organizational units +## List the domains -Both pages share the same optional OU list. Use a DNS domain such as `corp.example.test`, a display name such as `Workstations`, and a distinguished name such as `OU=Workstations,DC=corp,DC=example,DC=test`. +Both pages share the same lists. One media can serve several domains; at deployment one domain and one OU are retained for the computer. -1. Enter **Domain name**. It is required for Zero-touch and whenever you list OUs; Interactive without listed OUs may leave it for the technician. -2. Under **OU actions**, choose **Add OU**. Enter **Display name** and **Distinguished name**, then choose **Add OU** in the dialog. The DN must name an organizational unit inside that domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. A refused entry is explained in the dialog so you can correct it. You can list up to 1,024 OUs. -3. Alternatively, [import OUs from the domain](#find-and-import-ous). -4. Turn on **Default OU** and choose the OU, or leave it off to have no default. Turning it on preselects the first listed OU. -5. Enable **Let technicians choose the OU** if technicians should choose among the listed OUs. A default is preselected; without one, a listed choice is required before continuing. +Under **Domains**: -With selection disabled, the configured default is fixed. With no default, Windows uses its default domain account location; a reused account is left in its current location. When an OU list applies, technicians can only pick from it. Interactive deployment without a usable OU list offers an optional typed DN instead. Zero-touch never accepts a typed OU. +1. Choose **Add**, enter the **Domain name** (a DNS name such as `corp.example.test`), then confirm. In Zero-touch the dialog also asks which account joins that domain; see [Zero-touch Domain Join](zero-touch.md). You can list up to 32 domains. +2. The first domain you add becomes the default. To change it, select another domain and choose **Set as default**. +3. Turn on **Technicians can choose** if technicians should pick the domain during deployment. When it is off, every deployment joins the default domain. -Changing the authored domain clears the default and disables selection, but keeps the listed OUs. Select the OUs from the previous domain under **Organizational units** and choose **Remove selected**, or correct the domain, before creating media. Removing the default OU clears the default; removing the last OU also turns off technician choice. +**Edit** changes the selected domain. Its name can be changed only while it lists no OUs; remove them first, or add a new domain. **Remove** deletes the selected domain together with its OUs; removing the default moves the default to the first remaining domain. -Listed OUs that no longer match the domain name are an editing draft. While Domain Join is enabled, repair the mismatch before saving a named-profile checkpoint, exporting the profile or creating media. A disabled Domain Join mode does not block them. Activating a named profile restores its last valid checkpoint. +Interactive may list no domain at all. The technician then types the domain during deployment. + +## List the OUs of a domain + +Select a domain under **Domains**. The **Organizational units** card then shows and edits the OUs of that domain only. + +1. Choose **Add**, enter a **Display name** such as `Workstations` and a **Distinguished name** such as `OU=Workstations,DC=corp,DC=example,DC=test`, then confirm. The DN must name an organizational unit inside the selected domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. A refused entry is explained in the dialog so you can correct it. You can list up to 1,024 OUs per domain. +2. Alternatively, [import OUs from the domain](#find-and-import-ous). +3. To set the domain's default OU, select one OU and choose **Set as default**. **Clear default** returns to no default. +4. Turn on **Technicians can choose** if technicians should pick among the listed OUs. This setting applies to every domain that lists OUs. + +Without technician choice, each domain's default OU is fixed. With no default, Windows uses that domain's default location; a reused account is left where it is. When a domain lists OUs, technicians can only pick from them. In Interactive mode, a domain without listed OUs offers an optional typed DN instead. Zero-touch never accepts a typed OU. + +**Remove** deletes the selected OUs; removing a default OU clears that domain's default. + +Both tables are sorted by name; select a column header to sort differently. ## Find and import OUs -1. Use an authoring computer already joined to the intended AD domain and connect it to that directory. -2. Under **OU actions**, choose **Import from domain**. -3. In the dialog that lists the OUs found, select the ones to keep, then choose **Add selected OUs**. OUs already in your list are not offered again, no OU is selected by default, and **Cancel** leaves the saved OU list unchanged. -4. Review the resulting **Organizational units** list and the default. The list is sorted by display name; select a column header to sort it differently. OUs added manually and the default are preserved; duplicate DNs are not added again. An empty domain name is filled in from the import; if the domain name or the listed OUs belong to another domain, correct that first. +1. Select the domain under **Domains**. The authoring computer must be able to reach that domain, and your Windows account must be allowed to read it: this is the case for the computer's own domain and for domains that trust it. +2. Under **Organizational units**, choose **Import from domain**. +3. In the dialog that lists the OUs found, select the ones to keep, then choose **Add selected OUs**. OUs already listed for that domain are not offered again, no OU is selected by default, and **Cancel** leaves the list unchanged. +4. Review the resulting list and the default. -The search uses the computer's actual AD domain, using your current Windows identity to read it. The signed-in user's domain is not the domain selector. Requests and result size are bounded; the dialog says when only some of the OUs could be listed. While the search runs, the same button becomes **Cancel search**. You can still add OUs manually when the search is unavailable. +The search reads the selected domain with your current Windows identity; it does not test the join account's permissions. Requests and result size are bounded; the dialog says when only some of the OUs could be listed. While the search runs, the same button becomes **Cancel search**. You can still add OUs manually when the domain cannot be searched. {% hint style="warning" %} **Screenshot required** - **File:** `foundry-osd-domain-join-01-organizational-units.png` -- **Capture:** Show the OU actions, default OU, technician choice toggle and the OU list using sanitized demonstration data. +- **Capture:** Show the Domains card with two domains and the Organizational units card of the selected domain, with their command bars, using sanitized demonstration data. {% endhint %} ## Build and verify diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index d9f4239..7204603 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -5,8 +5,8 @@ Choose this mode for shared deployment media when technicians should enter a dom ## Prepare the media 1. Open **Domain Join > Interactive** and choose **Enable**. If prompted, confirm replacement of the active Domain Join or Autopilot mode. -2. Enter **Domain name** to prefill the Domain join step in Deploy. You may leave it blank when no OUs are listed. -3. Optionally [add or import OUs](README.md#configure-organizational-units). Listed OUs require the matching domain name. Set a default and decide whether to allow technician selection. +2. Optionally [list the domains](README.md#list-the-domains) technicians may join. With at least one domain listed, the technician joins one of them and cannot type another; with none, the technician types the domain during deployment. +3. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain. Set a default OU and decide whether technicians can choose. 4. Resolve readiness messages, then [create or update media](../media/README.md). Interactive joining introduces no media-password prerequisite and stores no join password in the media. Other enabled options, including custom answer files, may independently require [Protected deployment](../general.md#protected-deployment). @@ -17,16 +17,16 @@ Choose **Disable** to exclude joining from newly created media. Nonsecret settin **Screenshot required** - **File:** `foundry-osd-domain-join-interactive-01-configuration.png` -- **Capture:** Show the enabled Interactive Domain Join page, domain name, validation messages and the Organizational units section with sanitized demonstration data. +- **Capture:** Show the enabled Interactive Domain Join page with the Domains card and the Organizational units card of the selected domain, using sanitized demonstration data. {% endhint %} ## Deploy a target -The Deploy wizard shows a **Domain join** step before **Summary**. Enter **Domain name**, **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. +The Deploy wizard shows a **Domain join** step before **Summary**. Choose the **Domain name** when the media lists several and lets technicians choose; otherwise the domain is shown, or typed when the media lists none. Enter **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. -If technician choice is enabled, select a listed **Organizational unit**. The configured default starts selected, and **Next** requires a selection. An OU list with technician choice disabled uses its fixed default or the domain's default location. +If technician choice of the OU is enabled and the retained domain lists OUs, select a listed **Organizational unit**. That domain's default starts selected, and **Next** requires a selection. With technician choice disabled, the domain's fixed default or its default location is used. -Without a usable OU list, **OU distinguished name (optional)** accepts an OU inside the entered domain. Leave it empty to use the domain's default location. Changing the domain hides listed OUs from another domain. A typed DN is not offered when an OU list applies. +For a domain without listed OUs, **OU distinguished name (optional)** accepts an OU inside that domain. Leave it empty to use the domain's default location. Changing the domain replaces the OU choices with those of the new domain and keeps the account and password you typed. Review the domain name and OU in the summary's **Domain join** category before starting. See [technician steps and outcome verification](../../foundry-deploy/domain-join.md). diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index 6f9bfcb..e7a9dd5 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -1,29 +1,33 @@ # Zero-touch Domain Join -Choose this mode when protected deployment media should supply the join credentials. Technician OU choice, if enabled, still requires input. +Choose this mode when protected deployment media should supply the join credentials. Technician choice of the domain or the OU, if enabled, still requires input. ## Prepare protected media 1. In [General configuration](../general.md#protected-deployment), enable **Protected deployment** and supply its existing media password. 2. Open **Domain Join > Zero-Touch** and choose **Enable**. Confirm replacement if another Domain Join or Autopilot mode is active. -3. Enter **Domain name**, then **Account (DOMAIN\user or user@domain)** and **Password** under **Join account**. Use an administrator-provided account such as `CORP\deployment-join` for `corp.example.test`. -4. Optionally [add or import OUs](README.md#configure-organizational-units). Choose a default and enable **Let technicians choose the OU** only if technician selection is wanted. -5. Resolve all readiness messages and [create or update media](../media/README.md). +3. Under **Shared join account**, enter **Account (DOMAIN\user or user@domain)** and **Password**. Every domain uses this account unless you give it its own. Use an administrator-provided account such as `CORP\deployment-join`. +4. Under **Domains**, [add each domain](README.md#list-the-domains). To join a domain with a different account, choose **Use a dedicated account** in the domain dialog and enter that account and its password. +5. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain, and set a default OU. +6. Turn on **Technicians can choose** on a card only if technician selection of the domain or of the OU is wanted. +7. Resolve all readiness messages and [create or update media](../media/README.md). -The automatic password is encrypted using the existing Protected deployment key. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. Without technician OU choice, the Deploy wizard shows no Domain join step. With it, the step shows the domain name as read-only and no credential fields; the technician must choose an OU before continuing. +The **Status** column of the Domains table says what each domain still needs: **Ready**, or for example a missing password. Problems with the shared account are shown under that account. + +Each join password is encrypted using the existing Protected deployment key, once per domain, so a password written for one domain cannot be used for another. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. Without technician choice, the Deploy wizard shows no Domain join step and joins the default domain. With it, the step shows the domain and OU choices and no credential fields. {% hint style="warning" %} **Screenshot required** - **File:** `foundry-osd-domain-join-zero-touch-01-readiness.png` -- **Capture:** Show enabled Zero-touch Domain Join, credential field labels without credentials, validation messages and the Organizational units section. +- **Capture:** Show enabled Zero-touch Domain Join: the Shared join account card without credentials, the Domains table with its Status column, and the Organizational units card. {% endhint %} ## Keep credentials associated with the correct profile -Changing the domain, account or active mode clears the entered password. Re-enter it for the reviewed identity. **Disable** excludes joining from new media and clears domain credentials while retaining nonsecret settings. +A password belongs to its account. Changing an account, removing the last domain that uses it, or changing the active mode clears its password; renaming a domain does not. Re-enter the password for the reviewed account. **Disable** excludes joining from new media and clears domain credentials while retaining nonsecret settings. -[Remember passwords](../deployment-profiles.md#domain-credentials) can retain the password with a local profile. Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. An imported automatic profile remains structurally valid, but media creation needs the password and usable General protection on that PC. +[Remember passwords](../deployment-profiles.md#domain-credentials) can retain the password of each join account with a local profile. Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. An imported automatic profile remains structurally valid, but media creation needs the password and usable General protection on that PC. Encrypted shared revisions use a separate sharing path and may retain domain credentials when confidential inputs are explicitly included. Connection and recovery files omit the direct password, but their shared-access keys can grant access to secrets in those revisions. Restrict those files and their passwords accordingly. diff --git a/reference/security-and-credentials.md b/reference/security-and-credentials.md index 1203e27..c1fddc8 100644 --- a/reference/security-and-credentials.md +++ b/reference/security-and-credentials.md @@ -39,7 +39,7 @@ If media is lost, stolen, or copied without authorization, revoke embedded crede ## Domain credentials -Domain passwords are context-bound to the active domain/account. Local **Remember passwords** and encrypted shared revisions can retain them under their respective choices. Ordinary portable exports always omit the direct domain password, including when confidential inputs are selected. Connection/recovery files also omit it, but shared-access keys can grant access to secrets in revisions. Follow [profile retention and sharing rules](../foundry-osd/deployment-profiles.md#domain-credentials). +In Foundry OSD a join password belongs to its account, shared or dedicated. On media, each domain carries its own encrypted copy bound to that domain and that account, so it cannot be used for another domain. Local **Remember passwords** and encrypted shared revisions can retain them under their respective choices. Ordinary portable exports always omit the direct domain password, including when confidential inputs are selected. Connection/recovery files also omit it, but shared-access keys can grant access to secrets in revisions. Follow [profile retention and sharing rules](../foundry-osd/deployment-profiles.md#domain-credentials). Deploy stages a temporary plaintext binary payload at `%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin`. The operation directory has protected inheritance and permits SYSTEM and Administrators before the file is created. Joining is its only sensitive consumer; later membership verification uses no join credentials. Target access controls and physical security remain necessary. diff --git a/reference/telemetry-and-privacy.md b/reference/telemetry-and-privacy.md index 31d865e..d68e970 100644 --- a/reference/telemetry-and-privacy.md +++ b/reference/telemetry-and-privacy.md @@ -53,10 +53,10 @@ When telemetry is enabled, [Domain Join](../foundry-osd/domain-join/README.md) u | Event | Domain Join information | | --- | --- | -| `osd:boot_media_finished` | `domain_join_enabled`, `domain_join_mode` (`disabled`, `interactive` or `zero_touch`), `domain_join_ou_count`, `domain_join_default_ou_set`, and `domain_join_ou_selection_allowed`. | -| `deploy:session_finished` | `deploy_domain_join_enabled`, `deploy_domain_join_mode`, `deploy_domain_join_ou_source` (`none`, `default`, `selected` or `typed`), and `deploy_domain_join_status` (`disabled`, `pending`, `staged`, `skipped_unsupported_edition` or `skipped_image_composition`). | +| `osd:boot_media_finished` | `domain_join_enabled`, `domain_join_mode` (`disabled`, `interactive` or `zero_touch`), `domain_join_domain_count`, `domain_join_domain_selection_allowed`, `domain_join_shared_account_used`, `domain_join_ou_count`, `domain_join_default_ou_set`, and `domain_join_ou_selection_allowed`. | +| `deploy:session_finished` | `deploy_domain_join_enabled`, `deploy_domain_join_mode`, `deploy_domain_join_domain_source` and `deploy_domain_join_ou_source` (each `none`, `default`, `selected` or `typed`), and `deploy_domain_join_status` (`disabled`, `pending`, `staged`, `skipped_unsupported_edition` or `skipped_image_composition`). | -A disabled mode reports zero OUs, no default and no technician choice, even when a draft is saved. The OU count is capped at 1,024. The deployment status describes how far Foundry Deploy took the join; `staged` means the join was handed to installed Windows. Joining, OU placement and membership verification run later in Windows and are not reported, so telemetry does not show whether a computer actually joined the domain. +A disabled mode reports zero OUs, no default and no technician choice, even when a draft is saved. The domain count is capped at 32. The OU count is the total across domains, and the default OU flag is set when any domain has one. The deployment status describes how far Foundry Deploy took the join; `staged` means the join was handed to installed Windows. Joining, OU placement and membership verification run later in Windows and are not reported, so telemetry does not show whether a computer actually joined the domain. Domain names, account names, passwords, OU names, distinguished names, and computer names are excluded. diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index ebaee4e..547e2b0 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -15,10 +15,12 @@ Restart states and cleanup states are recorded separately from these phases. A c ## Media is not ready or input is rejected -- For Zero-touch, supply the context-matching domain password and a usable existing [General protection password](../foundry-osd/general.md#protected-deployment). Imported portable profiles deliberately omit the direct domain password. -- For Interactive without listed OUs, enter the domain in the Domain join step. A typed optional OU DN must name an organizational unit (it starts with `OU=`) inside that domain; a container such as `CN=Computers` is not accepted. -- When technician choice is enabled, choose a listed OU. Without a default, a selection is required. Changing the interactive domain clears the earlier OU input and hides listed OUs from another domain. -- Correct the listed OUs after changing the domain name. The search reads the authoring computer's AD domain using the current Windows identity; it does not test deployment-account permissions. You can still add OUs manually when the search fails. +- For Zero-touch, check the **Status** column of the Domains table: every listed domain needs a qualified account, shared or dedicated, with its password, and a usable existing [General protection password](../foundry-osd/general.md#protected-deployment). Imported portable profiles deliberately omit the join passwords. +- When the media lists domains, the technician joins one of them; another domain cannot be typed. For Interactive without listed domains, enter the domain in the Domain join step. +- A typed optional OU DN is offered only for a domain without listed OUs. It must name an organizational unit (it starts with `OU=`) inside that domain; a container such as `CN=Computers` is not accepted. +- When technician choice of the OU is enabled and the retained domain lists OUs, choose one. Without a default, a selection is required. Changing the domain replaces the OU choices with those of the new domain. +- A domain's name cannot be changed while it lists OUs. Remove its OUs first, or add the new domain and remove the old one. +- The OU search reads the selected domain using the current Windows identity; it does not test the join account's permissions. It fails for a domain this computer cannot reach or that does not trust your account. You can still add OUs manually. - For a custom answer file, supply one valid concrete applicable `specialize` name and remove conflicting `Microsoft-Windows-UnattendedJoin` configuration. Foundry does not fill a missing custom name from the wizard. Review arbitrary commands separately; not every scripted conflict can be detected. Known Windows Home-family editions skip joining and continue installation. Unfamiliar/missing edition metadata needs image/native inspection. Applied-image conflicts can also skip domain work. See [supported-version limits](../reference/supported-versions.md#domain-join). From ec287b83fa26a85d007564107ad30d781a19799a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 14:01:47 +0200 Subject: [PATCH 22/31] docs(domain-join): join passwords stay with their account across modes Co-Authored-By: Claude Opus 5.5 --- foundry-osd/deployment-profiles.md | 4 ++-- foundry-osd/domain-join/README.md | 2 +- foundry-osd/domain-join/interactive.md | 2 +- foundry-osd/domain-join/zero-touch.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/foundry-osd/deployment-profiles.md b/foundry-osd/deployment-profiles.md index 4cf590c..b0b7f6e 100644 --- a/foundry-osd/deployment-profiles.md +++ b/foundry-osd/deployment-profiles.md @@ -55,11 +55,11 @@ This action does not remove exported files, copies on the shared folder, origina ### Domain credentials -[Zero-touch Domain Join](domain-join/zero-touch.md) passwords belong to the active profile's canonical domain/account context. **Remember passwords** can retain them locally using the existing protected revision/key storage. Turning remembering off stops future retention without clearing the current session; **Clear saved passwords and access** also clears current passwords and synchronization access. +[Zero-touch Domain Join](domain-join/zero-touch.md) passwords belong to their join account in the active profile. **Remember passwords** can retain them locally using the existing protected revision/key storage. Turning remembering off stops future retention without clearing the current session; **Clear saved passwords and access** also clears current passwords and synchronization access. Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. Connection and recovery files use that same export rule. They may still carry shared-revision access keys: possession of the file and its password can grant access to shared secrets. -Encrypted shared revisions may include the domain password when confidential inputs are explicitly included. A settings-only update can preserve an existing local password only for the same profile and matching active automatic domain/account context. Changed context, unavailable/deleted credentials or another profile cannot borrow it. Changing domain/account or leaving automatic mode clears the current domain password. +Encrypted shared revisions may include the domain password when confidential inputs are explicitly included. A settings-only update can preserve an existing local password only for the same profile and the same join account. A changed account, unavailable/deleted credentials or another profile cannot borrow it. Changing or removing an account clears its password; changing the mode does not. An omitted-secret automatic profile can be saved/imported with **Remember passwords** enabled; domain omission alone does not require disabling it. The configuration is structurally valid, but creating automatic media remains blocked until the password and usable existing General protection are supplied. Profile retention and portable export are separate choices. diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 14313d7..6a2fd82 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -2,7 +2,7 @@ Use **Domain Join** to join installed Windows to an Active Directory domain before OOBE. Choose [Interactive Domain Join](interactive.md) when a technician supplies credentials for each deployment, or [Zero-touch Domain Join](zero-touch.md) when protected media supplies them. -Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can be active. Open the intended page and choose **Enable**. Confirm replacement if another mode is active. **Disable** excludes joining from new media while retaining nonsecret configuration. A join password is cleared when its account changes, is no longer used, or the active mode changes. +Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can be active. Open the intended page and choose **Enable**. Confirm replacement if another mode is active. **Disable** excludes joining from new media while retaining the configuration. A join password stays with its account: it is cleared when the account changes or leaves the configuration, not when the mode changes or joining is disabled. ## Before configuring diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index 7204603..e5e2838 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -9,7 +9,7 @@ Choose this mode for shared deployment media when technicians should enter a dom 3. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain. Set a default OU and decide whether technicians can choose. 4. Resolve readiness messages, then [create or update media](../media/README.md). -Interactive joining introduces no media-password prerequisite and stores no join password in the media. Other enabled options, including custom answer files, may independently require [Protected deployment](../general.md#protected-deployment). +Interactive joining introduces no media-password prerequisite and stores no join password in the media. Accounts and passwords entered on the Zero-touch page stay in the profile for a later switch back, but are never written to Interactive media. Other enabled options, including custom answer files, may independently require [Protected deployment](../general.md#protected-deployment). Choose **Disable** to exclude joining from newly created media. Nonsecret settings remain available for later activation. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index e7a9dd5..1b0c370 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -25,7 +25,7 @@ Each join password is encrypted using the existing Protected deployment key, onc ## Keep credentials associated with the correct profile -A password belongs to its account. Changing an account, removing the last domain that uses it, or changing the active mode clears its password; renaming a domain does not. Re-enter the password for the reviewed account. **Disable** excludes joining from new media and clears domain credentials while retaining nonsecret settings. +A password belongs to its account. Changing an account or removing the last domain that uses it clears its password; renaming a domain, switching to Interactive and choosing **Disable** do not, so returning to Zero-touch needs no retyping. Passwords kept this way are written only to Zero-touch media. **Disable** excludes joining from new media while retaining the settings and their passwords. [Remember passwords](../deployment-profiles.md#domain-credentials) can retain the password of each join account with a local profile. Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. An imported automatic profile remains structurally valid, but media creation needs the password and usable General protection on that PC. From 71f3b00a9c22201ddd7a5bba86b6231811716c46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 14:05:52 +0200 Subject: [PATCH 23/31] docs(domain-join): describe renaming a listed OU Co-Authored-By: Claude Opus 5.5 --- foundry-osd/domain-join/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 6a2fd82..770d543 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -36,7 +36,7 @@ Select a domain under **Domains**. The **Organizational units** card then shows Without technician choice, each domain's default OU is fixed. With no default, Windows uses that domain's default location; a reused account is left where it is. When a domain lists OUs, technicians can only pick from them. In Interactive mode, a domain without listed OUs offers an optional typed DN instead. Zero-touch never accepts a typed OU. -**Remove** deletes the selected OUs; removing a default OU clears that domain's default. +**Edit** changes the display name of the selected OU, for example to show technicians a clearer name than the one imported from the directory. The distinguished name stays the same, the OU stays the default when it was, and a later import keeps your name. **Remove** deletes the selected OUs; removing a default OU clears that domain's default. Both tables are sorted by name; select a column header to sort differently. From 188d97d384151e52baba88494198e5679bfbce27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 14:25:06 +0200 Subject: [PATCH 24/31] docs(domain-join): technician choice follows the listed domains and OUs Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/domain-join.md | 10 +++++----- foundry-osd/domain-join/README.md | 16 ++++++++++++---- foundry-osd/domain-join/interactive.md | 6 +++--- foundry-osd/domain-join/zero-touch.md | 9 ++++----- reference/telemetry-and-privacy.md | 4 ++-- troubleshooting/domain-join.md | 3 ++- 6 files changed, 28 insertions(+), 20 deletions(-) diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index 131f68d..a6f42b0 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -19,20 +19,20 @@ The **Domain name** field depends on the media: | Media | Technician action | | --- | --- | -| Several domains listed and technician choice enabled | Choose a listed domain. The default domain is preselected. | -| One domain listed, or technician choice disabled | No action. The default domain is shown read-only. | +| Several domains listed | Choose a listed domain. The default domain is preselected. | +| One domain listed | No action. The domain is shown read-only. | | Interactive with no domain listed | Type the domain name. An invalid name is flagged under the field. | For Interactive mode, also enter **Account (DOMAIN\user or user@domain)** and **Password**. An invalid account is flagged under its field. Changing the domain keeps what you typed. For Zero-touch, use the existing Protected deployment unlock. The encrypted account and password of the retained domain are checked against the domain and account they were saved for. There is no password prompt; the step appears only when the technician has a domain or an OU to choose. -The OU follows the retained domain and resets to that domain's default when the domain changes: +The OU follows the retained domain and resets when the domain changes: | OU configuration of the retained domain | Technician action | | --- | --- | -| OUs listed and technician choice enabled | Choose a listed **Organizational unit**. The default OU is preselected; **Next** requires a selection. | -| OUs listed and technician choice disabled | No OU field. The domain's default is fixed; without a default, the domain's default location is used. | +| Several OUs listed | Choose a listed **Organizational unit**. The default OU, if the domain has one, is preselected; **Next** requires a selection. | +| One OU listed | No OU field. That OU is used. | | No OU listed, Interactive | Enter **OU distinguished name (optional)**, starting with `OU=` and inside that domain, or leave it empty. | | No OU listed, Zero-touch | No OU field; the domain's default location is used. | diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 770d543..c775794 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -19,7 +19,8 @@ Under **Domains**: 1. Choose **Add**, enter the **Domain name** (a DNS name such as `corp.example.test`), then confirm. In Zero-touch the dialog also asks which account joins that domain; see [Zero-touch Domain Join](zero-touch.md). You can list up to 32 domains. 2. The first domain you add becomes the default. To change it, select another domain and choose **Set as default**. -3. Turn on **Technicians can choose** if technicians should pick the domain during deployment. When it is off, every deployment joins the default domain. + +With one domain listed, every deployment joins it. With several, technicians choose the domain during deployment and the default is preselected. To keep a deployment free of that choice, list a single domain. **Edit** changes the selected domain. Its name can be changed only while it lists no OUs; remove them first, or add a new domain. **Remove** deletes the selected domain together with its OUs; removing the default moves the default to the first remaining domain. @@ -31,10 +32,17 @@ Select a domain under **Domains**. The **Organizational units** card then shows 1. Choose **Add**, enter a **Display name** such as `Workstations` and a **Distinguished name** such as `OU=Workstations,DC=corp,DC=example,DC=test`, then confirm. The DN must name an organizational unit inside the selected domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. A refused entry is explained in the dialog so you can correct it. You can list up to 1,024 OUs per domain. 2. Alternatively, [import OUs from the domain](#find-and-import-ous). -3. To set the domain's default OU, select one OU and choose **Set as default**. **Clear default** returns to no default. -4. Turn on **Technicians can choose** if technicians should pick among the listed OUs. This setting applies to every domain that lists OUs. +3. When a domain lists several OUs, select one and choose **Set as default** to preselect it for technicians. **Clear default** returns to no preselection. + +The number of OUs a domain lists decides what happens during deployment: + +| OUs listed for the domain | Result | +| --- | --- | +| None | Windows uses the domain's default location; a reused account is left where it is. In Interactive mode the technician may type an OU DN instead. Zero-touch never accepts a typed OU. | +| One | That OU is always used. It is shown as the default and needs no choice. | +| Several | Technicians choose one of them during deployment. The default, if set, is preselected; without one they must pick. | -Without technician choice, each domain's default OU is fixed. With no default, Windows uses that domain's default location; a reused account is left where it is. When a domain lists OUs, technicians can only pick from them. In Interactive mode, a domain without listed OUs offers an optional typed DN instead. Zero-touch never accepts a typed OU. +To keep a deployment free of that choice, list at most one OU for the domain. **Edit** changes the display name of the selected OU, for example to show technicians a clearer name than the one imported from the directory. The distinguished name stays the same, the OU stays the default when it was, and a later import keeps your name. **Remove** deletes the selected OUs; removing a default OU clears that domain's default. diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index e5e2838..cf1c967 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -6,7 +6,7 @@ Choose this mode for shared deployment media when technicians should enter a dom 1. Open **Domain Join > Interactive** and choose **Enable**. If prompted, confirm replacement of the active Domain Join or Autopilot mode. 2. Optionally [list the domains](README.md#list-the-domains) technicians may join. With at least one domain listed, the technician joins one of them and cannot type another; with none, the technician types the domain during deployment. -3. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain. Set a default OU and decide whether technicians can choose. +3. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain. A single OU is always used; with several, technicians choose one and the default is preselected. 4. Resolve readiness messages, then [create or update media](../media/README.md). Interactive joining introduces no media-password prerequisite and stores no join password in the media. Accounts and passwords entered on the Zero-touch page stay in the profile for a later switch back, but are never written to Interactive media. Other enabled options, including custom answer files, may independently require [Protected deployment](../general.md#protected-deployment). @@ -22,9 +22,9 @@ Choose **Disable** to exclude joining from newly created media. Nonsecret settin ## Deploy a target -The Deploy wizard shows a **Domain join** step before **Summary**. Choose the **Domain name** when the media lists several and lets technicians choose; otherwise the domain is shown, or typed when the media lists none. Enter **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. +The Deploy wizard shows a **Domain join** step before **Summary**. Choose the **Domain name** when the media lists several; otherwise the domain is shown, or typed when the media lists none. Enter **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. -If technician choice of the OU is enabled and the retained domain lists OUs, select a listed **Organizational unit**. That domain's default starts selected, and **Next** requires a selection. With technician choice disabled, the domain's fixed default or its default location is used. +If the retained domain lists several OUs, select a listed **Organizational unit**. That domain's default, if it has one, starts selected, and **Next** requires a selection. A domain that lists a single OU uses it without asking. For a domain without listed OUs, **OU distinguished name (optional)** accepts an OU inside that domain. Leave it empty to use the domain's default location. Changing the domain replaces the OU choices with those of the new domain and keeps the account and password you typed. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index 1b0c370..ae82298 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -1,6 +1,6 @@ # Zero-touch Domain Join -Choose this mode when protected deployment media should supply the join credentials. Technician choice of the domain or the OU, if enabled, still requires input. +Choose this mode when protected deployment media should supply the join credentials. Listing several domains, or several OUs for a domain, still asks the technician to choose among them. ## Prepare protected media @@ -8,13 +8,12 @@ Choose this mode when protected deployment media should supply the join credenti 2. Open **Domain Join > Zero-Touch** and choose **Enable**. Confirm replacement if another Domain Join or Autopilot mode is active. 3. Under **Shared join account**, enter **Account (DOMAIN\user or user@domain)** and **Password**. Every domain uses this account unless you give it its own. Use an administrator-provided account such as `CORP\deployment-join`. 4. Under **Domains**, [add each domain](README.md#list-the-domains). To join a domain with a different account, choose **Use a dedicated account** in the domain dialog and enter that account and its password. -5. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain, and set a default OU. -6. Turn on **Technicians can choose** on a card only if technician selection of the domain or of the OU is wanted. -7. Resolve all readiness messages and [create or update media](../media/README.md). +5. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain. For a deployment without any technician input, list one domain and at most one OU. +6. Resolve all readiness messages and [create or update media](../media/README.md). The **Status** column of the Domains table says what each domain still needs: **Ready**, or for example a missing password. Problems with the shared account are shown under that account. -Each join password is encrypted using the existing Protected deployment key, once per domain, so a password written for one domain cannot be used for another. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. Without technician choice, the Deploy wizard shows no Domain join step and joins the default domain. With it, the step shows the domain and OU choices and no credential fields. +Each join password is encrypted using the existing Protected deployment key, once per domain, so a password written for one domain cannot be used for another. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. With one domain and at most one OU listed for it, the Deploy wizard shows no Domain join step. With several domains, or several OUs for the retained domain, the step shows those choices and no credential fields. {% hint style="warning" %} **Screenshot required** diff --git a/reference/telemetry-and-privacy.md b/reference/telemetry-and-privacy.md index d68e970..3d80eca 100644 --- a/reference/telemetry-and-privacy.md +++ b/reference/telemetry-and-privacy.md @@ -53,10 +53,10 @@ When telemetry is enabled, [Domain Join](../foundry-osd/domain-join/README.md) u | Event | Domain Join information | | --- | --- | -| `osd:boot_media_finished` | `domain_join_enabled`, `domain_join_mode` (`disabled`, `interactive` or `zero_touch`), `domain_join_domain_count`, `domain_join_domain_selection_allowed`, `domain_join_shared_account_used`, `domain_join_ou_count`, `domain_join_default_ou_set`, and `domain_join_ou_selection_allowed`. | +| `osd:boot_media_finished` | `domain_join_enabled`, `domain_join_mode` (`disabled`, `interactive` or `zero_touch`), `domain_join_domain_count`, `domain_join_shared_account_used`, `domain_join_ou_count`, and `domain_join_default_ou_set`. | | `deploy:session_finished` | `deploy_domain_join_enabled`, `deploy_domain_join_mode`, `deploy_domain_join_domain_source` and `deploy_domain_join_ou_source` (each `none`, `default`, `selected` or `typed`), and `deploy_domain_join_status` (`disabled`, `pending`, `staged`, `skipped_unsupported_edition` or `skipped_image_composition`). | -A disabled mode reports zero OUs, no default and no technician choice, even when a draft is saved. The domain count is capped at 32. The OU count is the total across domains, and the default OU flag is set when any domain has one. The deployment status describes how far Foundry Deploy took the join; `staged` means the join was handed to installed Windows. Joining, OU placement and membership verification run later in Windows and are not reported, so telemetry does not show whether a computer actually joined the domain. +A disabled mode reports zero domains, zero OUs and no default, even when a draft is saved. The domain count is capped at 32. The OU count is the total across domains, and the default OU flag is set when any domain has one. The deployment status describes how far Foundry Deploy took the join; `staged` means the join was handed to installed Windows. Joining, OU placement and membership verification run later in Windows and are not reported, so telemetry does not show whether a computer actually joined the domain. Domain names, account names, passwords, OU names, distinguished names, and computer names are excluded. diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index 547e2b0..ac50801 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -18,7 +18,8 @@ Restart states and cleanup states are recorded separately from these phases. A c - For Zero-touch, check the **Status** column of the Domains table: every listed domain needs a qualified account, shared or dedicated, with its password, and a usable existing [General protection password](../foundry-osd/general.md#protected-deployment). Imported portable profiles deliberately omit the join passwords. - When the media lists domains, the technician joins one of them; another domain cannot be typed. For Interactive without listed domains, enter the domain in the Domain join step. - A typed optional OU DN is offered only for a domain without listed OUs. It must name an organizational unit (it starts with `OU=`) inside that domain; a container such as `CN=Computers` is not accepted. -- When technician choice of the OU is enabled and the retained domain lists OUs, choose one. Without a default, a selection is required. Changing the domain replaces the OU choices with those of the new domain. +- When the retained domain lists several OUs, choose one. Without a default, nothing is preselected and a selection is required. Changing the domain replaces the OU choices with those of the new domain. +- The Domain join step appears in Zero-touch as soon as the media lists several domains, or several OUs for the retained domain. For a deployment without that step, list one domain and at most one OU. - A domain's name cannot be changed while it lists OUs. Remove its OUs first, or add the new domain and remove the old one. - The OU search reads the selected domain using the current Windows identity; it does not test the join account's permissions. It fails for a domain this computer cannot reach or that does not trust your account. You can still add OUs manually. - For a custom answer file, supply one valid concrete applicable `specialize` name and remove conflicting `Microsoft-Windows-UnattendedJoin` configuration. Foundry does not fill a missing custom name from the wizard. Review arbitrary commands separately; not every scripted conflict can be detected. From 42689a810dabfa768565af5748df68981e5ac061 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 16:14:37 +0200 Subject: [PATCH 25/31] docs(domain-join): a local account is needed to skip the Windows account page Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/domain-join.md | 2 +- foundry-osd/domain-join/README.md | 1 + troubleshooting/domain-join.md | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index a6f42b0..eebd0a1 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -55,7 +55,7 @@ In installed Windows, PostInstall runs joining and placement after deferred driv A selected OU is used for a new account. A safely identified reused account is moved within the same domain without deletion/recreation, preserving its GUID. If the worker cannot prove the object's identity or the OU, it reports a separate placement warning rather than moving an unproven account. Without an OU, it does not relocate a reused account. If the requested OU no longer exists, the computer is still joined, in the domain's default location, and placement is reported as failed. -When Deploy stages a join with the answer file Foundry generates, it also hides the Windows account screens in OOBE, so setup ends on the sign-in screen where a domain account is used. No local account is required for this; add one on the [OOBE page](../foundry-osd/customization/oobe.md) if you want local access. An imported [custom answer file](../foundry-osd/customization/unattend.md) keeps control of its own OOBE settings. +When Deploy stages a join with the answer file Foundry generates, it also hides the Microsoft account sign-in in OOBE. Windows client editions then still ask **Who's going to use this device?** unless the answer file creates a local account: joining a domain does not skip that page. To end setup directly on the sign-in screen, where a domain account is used, enable the built-in Administrator account or add a local account on the [OOBE page](../foundry-osd/customization/oobe.md). An imported [custom answer file](../foundry-osd/customization/unattend.md) keeps control of its own OOBE settings and accounts. ## Confirm the result diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index c775794..841897d 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -10,6 +10,7 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can - Ask the AD administrator to provide an account with the required join, reuse, directory-read and OU-placement permissions. Discovery and configuration validation do not audit those permissions. - Choose a unique [concrete computer name](../customization/machine-naming.md). A [custom answer file](../customization/unattend.md) must supply exactly one valid applicable `specialize` computer name and contain no `Microsoft-Windows-UnattendedJoin` component. - Review [edition and runtime requirements](../../reference/supported-versions.md#domain-join). Known Windows Home-family editions skip joining with a warning while Windows installation continues. +- Configure a local account on the [OOBE page](../customization/oobe.md): the built-in Administrator account or an additional local account. Without one, Windows asks to create an account at the end of setup even though the computer has joined the domain. The Domain Join pages show a warning in that case; it does not block media creation. ## List the domains diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index ac50801..0b8c67b 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -26,6 +26,10 @@ Restart states and cleanup states are recorded separately from these phases. A c Known Windows Home-family editions skip joining and continue installation. Unfamiliar/missing edition metadata needs image/native inspection. Applied-image conflicts can also skip domain work. See [supported-version limits](../reference/supported-versions.md#domain-join). +## Windows asks who will use the device + +The computer has joined the domain, but setup stops on **Who's going to use this device?** instead of the sign-in screen. Windows client editions only skip that page when the answer file creates a local account. On the [OOBE page](../foundry-osd/customization/oobe.md), enable the built-in Administrator account or add a local account, then create or update the media. The Domain Join pages warn while no local account is configured. With a [custom answer file](../foundry-osd/customization/unattend.md), create the account in that file. + ## Joining fails Check installed-Windows network drivers, domain DNS, controller reachability and system time. Connect's Internet check does not confirm AD connectivity, and an OU list does not provide offline joining. Readiness checks are bounded; restore connectivity before arranging a new controlled attempt. From 391ccf6f30ff61b6350f4d2bf7dd7ceec1ac669b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 17:01:18 +0200 Subject: [PATCH 26/31] docs(domain-join): the built-in Administrator alone does not skip the account page Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/domain-join.md | 2 +- foundry-osd/domain-join/README.md | 2 +- troubleshooting/domain-join.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index eebd0a1..7703bc2 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -55,7 +55,7 @@ In installed Windows, PostInstall runs joining and placement after deferred driv A selected OU is used for a new account. A safely identified reused account is moved within the same domain without deletion/recreation, preserving its GUID. If the worker cannot prove the object's identity or the OU, it reports a separate placement warning rather than moving an unproven account. Without an OU, it does not relocate a reused account. If the requested OU no longer exists, the computer is still joined, in the domain's default location, and placement is reported as failed. -When Deploy stages a join with the answer file Foundry generates, it also hides the Microsoft account sign-in in OOBE. Windows client editions then still ask **Who's going to use this device?** unless the answer file creates a local account: joining a domain does not skip that page. To end setup directly on the sign-in screen, where a domain account is used, enable the built-in Administrator account or add a local account on the [OOBE page](../foundry-osd/customization/oobe.md). An imported [custom answer file](../foundry-osd/customization/unattend.md) keeps control of its own OOBE settings and accounts. +When Deploy stages a join with the answer file Foundry generates, it also hides the Microsoft account sign-in in OOBE. Windows client editions then still ask **Who's going to use this device?** unless the answer file creates a local account: joining a domain does not skip that page. To end setup directly on the sign-in screen, where a domain account is used, add a local account on the [OOBE page](../foundry-osd/customization/oobe.md); enabling the built-in Administrator account alone does not skip the page. An imported [custom answer file](../foundry-osd/customization/unattend.md) keeps control of its own OOBE settings and accounts. ## Confirm the result diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 841897d..354827d 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -10,7 +10,7 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can - Ask the AD administrator to provide an account with the required join, reuse, directory-read and OU-placement permissions. Discovery and configuration validation do not audit those permissions. - Choose a unique [concrete computer name](../customization/machine-naming.md). A [custom answer file](../customization/unattend.md) must supply exactly one valid applicable `specialize` computer name and contain no `Microsoft-Windows-UnattendedJoin` component. - Review [edition and runtime requirements](../../reference/supported-versions.md#domain-join). Known Windows Home-family editions skip joining with a warning while Windows installation continues. -- Configure a local account on the [OOBE page](../customization/oobe.md): the built-in Administrator account or an additional local account. Without one, Windows asks to create an account at the end of setup even though the computer has joined the domain. The Domain Join pages show a warning in that case; it does not block media creation. +- Add a local account on the [OOBE page](../customization/oobe.md). Without one, Windows asks to create an account at the end of setup even though the computer has joined the domain; enabling the built-in Administrator account alone does not prevent it. The Domain Join pages show a warning in that case; it does not block media creation. ## List the domains diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index 0b8c67b..41f6105 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -28,7 +28,7 @@ Known Windows Home-family editions skip joining and continue installation. Unfam ## Windows asks who will use the device -The computer has joined the domain, but setup stops on **Who's going to use this device?** instead of the sign-in screen. Windows client editions only skip that page when the answer file creates a local account. On the [OOBE page](../foundry-osd/customization/oobe.md), enable the built-in Administrator account or add a local account, then create or update the media. The Domain Join pages warn while no local account is configured. With a [custom answer file](../foundry-osd/customization/unattend.md), create the account in that file. +The computer has joined the domain, but setup stops on **Who's going to use this device?** instead of the sign-in screen. Windows client editions only skip that page when the answer file creates a local account. On the [OOBE page](../foundry-osd/customization/oobe.md), add a local account, then create or update the media; enabling the built-in Administrator account alone is not enough. The Domain Join pages warn while no local account is configured. With a [custom answer file](../foundry-osd/customization/unattend.md), create the account in that file. ## Joining fails From f8d05347c9de3dc945ce2e52a43c2b23fc70ba2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 17:43:14 +0200 Subject: [PATCH 27/31] docs(domain-join): setup ends on the sign-in screen after a verified join Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/domain-join.md | 2 +- foundry-osd/domain-join/README.md | 1 - troubleshooting/domain-join.md | 4 +++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index 7703bc2..11a1fcd 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -55,7 +55,7 @@ In installed Windows, PostInstall runs joining and placement after deferred driv A selected OU is used for a new account. A safely identified reused account is moved within the same domain without deletion/recreation, preserving its GUID. If the worker cannot prove the object's identity or the OU, it reports a separate placement warning rather than moving an unproven account. Without an OU, it does not relocate a reused account. If the requested OU no longer exists, the computer is still joined, in the domain's default location, and placement is reported as failed. -When Deploy stages a join with the answer file Foundry generates, it also hides the Microsoft account sign-in in OOBE. Windows client editions then still ask **Who's going to use this device?** unless the answer file creates a local account: joining a domain does not skip that page. To end setup directly on the sign-in screen, where a domain account is used, add a local account on the [OOBE page](../foundry-osd/customization/oobe.md); enabling the built-in Administrator account alone does not skip the page. An imported [custom answer file](../foundry-osd/customization/unattend.md) keeps control of its own OOBE settings and accounts. +When Deploy stages a join with the answer file Foundry generates, it also hides the Microsoft account sign-in in OOBE. Once the join has been verified in installed Windows, setup skips the account creation page and ends on the sign-in screen, where a domain account is used. No local account is required for this; add one on the [OOBE page](../foundry-osd/customization/oobe.md) if you want local access. If the join fails or cannot be verified, Windows still asks **Who's going to use this device?**, so the computer can be reached with a local account. An imported [custom answer file](../foundry-osd/customization/unattend.md) keeps control of its own OOBE settings and accounts. ## Confirm the result diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 354827d..c775794 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -10,7 +10,6 @@ Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can - Ask the AD administrator to provide an account with the required join, reuse, directory-read and OU-placement permissions. Discovery and configuration validation do not audit those permissions. - Choose a unique [concrete computer name](../customization/machine-naming.md). A [custom answer file](../customization/unattend.md) must supply exactly one valid applicable `specialize` computer name and contain no `Microsoft-Windows-UnattendedJoin` component. - Review [edition and runtime requirements](../../reference/supported-versions.md#domain-join). Known Windows Home-family editions skip joining with a warning while Windows installation continues. -- Add a local account on the [OOBE page](../customization/oobe.md). Without one, Windows asks to create an account at the end of setup even though the computer has joined the domain; enabling the built-in Administrator account alone does not prevent it. The Domain Join pages show a warning in that case; it does not block media creation. ## List the domains diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index 41f6105..2a9a36b 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -28,7 +28,9 @@ Known Windows Home-family editions skip joining and continue installation. Unfam ## Windows asks who will use the device -The computer has joined the domain, but setup stops on **Who's going to use this device?** instead of the sign-in screen. Windows client editions only skip that page when the answer file creates a local account. On the [OOBE page](../foundry-osd/customization/oobe.md), add a local account, then create or update the media; enabling the built-in Administrator account alone is not enough. The Domain Join pages warn while no local account is configured. With a [custom answer file](../foundry-osd/customization/unattend.md), create the account in that file. +Setup ends on the sign-in screen only after Foundry has verified that the computer is a member of the domain. When it stops on **Who's going to use this device?** instead, the join failed or could not be verified: create a local account to reach the desktop, then follow [Joining fails](#joining-fails) and review the join result. + +The page also appears with a [custom answer file](../foundry-osd/customization/unattend.md) that creates no account, because that file keeps control of its own OOBE settings. Create the account in that file. ## Joining fails From a9783e3417a9ec868682dc97f7ccdfa669c7c504 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 18:53:36 +0200 Subject: [PATCH 28/31] docs(domain-join): rewrite the Domain Join guidance for administrators and technicians Replace implementation wording with task-based guidance: what to configure, what the technician sees, how to read the outcome in installed Windows and what to do for each failure. Correct the statement that the disk erase confirmation shows the domain, and align the related pages and the screenshot instructions with the current behavior. Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/README.md | 6 +- foundry-deploy/domain-join.md | 94 ++++++++++----- foundry-deploy/review-and-deploy.md | 6 +- foundry-deploy/target.md | 2 +- foundry-deploy/verify-deployment.md | 4 +- foundry-osd/autopilot/README.md | 2 +- foundry-osd/customization/machine-naming.md | 4 +- .../customization/post-installation.md | 8 +- foundry-osd/customization/unattend.md | 8 +- foundry-osd/deployment-profiles.md | 20 ++-- foundry-osd/domain-join/README.md | 71 ++++++----- foundry-osd/domain-join/interactive.md | 30 +++-- foundry-osd/domain-join/zero-touch.md | 53 +++++--- foundry-osd/general.md | 4 +- foundry-osd/media/README.md | 2 +- foundry-osd/settings.md | 4 +- reference/security-and-credentials.md | 12 +- reference/supported-versions.md | 8 +- start-here/deployment-workflow.md | 8 +- start-here/quick-start.md | 4 +- troubleshooting/README.md | 4 +- troubleshooting/deployment.md | 4 +- troubleshooting/domain-join.md | 113 +++++++++++++----- troubleshooting/logs-and-support.md | 18 +-- 24 files changed, 301 insertions(+), 188 deletions(-) diff --git a/foundry-deploy/README.md b/foundry-deploy/README.md index fb12313..77e8e72 100644 --- a/foundry-deploy/README.md +++ b/foundry-deploy/README.md @@ -8,7 +8,7 @@ Foundry Deploy runs in Windows PE after network readiness. It guides a technicia - Confirm that required network services are reachable. - Disconnect storage devices that must not be selected accidentally. - Obtain the technician password when Protected deployment is enabled. -- For [Domain Join](domain-join.md), obtain interactive join credentials when needed and arrange installed-Windows domain-controller access. +- For [Domain Join](domain-join.md), have the join account and its password ready when the media is Interactive, and make sure the computer will reach the domain once Windows is installed. {% hint style="danger" %} Deployment erases and repartitions the selected target disk. Verify the target before starting. @@ -16,7 +16,7 @@ Deployment erases and repartitions the selected target disk. Verify the target b When Protected deployment is enabled, Foundry Deploy requests the technician password before initialization. Cancelling the prompt closes Foundry Deploy. Incorrect attempts can be retried, with a progressively longer delay of up to five seconds. If the password is lost, recreate the media in Foundry OSD. -Automatic Domain Join reuses this unlock session. Interactive joining introduces no media-password prerequisite. +Zero-touch Domain Join uses the same technician password; there is no separate prompt for the domain account. Interactive Domain Join does not require Protected deployment. {% hint style="info" %} Foundry Deploy validates HTTPS server certificates. When the catalog supplies a file hash, Deploy checks downloaded files and rechecks cached files before reuse. For cached Windows images and OEM driver packs, **Checking cache...** shows the verification percentage and bytes processed. Allow extra time when using large files or slower USB drives. A cached file that fails verification is downloaded again with its own download progress; a replacement that also fails verification stops the affected step. See [download troubleshooting](../troubleshooting/deployment.md#download-fails). @@ -30,6 +30,6 @@ Keep deployment media under your control. Packages without a catalog hash retain 2. [Select Windows](operating-system.md). 3. [Select a driver pack](driver-pack.md). 4. Configure Windows Autopilot when JSON profile or zero-touch upload media requires a deployment-time choice. Interactive upload runs later during Windows OOBE and does not add this wizard step. -5. Complete the [Domain join step](domain-join.md#complete-the-domain-join-step) when the wizard shows it. It appears before the summary on Domain Join media that needs credentials or an OU choice from the technician. +5. Complete the [Domain join step](domain-join.md#complete-the-domain-join-step) when the wizard shows it. It appears before the summary when there is a domain account to enter, or a domain or an OU to choose. 6. [Review and deploy](review-and-deploy.md). 7. [Verify deployment](verify-deployment.md). diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index 11a1fcd..90e65cc 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -1,64 +1,94 @@ # Domain Join during deployment -Use media configured for [Interactive](../foundry-osd/domain-join/interactive.md) or [Zero-touch](../foundry-osd/domain-join/zero-touch.md) Domain Join. Obtain the intended domain, OU and unique computer name from the administrator. Installed Windows needs domain DNS, controller access and the appropriate account permissions. +This page is for the technician who deploys a computer with media configured for [Interactive](../foundry-osd/domain-join/interactive.md) or [Zero-touch](../foundry-osd/domain-join/zero-touch.md) Domain Join. -## Review the target and Windows +The wizard only collects what the join needs. The join itself runs later, in installed Windows, and needs the domain to be reachable at that moment. -1. Confirm the [target disk and final computer name](target.md). Native naming uses Foundry's validated name. A custom answer file must contain exactly one valid concrete `ComputerName` in an applicable `Microsoft-Windows-Shell-Setup` `specialize` component, and no `Microsoft-Windows-UnattendedJoin` component. Missing, wildcard, invalid or multiple names cannot supply this identity. -2. Select the intended Windows image and edition. Known Home-family editions skip Domain Join with a warning while installation continues; unfamiliar or missing edition metadata is deferred to image/native inspection. -3. Complete the **Domain join** step when the wizard shows it, as described below. -4. On **Summary**, review the **Domain join** category: it shows the domain name and the OU the join will use. Choose its edit action to return to the step. +## Before you start -The wizard does not contact AD. Valid syntax and a successful unlock do not prove that the supplied account can join or place the computer. +- Know which domain and OU the computer belongs to, and its computer name. For Interactive media, also have the join account and its password. +- Confirm the [target disk and computer name](target.md). The computer name identifies the computer account in the domain, so check it carefully when a machine is redeployed under the same name. +- Select the intended Windows image and edition. Windows Home editions cannot join a domain: the wizard skips the step and the summary says so, while the installation continues. ## Complete the Domain join step -The **Domain join** step sits between **Drivers** and **Summary**. It appears only when there is something to enter or choose, and **Next** stays unavailable until the inputs are valid. +The **Domain join** step sits between **Drivers** and **Summary**. It appears only when there is something to enter or choose, and **Next** stays unavailable until the entries are valid. -The **Domain name** field depends on the media: +**Domain name** -| Media | Technician action | +| Media | What you do | | --- | --- | -| Several domains listed | Choose a listed domain. The default domain is preselected. | -| One domain listed | No action. The domain is shown read-only. | -| Interactive with no domain listed | Type the domain name. An invalid name is flagged under the field. | +| Several domains listed | Choose the domain. The default is preselected. | +| One domain listed | Nothing. The domain is shown and cannot be changed. | +| Interactive media with no domain listed | Type the domain name, such as `corp.example.test`. | -For Interactive mode, also enter **Account (DOMAIN\user or user@domain)** and **Password**. An invalid account is flagged under its field. Changing the domain keeps what you typed. +**Account and password** -For Zero-touch, use the existing Protected deployment unlock. The encrypted account and password of the retained domain are checked against the domain and account they were saved for. There is no password prompt; the step appears only when the technician has a domain or an OU to choose. +| Media | What you do | +| --- | --- | +| Interactive | Enter the **Account**, as `DOMAIN\user` or `user@domain`, and its **Password**. Changing the domain keeps what you typed. | +| Zero-touch | Nothing. The media carries the account, unlocked by the technician password you entered at startup. | -The OU follows the retained domain and resets when the domain changes: +**Organizational unit** -| OU configuration of the retained domain | Technician action | +| OUs listed for the chosen domain | What you do | | --- | --- | -| Several OUs listed | Choose a listed **Organizational unit**. The default OU, if the domain has one, is preselected; **Next** requires a selection. | -| One OU listed | No OU field. That OU is used. | -| No OU listed, Interactive | Enter **OU distinguished name (optional)**, starting with `OU=` and inside that domain, or leave it empty. | -| No OU listed, Zero-touch | No OU field; the domain's default location is used. | +| Several | Choose the **Organizational unit**. The default, if there is one, is preselected; **Next** requires a choice. | +| One | Nothing. That OU is used. | +| None, Interactive media | Optionally enter **OU distinguished name (optional)**, starting with `OU=` and inside that domain. Leave it empty to use the domain's default location. | +| None, Zero-touch media | Nothing. The domain's default location is used. | -A domain that lists OUs never accepts a typed OU. +Changing the domain replaces the OU choices with those of the new domain. -The account and password never appear in the summary or in **Confirm disk erase**. The password is kept only in memory while you finish the wizard and is cleared once deployment starts. Known Home-family editions skip the step; the summary then says the edition cannot join a domain. +{% hint style="info" %} +The wizard does not contact the domain. A mistyped account or password is accepted here and only shows later, in installed Windows, as a failed join. +{% endhint %} {% hint style="warning" %} **Screenshot required** - **File:** `foundry-deploy-domain-join-01-interactive-ou.png` -- **Capture:** Show the Domain join wizard step in Interactive mode with the domain list and the OU choice, using sanitized demonstration data and empty credential fields. +- **Capture:** Show the Domain join wizard step on Interactive media that lists two domains and at least two OUs for the selected domain: the domain list, empty account and password fields, and the OU list, using sanitized demonstration data. {% endhint %} -## Follow staging and first boot +## Review and start + +On **Summary**, the **Domain join** category shows the domain and the OU the join will use; choose its edit action to return to the step. The account and the password are never shown, neither here nor in **Confirm disk erase**. + +When the deployment ends successfully in WinPE, the join has been prepared, not yet performed. + +## What happens in Windows + +After the restart, during Windows setup and before the first sign-in, a Foundry console shows the post-installation actions. The join runs after drivers and network settings are applied: -Deploy stages the operation-owned credential payload and execution records. Its success page confirms preparation, not AD membership. Known edition or applied-image composition incompatibilities can skip domain work and preserve a warning in Deploy's summary/logs. Runtime, journal-integrity or protected-publication failures still follow their existing deployment policy. +1. Foundry waits until a domain controller answers, for up to two minutes. +2. It joins the computer to the domain with the join account. A refused account or password is not retried, so the account cannot be locked out. +3. If an OU applies, the computer account is created in that OU. An account that already exists under the same name is reused and moved to the OU, without being deleted. +4. When the join succeeds, Windows restarts once. Foundry then checks that the computer is a member of the expected domain under the expected name. -In installed Windows, PostInstall runs joining and placement after deferred drivers and networking, before the remaining built-ins and custom actions. When joining succeeds, it requests a controlled restart even if OU placement fails, then verifies the expected local name and domain without credentials. +The console summarizes the outcome on one line, for example: -A selected OU is used for a new account. A safely identified reused account is moved within the same domain without deletion/recreation, preserving its GUID. If the worker cannot prove the object's identity or the OU, it reports a separate placement warning rather than moving an unproven account. Without an OU, it does not relocate a reused account. If the requested OU no longer exists, the computer is still joined, in the domain's default location, and placement is reported as failed. +`Domain - Join: Succeeded; Placement: Succeeded; Membership: Succeeded; Restart: Completed; Cleanup: Disposed` -When Deploy stages a join with the answer file Foundry generates, it also hides the Microsoft account sign-in in OOBE. Once the join has been verified in installed Windows, setup skips the account creation page and ends on the sign-in screen, where a domain account is used. No local account is required for this; add one on the [OOBE page](../foundry-osd/customization/oobe.md) if you want local access. If the join fails or cannot be verified, Windows still asks **Who's going to use this device?**, so the computer can be reached with a local account. An imported [custom answer file](../foundry-osd/customization/unattend.md) keeps control of its own OOBE settings and accounts. +| Part | Meaning | +| --- | --- | +| Join | The computer was added to the domain. | +| Placement | The computer account is in the intended OU. **Skipped** when no OU applies. | +| Membership | After the restart, Windows confirms it belongs to the expected domain. | +| Restart | The restart required by the join. | +| Cleanup | The temporary copy of the join credentials was deleted (**Disposed**). | + +A failed join or placement does not stop the installation: the remaining actions run and Windows setup continues. + +## What you see at the end + +| Outcome | First screen | +| --- | --- | +| The join is confirmed | The Windows sign-in screen. Sign in with a domain account. No local account is needed; add one on the [OOBE page](../foundry-osd/customization/oobe.md) of Foundry OSD if you want local access. | +| The join failed or could not be confirmed | Windows asks **Who's going to use this device?** Create a local account to reach the desktop, then see [Domain Join troubleshooting](../troubleshooting/domain-join.md). | -## Confirm the result +With a [custom answer file](../foundry-osd/customization/unattend.md), that file decides which setup screens and accounts appear; Foundry does not change them. -Check [deployment verification](verify-deployment.md#domain-join) and [domain outcome evidence](../troubleshooting/logs-and-support.md#domain-join-evidence). Joining, OU placement/directory readback, local membership, restart and credential cleanup have independent outcomes. +## Before handing over the computer -Join or placement failure, controlled interruption and domain-only cleanup failure warn and continue. **Unknown** means mutation may have occurred; Foundry does not automatically repeat joining or moving. Membership can later succeed while the earlier mutation remains Unknown. Resolve warnings and pending credentials with the administrator before handoff; see [Domain Join troubleshooting](../troubleshooting/domain-join.md). +Check [deployment verification](verify-deployment.md#domain-join): sign in with a domain account, and confirm with your Active Directory administrator that the computer account is in the intended OU. If the console reported anything other than **Succeeded** for the join, the placement or the membership, see [Domain Join troubleshooting](../troubleshooting/domain-join.md). diff --git a/foundry-deploy/review-and-deploy.md b/foundry-deploy/review-and-deploy.md index d79ba31..04696f3 100644 --- a/foundry-deploy/review-and-deploy.md +++ b/foundry-deploy/review-and-deploy.md @@ -11,7 +11,7 @@ Confirm: - Driver pack. - Firmware options. - Windows Autopilot method and, for zero-touch hardware hash upload, the configured group tag. -- Domain Join mode, authored domain and default OU when configured. +- Domain Join: the domain and the OU the computer will join. - Optional features and other deployment customization.
@@ -25,7 +25,7 @@ When the media includes [custom answer files](../foundry-osd/customization/unatt Start only when every value is correct. Foundry opens **Confirm disk erase** before crossing the destructive boundary. Verify the disk number, model, bus, size, and selected operating system before accepting. -The [Domain join step](domain-join.md#complete-the-domain-join-step) collects interactive credentials or a permitted OU choice before the summary. The summary's **Domain join** category and this confirmation show the domain name and OU, or that a known unsupported edition skips the join. Account and password are not included. +The [Domain join step](domain-join.md#complete-the-domain-join-step) comes before the summary. The summary's **Domain join** category shows the domain and the OU the join will use, or says that the selected Windows edition cannot join a domain. The account and the password are never shown. {% hint style="danger" %} Accepting the confirmation allows Foundry to clean and repartition the selected disk. Existing data on that disk will be lost. @@ -80,4 +80,4 @@ For [custom images](../foundry-osd/customization/custom-windows-images.md), veri Foundry checks required [Post-installation](../foundry-osd/customization/post-installation.md) content and its runtime before preparing the target disk. When actions use imported scripts or packages, keep the complete ISO or USB media available until staging finishes. If this check fails, see [Post-installation preparation fails](../troubleshooting/deployment.md#post-installation-preparation-fails). Successful staging does not prove first-boot actions succeeded; continue through [deployment verification](verify-deployment.md). -For Domain Join, preparation stages joining for installed Windows. Edition or applied-image composition incompatibility can warn and skip domain work while installation continues; pre-staging skips remain in Deploy's summary/logs. Review later join, placement, restart, membership and cleanup results separately. Runtime compatibility, protected staging and unrelated destructive/integrity checks retain their existing failure policy. +For Domain Join, a successful deployment means the join has been prepared; it runs after the restart, in installed Windows. When the Windows edition or the image is not compatible, Foundry skips the join with a warning in the summary and the installation continues. Check the outcome as described in [Domain Join during deployment](domain-join.md#what-happens-in-windows). diff --git a/foundry-deploy/target.md b/foundry-deploy/target.md index 3ea67cd..ae074bc 100644 --- a/foundry-deploy/target.md +++ b/foundry-deploy/target.md @@ -12,7 +12,7 @@ When the media enables custom answer files, choose one in **Answer file** or sel Review the selected file in the summary and confirmation. Missing files, an invalid default, architecture mismatches, and known Autopilot conflicts can block deployment. Foundry does not silently switch to native settings. See [custom answer-file preparation and compatibility](../foundry-osd/customization/unattend.md). -For [Domain Join](domain-join.md), the selected file must supply one valid concrete applicable `specialize` name and no `Microsoft-Windows-UnattendedJoin` component. Foundry uses that inspected name; native wizard naming does not fill a missing or wildcard custom name. Resolve the compatibility error before confirmation. +For [Domain Join](domain-join.md) with a custom answer file, the file must set exactly one fixed computer name in its `specialize` pass and must not contain a `Microsoft-Windows-UnattendedJoin` component. Foundry uses the name from the file and does not replace a missing or `*` name with the one shown in the wizard. Correct the file before starting. ## Set the computer name diff --git a/foundry-deploy/verify-deployment.md b/foundry-deploy/verify-deployment.md index 7cd8c0d..a760525 100644 --- a/foundry-deploy/verify-deployment.md +++ b/foundry-deploy/verify-deployment.md @@ -38,9 +38,9 @@ Verify that the installed applications work after cleanup. If they need source f ## Domain Join -A successful Deploy session confirms domain-work staging only. Follow PostInstall through its controlled restart, then verify the expected Windows name and local AD domain membership. Review the requested OU and directory readback independently: local membership alone does not prove placement or policy application. +A successful deployment only means the join was prepared. After the restart, check the line that starts with `Domain -` in the Foundry console, then sign in with a domain account. Being a member of the domain does not prove that the computer account is in the intended OU: confirm it with your Active Directory administrator. -Inspect [the domain result and execution journal](../troubleshooting/logs-and-support.md#domain-join-evidence). Successful join with failed placement still restarts and verifies. **Unknown** mutations are never automatically repeated and stay Unknown even if membership later succeeds; **Unverified** needs administrator confirmation. Resolve warned outcomes and **Cleanup Pending** before organizational handoff. A known WinPE skip has only Deploy's summary/logs. See [Domain Join troubleshooting](../troubleshooting/domain-join.md). +When the join, the placement or the membership is not **Succeeded**, or when **Cleanup** stays **Pending**, resolve it before handing over the computer; see [Domain Join troubleshooting](../troubleshooting/domain-join.md). If Deploy skipped the join because of the Windows edition or the image, only the deployment summary mentions it. ## Automatic Windows activation diff --git a/foundry-osd/autopilot/README.md b/foundry-osd/autopilot/README.md index 5c5617e..d1247b9 100644 --- a/foundry-osd/autopilot/README.md +++ b/foundry-osd/autopilot/README.md @@ -2,7 +2,7 @@ Foundry supports three Autopilot workflows. Choose the method that matches the organization’s provisioning and security model. -[Domain Join](../domain-join/README.md) is an alternative provisioning choice. Activating it replaces the active Autopilot mode; activating an Autopilot mode replaces Domain Join. Review the replacement confirmation and rebuild media for the intended mode. +[Domain Join](../domain-join/README.md) is the alternative to Windows Autopilot. Enabling it replaces the active Autopilot mode, and enabling an Autopilot mode replaces Domain Join; Foundry asks for confirmation. Create the media again after switching. ## Choose a method diff --git a/foundry-osd/customization/machine-naming.md b/foundry-osd/customization/machine-naming.md index fe3ad62..5baf6b3 100644 --- a/foundry-osd/customization/machine-naming.md +++ b/foundry-osd/customization/machine-naming.md @@ -65,9 +65,9 @@ The preview uses representative values. Foundry Deploy resolves actual hardware ## Domain Join -[Domain Join](../domain-join/README.md) uses the final validated Windows name to identify the AD computer account. Review it before disk confirmation, particularly when reusing an existing account. +[Domain Join](../domain-join/README.md) uses the computer name to find or create the computer account in the domain. Check it before confirming the disk erase, especially when a machine is redeployed under an existing name. -A [custom answer file](unattend.md) overrides native naming and must contain exactly one acceptable concrete name in its applicable `Microsoft-Windows-Shell-Setup` `specialize` component. Missing, wildcard, invalid or multiple applicable names fail the domain requirement. The native fallback table above does not repair custom XML. Verify the expected name again after the controlled domain restart. +With a [custom answer file](unattend.md), the name comes from the file: it must set exactly one fixed computer name in the `specialize` pass of `Microsoft-Windows-Shell-Setup`. A missing name, a `*` wildcard or several names are refused, and the naming rules on this page do not apply. ## Upload the computer name to Autopilot diff --git a/foundry-osd/customization/post-installation.md b/foundry-osd/customization/post-installation.md index 1db4fa7..1352c5c 100644 --- a/foundry-osd/customization/post-installation.md +++ b/foundry-osd/customization/post-installation.md @@ -44,7 +44,7 @@ After the first boot into installed Windows, Foundry runs the following before O | --- | --- | | 1 | Install deferred driver packages, such as supported Lenovo EXE and Surface MSI packages. Drivers injected offline are already installed during deployment. | | 2 | Import configured certificates and wired/Wi-Fi profiles. | -| 3 | Domain Join: join and independently place the computer account, perform a controlled restart when required, then verify local membership without credentials. | +| 3 | Domain Join: join the domain and place the computer in its OU, restart Windows once when the join succeeded, then check that the computer is a member of the domain. | | 4 | Remove selected Copilot and AI Hub application packages. Other AI settings may already have been applied during deployment. | | 5 | Remove the selected provisioned AppX packages. | | 6 | Attempt OEM activation when eligible. This is skipped for custom answer files and volume-licensed deployments. | @@ -53,7 +53,7 @@ After the first boot into installed Windows, Foundry runs the following before O Required restarts can occur during this sequence. A planned restart resumes the remaining work; any deferred restart is handled before final cleanup. The interactive Autopilot assistant remains separate and appears during OOBE when configured. -The [Domain Join workflow](../domain-join/README.md) runs when active even without custom actions. Successful joining still restarts and verifies when OU placement fails. [Local membership and placement](../../troubleshooting/domain-join.md) are independent outcomes. +[Domain Join](../domain-join/README.md) runs whenever it is enabled, even without custom actions. See [what happens in Windows](../../foundry-deploy/domain-join.md#what-happens-in-windows). ## Prepare content @@ -109,7 +109,7 @@ PowerShell scripts must return a failure explicitly when appropriate. Non-termin **Continue on error** is disabled by default: a failure stops later actions and prevents a successful handoff to OOBE. Enabling it permits later actions after an ordinary, fully observed failure, recording the sequence as completed with errors. It does not allow execution to continue when Foundry cannot determine whether an action finished safely, or after an installer-owned restart. -Domain Join has a specific warning-and-continue policy for join, placement, controlled domain interruption and domain-only credential-cleanup failures. Uncertain join/move mutations are never automatically repeated. Unrelated uncertain actions, journal integrity and other sensitive-cleanup failures retain their stop policy. Review [domain results and pending cleanup](../../troubleshooting/domain-join.md) before handoff. +A failed join or OU placement does not stop the other actions: Foundry reports a warning and continues, and it never repeats a join by itself. Check the outcome with [Domain Join troubleshooting](../../troubleshooting/domain-join.md) before handing over the computer. Keep secrets out of command arguments and normal output. Profile encryption does not make arbitrary script output or installer logs safe to share. @@ -125,7 +125,7 @@ Installer exit code `1641` means the installer initiated its own restart. Foundr After a planned restart, Foundry resumes from its saved progress. If power is lost while an action is running, Foundry does not automatically retry that action. Missing or damaged execution records also stop the sequence. Inspect the results and logs before deciding whether to redeploy; scripts and installers are not necessarily safe to repeat. -For domain operations, validated recovery can warn and continue without replaying joining or placement, with a conservative controlled restart when mutation may remain active. An earlier **Unknown** remains Unknown after read-only membership confirmation. Domain-only cleanup can remain Pending through finalization; see [domain recovery guidance](../../troubleshooting/domain-join.md#interrupted-work-or-restart-is-pending). +If the computer is interrupted during the join, Foundry does not try the join again after the restart; it only checks whether the computer is a member of the domain. See [interrupted work](../../troubleshooting/domain-join.md#interrupted-work-or-restart-is-pending). If an interrupted process might still be using files, Foundry retains them and reports cleanup as pending. This does not retry the interrupted action. diff --git a/foundry-osd/customization/unattend.md b/foundry-osd/customization/unattend.md index c9892f0..bc9759d 100644 --- a/foundry-osd/customization/unattend.md +++ b/foundry-osd/customization/unattend.md @@ -63,13 +63,13 @@ Foundry validates the selected file before preparing the target disk. After appl | Autopilot JSON profile or interactive registration | Known incompatible settings block deployment. Use a compatible file or change the authored Autopilot configuration. | | Hardware hash upload from WinPE | Registration can continue. A successful upload does not guarantee Autopilot enrollment. | | Upload computer name to Autopilot | Skipped because Foundry does not manage the final computer name. See [Machine naming](machine-naming.md#upload-the-computer-name-to-autopilot). | -| Domain Join | Requires exactly one valid concrete `ComputerName` in an applicable `Microsoft-Windows-Shell-Setup` `specialize` component, with no `Microsoft-Windows-UnattendedJoin` component. Foundry uses that inspected name for the domain operation. | +| Domain Join | Requires exactly one fixed `ComputerName` in the `specialize` pass of `Microsoft-Windows-Shell-Setup`, and no `Microsoft-Windows-UnattendedJoin` component. Foundry joins the domain under that name. | A custom file does not disable every other Foundry feature. Test the file together with all enabled deployment options; do not assume arbitrary conflicts will be detected or resolved automatically. Foundry detects known XML conflicts but cannot predict arbitrary scripts. Arrange access to scripts referenced by the file; importing XML does not bundle those external files or execute its commands in WinPE. -For [Domain Join](../domain-join/README.md), a missing, wildcard, invalid or multiple applicable computer name fails the concrete-name requirement before launch confirmation. Foundry does not fill it from the native wizard name. Resolve explicit join-component conflicts and review any custom rename/join commands yourself. This does not relax the protection requirement for custom XML. +For [Domain Join](../domain-join/README.md), a missing computer name, a `*` wildcard or several names are refused before the deployment starts; Foundry does not take the name from the wizard. Remove any `Microsoft-Windows-UnattendedJoin` component, and review your own commands that rename the computer or join a domain. Custom answer files still require Protected deployment. Custom commands that replace setup hooks, restart Windows independently or change enrollment and package state can disrupt [Post-installation](post-installation.md#custom-answer-files). Test the complete combination before production use. @@ -90,11 +90,11 @@ Do not remove the target answer file before `oobeSystem` has consumed it. Arrang | Default file is missing from the catalog | In Foundry OSD, choose an available default or **Use Foundry settings**, then rebuild media. An invalid catalog default blocks deployment even if another runtime choice is available. | | File is incompatible with selected Windows | Use a file with supported components for that architecture and validate it against the target image. | | Autopilot conflict | Remove the incompatible settings from the source and refresh it, or change Autopilot configuration before rebuilding. | -| Domain Join conflict or invalid custom name | Correct the applicable `specialize` name and conflicting join components, refresh the source and rebuild media. See [Domain Join troubleshooting](../../troubleshooting/domain-join.md). | +| Domain Join conflict or invalid computer name | Correct the computer name in the `specialize` pass and remove the conflicting join component, refresh the source and create the media again. See [Domain Join troubleshooting](../../troubleshooting/domain-join.md). | | Deployment succeeds but Windows setup fails | Inspect Windows setup diagnostics without exposing secrets. Check the file against the selected image and test its commands and setup-hook dependencies. | After deployment, [verify Windows through first boot and OOBE](../../foundry-deploy/verify-deployment.md). A successful Foundry deployment does not confirm that Windows has consumed every answer-file setting. ## Custom images -Enabled answer files also apply to [custom Windows images](custom-windows-images.md). Verify that your answer file is suitable for the image, its architecture, and the remaining customizations. The Domain Join workflow specifically inspects applied-image composition before credential staging. An embedded join component or ambiguous applicable name can skip domain work with a deployment warning; inspect the [Deploy outcome](../../foundry-deploy/domain-join.md#follow-staging-and-first-boot). This does not establish compatibility for arbitrary image settings or commands. +Enabled answer files also apply to [custom Windows images](custom-windows-images.md). Verify that your answer file is suitable for the image, its architecture, and the remaining customizations. For Domain Join, Foundry checks the applied image before preparing the join: an image that already contains a join component, or no single computer name, makes Foundry skip the join with a warning in the deployment summary. See [Domain Join troubleshooting](../../troubleshooting/domain-join.md#media-is-not-ready-or-input-is-rejected). diff --git a/foundry-osd/deployment-profiles.md b/foundry-osd/deployment-profiles.md index b0b7f6e..afd3f2e 100644 --- a/foundry-osd/deployment-profiles.md +++ b/foundry-osd/deployment-profiles.md @@ -30,7 +30,7 @@ These options control different things: | Option | What it does | | --- | --- | | Remember passwords | Saves supported deployment passwords and selected confidential files with this profile on this PC. | -| Include passwords and confidential files | Includes supported available passwords and selected confidential files when you export or share. Direct Domain Join passwords are always omitted from portable exports; encrypted shared revisions use a separate path. | +| Include passwords and confidential files | Includes available passwords and selected confidential files when you export or share the configuration. Domain Join passwords are never included in a `.foundryprofile` export. | | Remember this connection on this PC | Lets Foundry reconnect to the shared configuration after restarting, without asking you to restore access. | Turning **Remember passwords** off stops saving passwords with future changes. Passwords already entered remain usable until the current session ends. Your separately remembered synchronization connection is also kept. To clear both, use **Clear saved passwords and access** beside the switch. @@ -39,7 +39,7 @@ Saved profiles are protected for your Windows account on this PC using Windows C When Foundry first brings your existing settings into a profile, **Remember passwords** starts enabled and saves supported passwords and selected files that are available. An existing profile's choice is preserved. -Supported local retention includes Wi-Fi, Protected deployment, OOBE local accounts, selected network or Autopilot PFX certificates, and active automatic Domain Join credentials. Complete required fields and matching confirmations. For an intentionally blank OOBE password, use its explicit password choice. Missing passwords are not filled from another profile. +Supported passwords include Wi-Fi, Protected deployment, OOBE local accounts, selected network or Autopilot PFX certificates, and Domain Join accounts. Complete required fields and matching confirmations. For an intentionally blank OOBE password, use its explicit password choice. Missing passwords are not filled from another profile. Microsoft sign-in sessions are not transferred. Sign in again when an Autopilot task requires it. An imported Autopilot configuration with a valid saved registration can use its matching PFX certificate without a new sign-in. If that file was omitted, select the matching certificate and enter its password on this PC. A different or expired certificate must be resolved before creating media. @@ -55,13 +55,13 @@ This action does not remove exported files, copies on the shared folder, origina ### Domain credentials -[Zero-touch Domain Join](domain-join/zero-touch.md) passwords belong to their join account in the active profile. **Remember passwords** can retain them locally using the existing protected revision/key storage. Turning remembering off stops future retention without clearing the current session; **Clear saved passwords and access** also clears current passwords and synchronization access. +[Zero-touch Domain Join](domain-join/zero-touch.md) passwords belong to their join account. **Remember passwords** keeps them with the profile on this PC. Turning it off stops keeping them from then on without clearing what is currently entered; **Clear saved passwords and access** also clears the passwords currently entered and the synchronization access. -Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. Connection and recovery files use that same export rule. They may still carry shared-revision access keys: possession of the file and its password can grant access to shared secrets. +A `.foundryprofile` export never contains the join passwords, even with **Include passwords and confidential files** selected. Connection and recovery files do not contain them either, but they give access to the shared revisions, which can: protect those files and their passwords. -Encrypted shared revisions may include the domain password when confidential inputs are explicitly included. A settings-only update can preserve an existing local password only for the same profile and the same join account. A changed account, unavailable/deleted credentials or another profile cannot borrow it. Changing or removing an account clears its password; changing the mode does not. +An encrypted shared revision can contain the join passwords when you choose to include confidential content. When you receive a revision without passwords, Foundry keeps the password you already entered on this PC for a join account that is unchanged in the same profile. Changing or removing an account clears its password; changing the mode does not. -An omitted-secret automatic profile can be saved/imported with **Remember passwords** enabled; domain omission alone does not require disabling it. The configuration is structurally valid, but creating automatic media remains blocked until the password and usable existing General protection are supplied. Profile retention and portable export are separate choices. +A profile without its join passwords can be imported and saved with **Remember passwords** enabled. Creating Zero-touch media stays unavailable until you enter the passwords and set the technician password on that PC. ## Export an encrypted package @@ -72,7 +72,7 @@ An omitted-secret automatic profile can be saved/imported with **Remember passwo With the option off, the file contains settings without saved passwords or attached confidential files. Autopilot JSON entered in the configuration is still part of those settings; review it before sharing. -With the option on, Foundry includes available files selected in the configuration, such as custom answer files, wired or enterprise Wi-Fi XML profiles, and network or Autopilot PFX certificates. Missing files cannot be included. The direct Domain Join password is always omitted; the domain name, account and OU list remain. +With the option on, Foundry includes available files selected in the configuration, such as custom answer files, wired or enterprise Wi-Fi XML profiles, and network or Autopilot PFX certificates. Missing files cannot be included. Domain Join passwords are never included; the domains, accounts and OU lists are. An export supports up to **64 attached files**, **4 MiB per file**, and **8 MiB of attached files in total**. The complete configuration, including attachments, must fit within **16 MiB**. Transfer Windows images, driver collections, and generated media separately. @@ -85,7 +85,7 @@ Send the file password through a separate trusted channel. Anyone who can open t 3. Review the configuration name, included-file and password counts, and any missing-file notices. 4. Review **Remember passwords** and confirm that you want to use the imported settings. -**Remember passwords** is selected by default for a complete import. If other required passwords or files are missing, leave it unchecked, import the settings, supply the missing inputs, and then enable it. Domain Join password omission alone can be imported with remembering enabled; supply that password and General protection before creating automatic media. +**Remember passwords** is selected by default for a complete import. If other required passwords or files are missing, leave it unchecked, import the settings, supply the missing inputs, and then enable it. Missing Domain Join passwords do not prevent enabling it; enter them and set the technician password before creating Zero-touch media. Import creates an independent local copy. To keep it synchronized with a shared configuration, use **Set up synchronization… > Connect to a shared configuration** instead, even if the file you selected is a connection file. @@ -111,7 +111,7 @@ OneDrive, Dropbox, and other cloud-synchronized folders are not supported. If yo If Foundry asks for missing passwords or files, complete them before sharing confidential inputs. -For Domain Join, this shared-revision path may include the password. The connection file itself omits the direct password but provides keys for shared access; see [domain credential rules](#domain-credentials). +For Domain Join, a shared revision can contain the join passwords. The connection file does not, but it gives access to the revisions; see [domain credentials](#domain-credentials). If that configuration folder already exists, choose **Connect** and select its connection file, or choose **Choose another name**. Existing files are not overwritten. Renaming the configuration later does not move its shared folder. @@ -126,7 +126,7 @@ If sharing is interrupted, restore access to the folder and choose **Synchronize 5. Review the current shared settings, included-file and password counts, and remembering options. 6. Continue to use the reviewed configuration. If another PC changes it before you finish, Foundry shows an updated preview for you to confirm. -As with importing, **Remember passwords** is selected for complete configurations. If other required inputs are missing, connect first, supply them, and then enable it. Domain password omission alone does not prevent remembering the settings. Choose **Remember this connection on this PC** separately to reconnect automatically after restarting. +As with importing, **Remember passwords** is selected for complete configurations. If other required inputs are missing, connect first, supply them, and then enable it. Missing Domain Join passwords do not prevent it. Choose **Remember this connection on this PC** separately to reconnect automatically after restarting. If the suggested folder cannot be reached, browse to the connection file through a server address that works on this PC and check the suggested folder again. You can correct the folder before continuing. Select the configuration's own folder, not its parent share. diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index c775794..dae60c2 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -1,71 +1,86 @@ # Domain Join -Use **Domain Join** to join installed Windows to an Active Directory domain before OOBE. Choose [Interactive Domain Join](interactive.md) when a technician supplies credentials for each deployment, or [Zero-touch Domain Join](zero-touch.md) when protected media supplies them. +Use **Domain Join** to join the computer to an Active Directory domain during deployment, before the first sign-in. Two modes are available: -Exactly one Domain Join or [Windows Autopilot](../autopilot/README.md) mode can be active. Open the intended page and choose **Enable**. Confirm replacement if another mode is active. **Disable** excludes joining from new media while retaining the configuration. A join password stays with its account: it is cleared when the account changes or leaves the configuration, not when the mode changes or joining is disabled. +| Mode | Who supplies the join account | Use it when | +| --- | --- | --- | +| [Zero-touch](zero-touch.md) | The media, protected by the technician password | Deployments must run without typing domain credentials. | +| [Interactive](interactive.md) | The technician, during each deployment | The media is shared and must not carry domain credentials. | + +Only one of Zero-touch Domain Join, Interactive Domain Join and the [Windows Autopilot](../autopilot/README.md) modes can be active. Open the page you want and choose **Enable**; Foundry asks for confirmation when it replaces another active mode. **Disable** removes the join from new media and keeps your settings. ## Before configuring -- Arrange domain DNS and writable domain-controller access from installed Windows. An OU list can be prepared offline; it does not make joining available offline. Connect's Internet readiness does not establish AD readiness. -- Ask the AD administrator to provide an account with the required join, reuse, directory-read and OU-placement permissions. Discovery and configuration validation do not audit those permissions. -- Choose a unique [concrete computer name](../customization/machine-naming.md). A [custom answer file](../customization/unattend.md) must supply exactly one valid applicable `specialize` computer name and contain no `Microsoft-Windows-UnattendedJoin` component. -- Review [edition and runtime requirements](../../reference/supported-versions.md#domain-join). Known Windows Home-family editions skip joining with a warning while Windows installation continues. +- **Network.** The join happens in installed Windows and needs the domain at that moment: the computer must reach the domain's DNS and a domain controller. Listing OUs in advance does not make an offline join possible, and the Internet check in Foundry Connect does not test access to the domain. +- **Join account.** Ask your Active Directory administrator for an account allowed to add computers to the domain, to reuse an existing computer account when a machine is redeployed, and to move computers to the OUs you list. Foundry does not check these permissions. +- **Computer name.** Give each computer a unique name with [Machine naming](../customization/machine-naming.md). With a [custom answer file](../customization/unattend.md), the file must set exactly one fixed computer name in its `specialize` pass and must not contain a `Microsoft-Windows-UnattendedJoin` component. +- **Windows edition.** Windows Home editions cannot join a domain: Foundry skips the join with a warning and the installation continues. See [supported editions](../../reference/supported-versions.md#domain-join). ## List the domains -Both pages share the same lists. One media can serve several domains; at deployment one domain and one OU are retained for the computer. +Both pages share the same lists. One media can serve several domains; during deployment, one domain and one OU are used for the computer. Under **Domains**: -1. Choose **Add**, enter the **Domain name** (a DNS name such as `corp.example.test`), then confirm. In Zero-touch the dialog also asks which account joins that domain; see [Zero-touch Domain Join](zero-touch.md). You can list up to 32 domains. +1. Choose **Add**, enter the **Domain name** (a DNS name such as `corp.example.test`), then choose **Add domain**. In Zero-touch the dialog also asks which account joins that domain; see [Zero-touch Domain Join](zero-touch.md). You can list up to 32 domains. 2. The first domain you add becomes the default. To change it, select another domain and choose **Set as default**. -With one domain listed, every deployment joins it. With several, technicians choose the domain during deployment and the default is preselected. To keep a deployment free of that choice, list a single domain. +What happens during deployment depends on how many domains you list: -**Edit** changes the selected domain. Its name can be changed only while it lists no OUs; remove them first, or add a new domain. **Remove** deletes the selected domain together with its OUs; removing the default moves the default to the first remaining domain. +| Domains listed | Result | +| --- | --- | +| None (Interactive only) | The technician types the domain name. | +| One | Every deployment joins that domain. | +| Several | The technician chooses the domain. The default is preselected. | -Interactive may list no domain at all. The technician then types the domain during deployment. +**Edit** changes the selected domain. Its name can be changed only while it lists no OUs; remove them first, or add a new domain. **Remove** deletes the selected domain together with its OUs; if it was the default, the first remaining domain becomes the default. ## List the OUs of a domain -Select a domain under **Domains**. The **Organizational units** card then shows and edits the OUs of that domain only. +Select a domain under **Domains**. The **Organizational units** card then shows the OUs of that domain only. -1. Choose **Add**, enter a **Display name** such as `Workstations` and a **Distinguished name** such as `OU=Workstations,DC=corp,DC=example,DC=test`, then confirm. The DN must name an organizational unit inside the selected domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. A refused entry is explained in the dialog so you can correct it. You can list up to 1,024 OUs per domain. +1. Choose **Add**, enter a **Display name** such as `Workstations` and a **Distinguished name** such as `OU=Workstations,DC=corp,DC=example,DC=test`, then choose **Add OU**. The distinguished name must be an organizational unit of the selected domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. If the entry is refused, the dialog explains why so you can correct it. You can list up to 1,024 OUs per domain. 2. Alternatively, [import OUs from the domain](#find-and-import-ous). 3. When a domain lists several OUs, select one and choose **Set as default** to preselect it for technicians. **Clear default** returns to no preselection. -The number of OUs a domain lists decides what happens during deployment: +What happens during deployment depends on how many OUs the domain lists: | OUs listed for the domain | Result | | --- | --- | -| None | Windows uses the domain's default location; a reused account is left where it is. In Interactive mode the technician may type an OU DN instead. Zero-touch never accepts a typed OU. | -| One | That OU is always used. It is shown as the default and needs no choice. | -| Several | Technicians choose one of them during deployment. The default, if set, is preselected; without one they must pick. | +| None | The computer goes to the domain's default location. In Interactive mode the technician may type the distinguished name of an OU instead. | +| One | That OU is always used. It is shown as the default. | +| Several | The technician chooses one of them. The default, if you set one, is preselected; without one the technician must pick. | -To keep a deployment free of that choice, list at most one OU for the domain. - -**Edit** changes the display name of the selected OU, for example to show technicians a clearer name than the one imported from the directory. The distinguished name stays the same, the OU stays the default when it was, and a later import keeps your name. **Remove** deletes the selected OUs; removing a default OU clears that domain's default. +**Edit** changes the display name of the selected OU, for example to show technicians a clearer name than the one imported from the directory. The distinguished name stays the same, and a later import keeps your name. **Remove** deletes the selected OUs. Both tables are sorted by name; select a column header to sort differently. +{% hint style="info" %} +For a Zero-touch deployment that asks the technician nothing, list one domain and at most one OU for it. +{% endhint %} + ## Find and import OUs -1. Select the domain under **Domains**. The authoring computer must be able to reach that domain, and your Windows account must be allowed to read it: this is the case for the computer's own domain and for domains that trust it. -2. Under **Organizational units**, choose **Import from domain**. -3. In the dialog that lists the OUs found, select the ones to keep, then choose **Add selected OUs**. OUs already listed for that domain are not offered again, no OU is selected by default, and **Cancel** leaves the list unchanged. +Instead of typing distinguished names, you can read them from the domain. + +1. Select the domain under **Domains**. This computer must be able to reach that domain, and your Windows account must be allowed to read it. This is the case for the computer's own domain and for domains that trust it. +2. Under **Organizational units**, choose **Import from domain**. While the search runs, the same button becomes **Cancel search**. +3. In the dialog, select the OUs to keep, then choose **Add selected OUs**. OUs already listed for that domain are not offered again, and no OU is selected for you. 4. Review the resulting list and the default. -The search reads the selected domain with your current Windows identity; it does not test the join account's permissions. Requests and result size are bounded; the dialog says when only some of the OUs could be listed. While the search runs, the same button becomes **Cancel search**. You can still add OUs manually when the domain cannot be searched. +The search uses your Windows account, not the join account, so it does not prove that the join account can use these OUs. When the domain holds more OUs than the search can return, the dialog says that only some of them are listed. If the domain cannot be searched, add the OUs manually. {% hint style="warning" %} **Screenshot required** - **File:** `foundry-osd-domain-join-01-organizational-units.png` -- **Capture:** Show the Domains card with two domains and the Organizational units card of the selected domain, with their command bars, using sanitized demonstration data. +- **Capture:** Show a Domain Join page with two domains in the Domains card and the Organizational units card of the selected domain listing at least two OUs, one of them marked as default, using sanitized demonstration data. {% endhint %} -## Build and verify +## Existing computer accounts + +When a computer account with the same name already exists in the domain, for example when a machine is redeployed, Foundry reuses it instead of creating a new one. If an OU applies, the existing account is moved to that OU without being deleted, so its group memberships and policies are kept. Without an OU, an existing account stays where it is. -Resolve the active page's readiness messages and [create or update media](../media/README.md). Follow [Domain Join in Deploy](../../foundry-deploy/domain-join.md) through staging, installed-Windows joining, controlled restart and verification. A selected OU applies to new accounts and to safely identified reused accounts; an existing account is moved without deleting or recreating it, preserving its object GUID. +## Create the media and check the result -Joining, OU placement and later local membership are separate results. Review [domain warnings and uncertain outcomes](../../troubleshooting/domain-join.md) before handoff. +Resolve the messages shown on the page, then [create or update the media](../media/README.md). The join itself runs after Windows is installed; see [Domain Join during deployment](../../foundry-deploy/domain-join.md) for what the technician does and how to check the outcome, and [Domain Join troubleshooting](../../troubleshooting/domain-join.md) when something goes wrong. diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index cf1c967..fe079e8 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -1,33 +1,37 @@ # Interactive Domain Join -Choose this mode for shared deployment media when technicians should enter a domain account and password for each target. +Choose this mode when the media must not carry domain credentials: the technician enters a domain account and its password during each deployment. ## Prepare the media -1. Open **Domain Join > Interactive** and choose **Enable**. If prompted, confirm replacement of the active Domain Join or Autopilot mode. -2. Optionally [list the domains](README.md#list-the-domains) technicians may join. With at least one domain listed, the technician joins one of them and cannot type another; with none, the technician types the domain during deployment. +1. Open **Domain Join > Interactive** and choose **Enable**. Confirm the replacement if another Domain Join or Autopilot mode is active. +2. Optionally [list the domains](README.md#list-the-domains) technicians may join. With at least one domain listed, the technician joins one of them and cannot type another; with none, the technician types the domain name during deployment. 3. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain. A single OU is always used; with several, technicians choose one and the default is preselected. -4. Resolve readiness messages, then [create or update media](../media/README.md). +4. Resolve the messages shown on the page, then [create or update the media](../media/README.md). -Interactive joining introduces no media-password prerequisite and stores no join password in the media. Accounts and passwords entered on the Zero-touch page stay in the profile for a later switch back, but are never written to Interactive media. Other enabled options, including custom answer files, may independently require [Protected deployment](../general.md#protected-deployment). +Interactive Domain Join does not need [Protected deployment](../general.md#protected-deployment) and writes no join account or password to the media. Accounts and passwords entered on the Zero-touch page stay in your configuration for a later switch back, but are never written to Interactive media. Other options you enable, such as custom answer files, may still require Protected deployment. -Choose **Disable** to exclude joining from newly created media. Nonsecret settings remain available for later activation. +Choose **Disable** to remove the join from new media. Your settings stay available for later. {% hint style="warning" %} **Screenshot required** - **File:** `foundry-osd-domain-join-interactive-01-configuration.png` -- **Capture:** Show the enabled Interactive Domain Join page with the Domains card and the Organizational units card of the selected domain, using sanitized demonstration data. +- **Capture:** Show the enabled Interactive Domain Join page with two domains in the Domains card and the Organizational units card of the selected domain listing at least two OUs, using sanitized demonstration data. {% endhint %} -## Deploy a target +## What the technician does -The Deploy wizard shows a **Domain join** step before **Summary**. Choose the **Domain name** when the media lists several; otherwise the domain is shown, or typed when the media lists none. Enter **Account (DOMAIN\user or user@domain)** and **Password**. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`; obtain the password through the approved credential process. +The Deploy wizard shows a **Domain join** step before **Summary**: -If the retained domain lists several OUs, select a listed **Organizational unit**. That domain's default, if it has one, starts selected, and **Next** requires a selection. A domain that lists a single OU uses it without asking. +1. **Domain name**: choose it when the media lists several domains. With one listed domain it is shown and cannot be changed; with none, type it. +2. **Account** and **Password**: enter the join account, as `DOMAIN\user` or `user@domain`, and its password. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`. +3. **Organizational unit**: choose one when the domain lists several; the default, if you set one, is preselected. A domain that lists a single OU uses it without asking. For a domain without listed OUs, **OU distinguished name (optional)** accepts an OU of that domain; leave it empty to use the domain's default location. -For a domain without listed OUs, **OU distinguished name (optional)** accepts an OU inside that domain. Leave it empty to use the domain's default location. Changing the domain replaces the OU choices with those of the new domain and keeps the account and password you typed. +Changing the domain replaces the OU choices with those of the new domain and keeps the account and password already typed. -Review the domain name and OU in the summary's **Domain join** category before starting. See [technician steps and outcome verification](../../foundry-deploy/domain-join.md). +{% hint style="info" %} +The wizard does not contact the domain, so a mistyped password is not detected at this step. It shows later, in installed Windows, as a failed join. +{% endhint %} -Installed Windows must reach the domain controller when PostInstall runs. A successful WinPE deployment only confirms staging. Keep [safe outcome evidence](../../troubleshooting/logs-and-support.md#domain-join-evidence) if joining or placement reports a warning. +The technician reviews the domain and the OU in the **Domain join** category of the summary before starting. See [Domain Join during deployment](../../foundry-deploy/domain-join.md) for the full procedure and for how to check the outcome. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index ae82298..ad17d5b 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -1,39 +1,56 @@ # Zero-touch Domain Join -Choose this mode when protected deployment media should supply the join credentials. Listing several domains, or several OUs for a domain, still asks the technician to choose among them. +Choose this mode when the media should carry the join account, so technicians do not type domain credentials. The credentials are protected by the technician password of [Protected deployment](../general.md#protected-deployment). -## Prepare protected media +## Prepare the media -1. In [General configuration](../general.md#protected-deployment), enable **Protected deployment** and supply its existing media password. -2. Open **Domain Join > Zero-Touch** and choose **Enable**. Confirm replacement if another Domain Join or Autopilot mode is active. -3. Under **Shared join account**, enter **Account (DOMAIN\user or user@domain)** and **Password**. Every domain uses this account unless you give it its own. Use an administrator-provided account such as `CORP\deployment-join`. +1. In [General configuration](../general.md#protected-deployment), enable **Protected deployment** and set the technician password. Zero-touch Domain Join cannot be used without it. +2. Open **Domain Join > Zero-Touch** and choose **Enable**. Confirm the replacement if another Domain Join or Autopilot mode is active. +3. Under **Shared join account**, enter the **Account**, as `DOMAIN\user` or `user@domain`, and its **Password**. Every domain uses this account unless you give it its own. Use an account provided by your Active Directory administrator, such as `CORP\deployment-join`. 4. Under **Domains**, [add each domain](README.md#list-the-domains). To join a domain with a different account, choose **Use a dedicated account** in the domain dialog and enter that account and its password. -5. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain. For a deployment without any technician input, list one domain and at most one OU. -6. Resolve all readiness messages and [create or update media](../media/README.md). +5. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain. +6. Resolve the messages shown on the page, then [create or update the media](../media/README.md). The **Status** column of the Domains table says what each domain still needs: **Ready**, or for example a missing password. Problems with the shared account are shown under that account. -Each join password is encrypted using the existing Protected deployment key, once per domain, so a password written for one domain cannot be used for another. Deploy uses the existing unlock session; there is no additional media password or domain-password prompt. With one domain and at most one OU listed for it, the Deploy wizard shows no Domain join step. With several domains, or several OUs for the retained domain, the step shows those choices and no credential fields. - {% hint style="warning" %} **Screenshot required** - **File:** `foundry-osd-domain-join-zero-touch-01-readiness.png` -- **Capture:** Show enabled Zero-touch Domain Join: the Shared join account card without credentials, the Domains table with its Status column, and the Organizational units card. +- **Capture:** Show the enabled Zero-touch Domain Join page: the Shared join account card with a demonstration account and a masked password, the Domains table with one domain using the shared account and one using a dedicated account, both Ready, and the Organizational units card. {% endhint %} -## Keep credentials associated with the correct profile +## What the technician sees + +During deployment the technician unlocks the media with the technician password, as for any protected media. There is no prompt for the domain account or its password. + +| Media | Domain join step in the Deploy wizard | +| --- | --- | +| One domain, and at most one OU for it | Not shown. The deployment asks nothing about the domain. | +| Several domains | Shown, to choose the domain. The default is preselected. | +| Several OUs for the domain being joined | Shown, to choose the OU. The default, if you set one, is preselected. | + +See [Domain Join during deployment](../../foundry-deploy/domain-join.md). + +## Passwords and profiles + +A password belongs to its account, whether shared or dedicated: + +- Changing an account, or removing the last domain that uses a dedicated account, clears its password. +- Renaming a domain, switching to Interactive and choosing **Disable** keep the passwords, so returning to Zero-touch needs no retyping. Kept passwords are only ever written to Zero-touch media. -A password belongs to its account. Changing an account or removing the last domain that uses it clears its password; renaming a domain, switching to Interactive and choosing **Disable** do not, so returning to Zero-touch needs no retyping. Passwords kept this way are written only to Zero-touch media. **Disable** excludes joining from new media while retaining the settings and their passwords. +On the media, each domain has its own encrypted copy of its account and password. A copy written for one domain cannot be used to join another. -[Remember passwords](../deployment-profiles.md#domain-credentials) can retain the password of each join account with a local profile. Ordinary `.foundryprofile` exports always omit the direct domain password, even with **Include passwords and confidential files** selected. An imported automatic profile remains structurally valid, but media creation needs the password and usable General protection on that PC. +With [deployment profiles](../deployment-profiles.md#domain-credentials): -Encrypted shared revisions use a separate sharing path and may retain domain credentials when confidential inputs are explicitly included. Connection and recovery files omit the direct password, but their shared-access keys can grant access to secrets in those revisions. Restrict those files and their passwords accordingly. +- **Remember passwords** keeps the join passwords with the profile on this PC. +- A `.foundryprofile` export never contains the join passwords, even with **Include passwords and confidential files** selected. After importing such a profile on another PC, enter the join passwords and set the technician password there before creating media. +- An encrypted shared revision can contain the join passwords when you choose to include confidential content. Restrict access to its connection and recovery files and to their passwords accordingly. -Recreate or update media after credential changes. Profile edits do not change media already distributed or a build already running. +Create or update the media again after changing an account or a password. Media already created keeps the credentials it was built with. -## Verify deployment +## Check the result -Follow [Domain Join in Deploy](../../foundry-deploy/domain-join.md). Installed Windows needs online domain-controller access even when the media carries an OU list. Review joining, placement and post-restart membership separately. +The join runs after Windows is installed and needs the domain to be reachable at that moment. Follow [Domain Join during deployment](../../foundry-deploy/domain-join.md#what-happens-in-windows) to check that the computer joined the domain and reached the intended OU. -Credentials become a restricted temporary plaintext target payload for the child operation. See [credential lifetime and cleanup](../../reference/security-and-credentials.md#domain-credentials); cleanup warnings require administrator review before handoff. +During deployment, the credentials of the domain being joined are copied to the target disk, in a folder that only SYSTEM and administrators can read. They are used once in installed Windows and then deleted. See [how domain credentials are handled](../../reference/security-and-credentials.md#domain-credentials). diff --git a/foundry-osd/general.md b/foundry-osd/general.md index e37157a..9197aed 100644 --- a/foundry-osd/general.md +++ b/foundry-osd/general.md @@ -46,7 +46,7 @@ Validate custom drivers on representative hardware before using the media in pro | Autopilot certificate credentials for zero-touch upload, including the PFX file and its password | Yes | | Autopilot JSON profiles | Yes | | Custom Windows answer files | Yes | -| Zero-touch Domain Join account password | Yes; existing protection is required | +| Zero-touch Domain Join accounts and passwords | Yes; Protected deployment is required | | Embedded Wi-Fi passwords, wired and Wi-Fi certificate PFX passwords, and network certificate private keys | No | Foundry Connect uses embedded network credentials before Foundry Deploy asks for the technician password, so automatic network setup remains available. Anyone who can read the ISO or USB can recover those network credentials, even when Protected deployment is enabled. Restrict access to the media and use dedicated network credentials that can be revoked. @@ -55,7 +55,7 @@ Foundry accepts passwords from 8 characters and recommends at least 12 character Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or files staged into the installed Windows system. -[Zero-touch Domain Join](domain-join/zero-touch.md) reuses this media password and Deploy's existing unlock session. [Interactive Domain Join](domain-join/interactive.md) introduces no protection prerequisite; custom answer files and other enabled features retain their own requirements. Domain credentials become a restricted temporary plaintext payload on the target for installed-Windows joining; see [credential lifetime and cleanup](../reference/security-and-credentials.md#domain-credentials). +[Zero-touch Domain Join](domain-join/zero-touch.md) requires Protected deployment: the join accounts are unlocked with the same technician password, without a separate prompt. [Interactive Domain Join](domain-join/interactive.md) does not require it. See [how domain credentials are handled](../reference/security-and-credentials.md#domain-credentials). When Protected deployment is disabled, Autopilot JSON profiles remain readable on the media and other embedded deployment credentials can be recovered without a technician password. Treat possession of unprotected media as access to all embedded deployment information. diff --git a/foundry-osd/media/README.md b/foundry-osd/media/README.md index 8480257..31867f2 100644 --- a/foundry-osd/media/README.md +++ b/foundry-osd/media/README.md @@ -8,7 +8,7 @@ Choose the intended [deployment profile](../deployment-profiles.md) before start Resolve every blocking readiness item before starting. Checks cover Windows ADK and Windows PE, architecture, language, boot-image source, output paths, USB target, media options, drivers, networking, runtime configuration, secrets, customization, and Windows Autopilot. -[Domain Join](../domain-join/README.md) also checks the active mode's settings and that the listed OUs and the default match the domain. Zero-touch requires its context-matching account password and usable existing General protection. Interactive adds no media-password prerequisite. Readiness does not establish live AD connectivity or account permissions. +[Domain Join](../domain-join/README.md) must also be complete for the active mode. Zero-touch needs at least one domain, an account and its password for each domain, and Protected deployment. Interactive needs none of them. These checks do not test whether the domain is reachable or whether the account is allowed to join computers.
Foundry OSD media creation readiness overview diff --git a/foundry-osd/settings.md b/foundry-osd/settings.md index 3efbd8b..9ef5d7f 100644 --- a/foundry-osd/settings.md +++ b/foundry-osd/settings.md @@ -12,7 +12,7 @@ The application language changes the Foundry interface. Choose the Windows PE an Choose **Export diagnostics** to create a support archive with sensitive information filtered out. Your original log files are unchanged. -The export collects only the desktop application's top-level `Foundry*.log` files. It does not retrieve target PostInstall logs. For Domain Join, recognized quoted/escaped credential values are masked in sanitized output, and the known `credentials.bin` payload filename is excluded before reading in both sanitized and raw modes. [Collect safe domain evidence separately](../troubleshooting/logs-and-support.md#domain-join-evidence). +The export collects only the desktop application's top-level `Foundry*.log` files, not the logs written on deployed computers. For Domain Join, recognized credential values are masked in sanitized output, and the temporary `credentials.bin` file is never read or included. See [which files to collect on the deployed computer](../troubleshooting/logs-and-support.md#domain-join-evidence). Use **Advanced: export raw logs** only when a support contact requests it. Raw logs can contain passwords, identifiers, paths, and network details. Review the warning and destination before sharing them. See [Logs and support](../troubleshooting/logs-and-support.md) for help collecting and sharing diagnostic information. @@ -48,7 +48,7 @@ Select a configuration from the list to apply it immediately. Expand the card to See [Deployment profiles](deployment-profiles.md) for step-by-step instructions, the differences between remembering and sharing passwords, and help with connection files or conflicting changes. -For automatic Domain Join, review [local retention, portable-export omission and shared-access keys](deployment-profiles.md#domain-credentials). **Include passwords and confidential files** does not include the direct domain password in an ordinary export. +For Zero-touch Domain Join, see [how join passwords are kept, exported and shared](deployment-profiles.md#domain-credentials). **Include passwords and confidential files** never adds them to a `.foundryprofile` export. ## Proxy diff --git a/reference/security-and-credentials.md b/reference/security-and-credentials.md index c1fddc8..5c4e803 100644 --- a/reference/security-and-credentials.md +++ b/reference/security-and-credentials.md @@ -33,21 +33,21 @@ Review the [Protected deployment scope](../foundry-osd/general.md#protected-depl - [Zero-touch upload](../foundry-osd/autopilot/zero-touch-hardware-hash.md) credentials can be recovered from media created without Protected deployment. - Non-empty [OOBE local account passwords](../foundry-osd/customization/oobe.md#password-protection) require Protected deployment under Foundry's security policy and are encrypted in the deployment configuration. During Windows Setup, they are written to `unattend.xml` using reversible encoding, not encryption. Treat that answer file and its copies as sensitive data. - Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or data staged into the installed Windows system. -- [Zero-touch Domain Join](../foundry-osd/domain-join/zero-touch.md) requires the existing General protection key and Deploy unlock session. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects credentials in the Deploy wizard and adds no media-password prerequisite. +- [Zero-touch Domain Join](../foundry-osd/domain-join/zero-touch.md) requires Protected deployment; its accounts are unlocked with the technician password. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects the account and password in the Deploy wizard and does not require Protected deployment. If media is lost, stolen, or copied without authorization, revoke embedded credentials where applicable and recreate the media. Do not rely on the technician password as a substitute for physical media controls. ## Domain credentials -In Foundry OSD a join password belongs to its account, shared or dedicated. On media, each domain carries its own encrypted copy bound to that domain and that account, so it cannot be used for another domain. Local **Remember passwords** and encrypted shared revisions can retain them under their respective choices. Ordinary portable exports always omit the direct domain password, including when confidential inputs are selected. Connection/recovery files also omit it, but shared-access keys can grant access to secrets in revisions. Follow [profile retention and sharing rules](../foundry-osd/deployment-profiles.md#domain-credentials). +In Foundry OSD, a join password belongs to its account, shared or dedicated. On Zero-touch media, each domain has its own encrypted copy of its account and password, which cannot be used to join another domain. **Remember passwords** and encrypted shared revisions can keep the passwords when you choose so; a `.foundryprofile` export never contains them. Connection and recovery files do not contain them either, but they give access to shared revisions that can. See [domain credentials in profiles](../foundry-osd/deployment-profiles.md#domain-credentials). -Deploy stages a temporary plaintext binary payload at `%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin`. The operation directory has protected inheritance and permits SYSTEM and Administrators before the file is created. Joining is its only sensitive consumer; later membership verification uses no join credentials. Target access controls and physical security remain necessary. +During deployment, Deploy copies the account and password of the domain being joined to the target disk, unencrypted, in `%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin`. The folder is restricted to SYSTEM and Administrators before the file is written. Only the join reads it; the later membership check uses no credentials. Access to the disk and the physical security of the computer remain your responsibility until the file is deleted. -Foundry zeroes its owned encoded/decoded buffers and scoped unmanaged native-password buffer when their use ends, and disposes its controlled temporary credential objects. The standard LDAP library can create immutable library-owned password copies, and Windows authentication has its own memory. Complete erasure of managed/system authentication memory is not guaranteed. The library connection/credential lifetime is bounded by the child operation/process; the worker has a 300-second budget, with read-only readiness limited to 120 seconds within it. Cancellation does not prove that a synchronous mutation has stopped. +Foundry erases its own copies of the password from memory as soon as it has used them. The Windows components that perform the join keep their own copies during the operation, which Foundry cannot erase. The join is limited to five minutes, including up to two minutes waiting for a domain controller. -Safe cleanup makes at most three deletion attempts per immediate/final gate, 250 ms apart. A potentially active same-boot worker defers deletion until a safe later boot. A domain-only deletion failure remains **Pending** with a warning through subsequent actions and finalization; it does not relax unrelated sensitive-cleanup or journal-integrity failures. An administrator must confirm that no active worker remains before inspecting or removing a leftover credential file. Preserve safe results/journal/logs, and never copy the payload into support evidence. See [domain cleanup troubleshooting](../troubleshooting/domain-join.md#credential-cleanup-remains-pending). +Foundry deletes the file as soon as the join has used it. If the deletion fails, or if the join was interrupted, the cleanup stays **Pending** with a warning and is tried again at the next start. An administrator can delete a leftover file once the computer is no longer running Foundry actions. Never copy it into a support request. See [credential cleanup](../troubleshooting/domain-join.md#credential-cleanup-remains-pending). -This payload's disposal is separate from Panther XML cleanup. A known `credentials.bin` filename is excluded from sanitized and raw support bundles before reading, but this is not a promise about arbitrarily renamed files or unlabelled secrets. +Support bundles never include a file named `credentials.bin`. A copy saved under another name would not be recognized, so do not copy or rename this file. ## Custom answer files diff --git a/reference/supported-versions.md b/reference/supported-versions.md index 61eefae..521ee2f 100644 --- a/reference/supported-versions.md +++ b/reference/supported-versions.md @@ -44,10 +44,10 @@ Keep deployment media and its package content together, and choose scripts and i ## Domain Join -[Domain Join](../foundry-osd/domain-join/README.md) supports eligible Windows editions on x64 and ARM64 targets. +[Domain Join](../foundry-osd/domain-join/README.md) is available on x64 and ARM64 for Windows editions that can join a domain. -Use matching media/target architecture and validate the complete workflow before rollout. +Use media that matches the architecture of the computer, and test the complete workflow before a rollout. -Known unsupported edition IDs are `Core`, `CoreN`, `CoreSingleLanguage` and `CoreCountrySpecific` (Home family). They skip joining with a warning while Windows installation continues. Recognized eligible IDs are `Professional`, `ProfessionalN`, `Education`, `EducationN`, `Enterprise` and `EnterpriseN`; eligibility alone does not prove successful joining. Missing/unfamiliar edition IDs remain Unknown pending image/native inspection. +Pro, Education and Enterprise editions, including their N variants, can join a domain. Home editions (`Core`, `CoreN`, `CoreSingleLanguage`, `CoreCountrySpecific`) cannot: Foundry skips the join with a warning and the installation continues. For an edition Foundry does not recognize, the decision is made from the applied image. -Installed Windows needs online access to domain DNS and a writable controller, along with administrator-delegated join/reuse/read/placement permissions. Preparing an OU list offline does not provide offline joining. Custom answer files and applied images must meet [domain composition/name requirements](../foundry-deploy/domain-join.md#review-the-target-and-windows). +Installed Windows must reach the domain's DNS and a writable domain controller, and the join account must be allowed to join computers, reuse existing computer accounts and place computers in the listed OUs. Custom answer files and custom images must meet the [Domain Join requirements](../troubleshooting/domain-join.md#media-is-not-ready-or-input-is-rejected). diff --git a/start-here/deployment-workflow.md b/start-here/deployment-workflow.md index 3baa3de..39f26c2 100644 --- a/start-here/deployment-workflow.md +++ b/start-here/deployment-workflow.md @@ -9,7 +9,7 @@ Use **Foundry OSD** on an administrator workstation to: - Install or validate Windows ADK and Windows PE components. - Configure networking and deployment behavior. - Select Windows customization options. -- Choose optional Windows Autopilot or [Domain Join](../foundry-osd/domain-join/README.md) provisioning; only one mode can be active. +- Choose Windows Autopilot or [Domain Join](../foundry-osd/domain-join/README.md) when required; only one of them can be active. - Create or update ISO and USB media. ## Phase 2: Establish network readiness @@ -27,7 +27,7 @@ The [Windows PE bootstrap](../reference/bootstrap.md) prepares this session and - Driver pack selection. - Firmware and Windows Autopilot options when configured. -[Domain Join input](../foundry-deploy/domain-join.md) is entered in a wizard step before the summary. Interactive asks for the account, password and a permitted OU; Zero-touch uses the existing unlock session and an optional OU choice. +[Domain Join](../foundry-deploy/domain-join.md) adds a wizard step before the summary when there is something to enter or choose: the account and password on Interactive media, and the domain or the OU when the media lists several. ## Phase 4: Apply and configure Windows @@ -39,7 +39,7 @@ Review the completion state, deployment summary, and any reported error. Reboot ## Phase 6: Verify installed-Windows work -Follow staged [Post-installation](../foundry-osd/customization/post-installation.md) through first boot, controlled restarts and OOBE. Domain Join runs after drivers/networking and verifies local membership after its required restart. Check OU placement/readback and credential cleanup separately. WinPE success establishes staging, not completed membership. Review [warnings and outcomes](../foundry-deploy/verify-deployment.md#domain-join) before handoff. +After the restart, Windows setup runs the [post-installation](../foundry-osd/customization/post-installation.md) actions before the first sign-in. Domain Join runs there, restarts Windows once, then checks that the computer is a member of the domain. A successful deployment in WinPE only means the join was prepared. Check the [outcome](../foundry-deploy/verify-deployment.md#domain-join) before handing over the computer.
Foundry deployment workflow from media authoring through network readiness, Windows deployment, verification, and reboot
- Foundry OSD authors deployment media, Foundry Connect establishes network readiness, and Foundry Deploy applies Windows. Verify staged first-boot work after reboot. + Foundry OSD authors deployment media, Foundry Connect establishes network readiness, and Foundry Deploy applies Windows. The post-installation actions, including Domain Join, run after the restart.
diff --git a/start-here/quick-start.md b/start-here/quick-start.md index 838f2db..50ead60 100644 --- a/start-here/quick-start.md +++ b/start-here/quick-start.md @@ -21,7 +21,7 @@ Open **General configuration** and confirm the deployment settings. Review the [ - Add Wi-Fi or Ethernet 802.1X settings when the target cannot use an open wired network. - Choose Windows customization options required by the organization. - Configure Windows Autopilot only when the device must be registered or receive a profile. -- Alternatively, configure [Domain Join](../foundry-osd/domain-join/README.md). It replaces active Autopilot provisioning. Only Zero-touch adds the existing General protection prerequisite; Interactive adds none. +- Alternatively, configure [Domain Join](../foundry-osd/domain-join/README.md). It replaces the active Autopilot mode. Zero-touch Domain Join requires Protected deployment; Interactive does not. ## 5. Create deployment media @@ -47,4 +47,4 @@ In Foundry Deploy: 6. Review the summary and start deployment. 7. Verify the success page before rebooting. -For Domain Join, Deploy success means staging. Follow installed-Windows joining and its controlled restart, then verify local membership, requested OU placement and cleanup before handoff. +For Domain Join, a successful deployment means the join was prepared. It runs after the restart; check that the computer joined the domain before handing it over. diff --git a/troubleshooting/README.md b/troubleshooting/README.md index d4c2d19..845b759 100644 --- a/troubleshooting/README.md +++ b/troubleshooting/README.md @@ -8,8 +8,8 @@ Start with the stage where the workflow stopped. | Ethernet, Wi-Fi, DHCP, or Foundry Connect | [Network and Foundry Connect](network.md) | | Target, Windows, drivers, or deployment execution | [Windows deployment](deployment.md) | | Profile staging or hardware hash upload | [Windows Autopilot](autopilot.md) | -| AD joining, OU placement, membership or domain credential cleanup | [Domain Join](domain-join.md) | +| Joining the domain, OU placement or leftover join credentials | [Domain Join](domain-join.md) | Before changing configuration, record the visible status, failed step, complete error message, device model, media version, and selected workflow. Then collect [logs and support information](logs-and-support.md). -For domain work, collect independent phase states and safe numeric error codes from [domain outcome evidence](logs-and-support.md#domain-join-evidence), without the credential payload or account/password. +For Domain Join, collect the result file and the log listed in [Domain Join evidence](logs-and-support.md#domain-join-evidence). Never include the `credentials.bin` file, an account or a password. diff --git a/troubleshooting/deployment.md b/troubleshooting/deployment.md index b9f6cf0..f05deef 100644 --- a/troubleshooting/deployment.md +++ b/troubleshooting/deployment.md @@ -6,7 +6,7 @@ Use 1–15 ASCII letters, numbers, or hyphens, and avoid a name containing only In the composed naming workflow, a missing hardware value or firmware placeholder also prevents generation. If editing is allowed, enter a valid complete name. Otherwise, correct the naming configuration and refresh the media. See [machine naming](../foundry-osd/customization/machine-naming.md) for naming requirements and editing options. -For Domain Join with custom XML, the answer file must supply one valid concrete applicable `specialize` name. Native fallback naming does not repair a missing/wildcard custom name. See [Domain Join input and compatibility](domain-join.md#media-is-not-ready-or-input-is-rejected). +For Domain Join with a custom answer file, the file must set exactly one fixed computer name in its `specialize` pass; Foundry does not replace a missing or `*` name. See [Domain Join troubleshooting](domain-join.md#media-is-not-ready-or-input-is-rejected). ## Target disk is unavailable @@ -78,4 +78,4 @@ For [custom images](../foundry-osd/customization/custom-windows-images.md), chec For [Post-installation](../foundry-osd/customization/post-installation.md), distinguish WinPE staging from the later Windows sequence. Planned restarts resume from saved progress. An interrupted action, missing or damaged execution records, or an installer-owned restart stops the sequence without automatically retrying the action. Preserve the results and logs before deciding whether to redeploy. **Cleanup pending** means some temporary content could not yet be safely removed. -[Domain operations](domain-join.md#interrupted-work-or-restart-is-pending) are a bounded warning exception: validated recovery does not replay join/move mutations and can continue after a controlled restart. Domain-only cleanup remains a warning; unrelated uncertain actions, damaged records and other sensitive-cleanup failures retain their normal stop policy. +[Domain Join](domain-join.md#interrupted-work-or-restart-is-pending) is an exception: when the join is interrupted, Foundry reports a warning, does not try the join again, and continues after the restart. diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index 2a9a36b..3b35ae3 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -1,65 +1,112 @@ # Domain Join troubleshooting -Record the failed phase and safe numeric error family before changing the target. Collect the [domain result, execution journal and local PostInstall logs](logs-and-support.md#domain-join-evidence). A WinPE skip before staging has only Deploy's summary/logs, not an installed domain result. +Start from where the problem shows: in Foundry OSD while preparing the media, in the Deploy wizard, or in installed Windows after the restart. -| Phase state | Meaning | +## Where to look + +| Where | What it tells you | | --- | --- | -| NotStarted | No completed result has been recorded for this phase. | -| Succeeded | That phase completed; check the other phases separately. | -| Failed | A known failure was recorded with an allowlisted code. | -| Skipped | The phase did not apply or was intentionally not attempted. | -| Unknown | A mutation may have occurred; do not repeat it automatically. | -| Unverified | The intended result could not be confirmed by readback or verification. | +| The Domain Join page in Foundry OSD | Messages under each card and the **Status** column of the Domains table say what is missing before media can be created. | +| The **Domain join** step and the summary in Foundry Deploy | Messages under each field, and the domain and OU the join will use. | +| The Foundry console during Windows setup | One line summarizes the join, for example `Domain - Join: Failed; Placement: Skipped; Membership: Skipped; Restart: NotRequired; Cleanup: Disposed`. | +| `%SystemRoot%\Temp\Foundry\State\PreOobe\domain-join-result.json` | The same outcome with a reason (`failureCode`) and numeric error codes. | +| `%SystemRoot%\Temp\Foundry\Logs\PreOobe\Foundry.PostInstall.log` | The detailed log of the join. | + +To read the files while Windows setup is still on screen, press **Shift+F10** to open a command prompt. See [which files to collect](logs-and-support.md#domain-join-evidence) before asking for help. -Restart states and cleanup states are recorded separately from these phases. A completed restart or confirmed local membership does not turn an Unknown join/move into Succeeded. +Each part of the outcome (join, placement in the OU, membership) has its own state: + +| State | Meaning | +| --- | --- | +| Succeeded | That part completed. | +| Failed | That part failed; the reason is in the result file. | +| Skipped | That part did not apply, or was not attempted because an earlier part failed. | +| Unknown | The operation was interrupted, so the directory may or may not have been changed. | +| Unverified | The operation was requested but its result could not be confirmed. | +| NotStarted | Nothing was recorded for that part yet. | ## Media is not ready or input is rejected -- For Zero-touch, check the **Status** column of the Domains table: every listed domain needs a qualified account, shared or dedicated, with its password, and a usable existing [General protection password](../foundry-osd/general.md#protected-deployment). Imported portable profiles deliberately omit the join passwords. -- When the media lists domains, the technician joins one of them; another domain cannot be typed. For Interactive without listed domains, enter the domain in the Domain join step. -- A typed optional OU DN is offered only for a domain without listed OUs. It must name an organizational unit (it starts with `OU=`) inside that domain; a container such as `CN=Computers` is not accepted. -- When the retained domain lists several OUs, choose one. Without a default, nothing is preselected and a selection is required. Changing the domain replaces the OU choices with those of the new domain. -- The Domain join step appears in Zero-touch as soon as the media lists several domains, or several OUs for the retained domain. For a deployment without that step, list one domain and at most one OU. -- A domain's name cannot be changed while it lists OUs. Remove its OUs first, or add the new domain and remove the old one. -- The OU search reads the selected domain using the current Windows identity; it does not test the join account's permissions. It fails for a domain this computer cannot reach or that does not trust your account. You can still add OUs manually. -- For a custom answer file, supply one valid concrete applicable `specialize` name and remove conflicting `Microsoft-Windows-UnattendedJoin` configuration. Foundry does not fill a missing custom name from the wizard. Review arbitrary commands separately; not every scripted conflict can be detected. +**In Foundry OSD** + +| Message or symptom | What to do | +| --- | --- | +| A domain shows a missing password or account in **Status** | Select the domain and choose **Edit**, or complete the **Shared join account** card. Each domain needs an account written as `DOMAIN\user` or `user@domain`, with its password. | +| Password protection is required | Zero-touch needs [Protected deployment](../foundry-osd/general.md#protected-deployment): enable it on the General page and set the technician password. | +| At least one domain is required | Zero-touch needs one listed domain or more. Interactive can list none. | +| The passwords are empty after importing a profile | A `.foundryprofile` export never contains the join passwords. Enter them again, and set the technician password on this PC. | +| A domain cannot be renamed | Its name is locked while it lists OUs. Remove its OUs first, or add the new domain and remove the old one. | +| An OU is refused | The distinguished name must be an organizational unit of the selected domain: it starts with `OU=` and ends with that domain's `DC=` parts. A container such as `CN=Computers` is not accepted. | +| **Import from domain** finds nothing or fails | The search uses your Windows account. It fails when this computer cannot reach the domain or when the domain does not trust your account. Add the OUs manually instead. | + +**In the Deploy wizard** -Known Windows Home-family editions skip joining and continue installation. Unfamiliar/missing edition metadata needs image/native inspection. Applied-image conflicts can also skip domain work. See [supported-version limits](../reference/supported-versions.md#domain-join). +| Message or symptom | What to do | +| --- | --- | +| **Next** is unavailable on the Domain join step | Correct the fields that show a message: a valid domain name, an account written as `DOMAIN\user` or `user@domain`, a password, and an OU when the domain lists several. | +| Another domain cannot be typed | When the media lists domains, only those can be joined. Ask the administrator to add the domain in Foundry OSD. | +| The typed OU is refused | A typed OU is only offered for a domain without listed OUs. It must start with `OU=` and belong to the chosen domain. | +| The Domain join step is not shown | On Zero-touch media this is expected when the media lists one domain and at most one OU for it: there is nothing to choose. | +| The Domain join step appears on Zero-touch media | The media lists several domains, or several OUs for the domain. To avoid the step, the administrator lists one domain and at most one OU. | +| "The domain join information is missing or not valid. Deployment has not started." | Return to the Domain join step and check the entries. With a custom answer file, check its computer name as described below. | +| The summary says the edition cannot join a domain | Windows Home editions cannot join a domain. Choose another edition, or continue without the join. See [supported editions](../reference/supported-versions.md#domain-join). | + +**With a custom answer file or a custom Windows image** + +The answer file must set exactly one fixed computer name in its `specialize` pass; a missing name, a `*` wildcard or several names are refused, and Foundry does not fill the name from the wizard. Neither the answer file nor the image may contain a `Microsoft-Windows-UnattendedJoin` component, because Foundry performs the join itself. When Foundry finds such a conflict in the applied image, it skips the join with a warning in the deployment summary and the installation continues. ## Windows asks who will use the device -Setup ends on the sign-in screen only after Foundry has verified that the computer is a member of the domain. When it stops on **Who's going to use this device?** instead, the join failed or could not be verified: create a local account to reach the desktop, then follow [Joining fails](#joining-fails) and review the join result. +Setup ends on the sign-in screen only after Foundry has confirmed that the computer is a member of the domain. When it stops on **Who's going to use this device?** instead, the join failed or could not be confirmed. Create a local account to reach the desktop, then follow [Joining fails](#joining-fails). -The page also appears with a [custom answer file](../foundry-osd/customization/unattend.md) that creates no account, because that file keeps control of its own OOBE settings. Create the account in that file. +The page also appears with a [custom answer file](../foundry-osd/customization/unattend.md) that creates no account, because that file decides which setup screens appear. Create the account in that file. ## Joining fails -Check installed-Windows network drivers, domain DNS, controller reachability and system time. Connect's Internet check does not confirm AD connectivity, and an OU list does not provide offline joining. Readiness checks are bounded; restore connectivity before arranging a new controlled attempt. +Open `domain-join-result.json` and read `failureCode` and the numeric codes under `join`: -Ask the AD administrator to confirm the account's delegated join/reuse and directory permissions. Reuse can be restricted by Windows domain-join hardening even when a new account can be created. Review Microsoft's [KB5020276 domain-join hardening guidance](https://support.microsoft.com/en-us/servicing/os/windows/2022/10/kb5020276-netjoin-domain-join-hardening-changes) with the administrator. Foundry follows Windows' reuse decision and does not bypass hardening or delete/recreate the existing account. +| What the result shows | Likely cause | What to do | +| --- | --- | --- | +| `DomainUnavailable` with `ldapErrorCode` 49, or `JoinFailed` with `nativeErrorCode` 1326 | The directory refused the account or its password. | Check the account and password. On Zero-touch media, correct them in Foundry OSD and create the media again. | +| `ReadinessTimeout`, or `DomainUnavailable` with another code | No domain controller answered within two minutes. | Check the network driver and connection in installed Windows, the DNS servers given to the computer, and its date and time. A working Internet connection does not prove that the domain is reachable. | +| `JoinFailed` with `nativeErrorCode` 1355 | The domain was not found. | Check the domain name and DNS. | +| `JoinFailed` with `nativeErrorCode` 5 | Access denied: the account is not allowed to join computers. | Ask the Active Directory administrator to review the account's permissions. | +| `JoinFailed` with `nativeErrorCode` 2224 or 2732 | A computer account with this name exists and the join account may not reuse it. | Windows restricts the reuse of existing computer accounts; see Microsoft's [KB5020276 guidance](https://support.microsoft.com/en-us/servicing/os/windows/2022/10/kb5020276-netjoin-domain-join-hardening-changes). Use the account that created the computer object, have the administrator allow the reuse, or choose another computer name. Foundry does not delete or recreate the existing account. | +| `ComputerNameMismatch` | The expected computer name could not be applied. | Check the computer name set by machine naming or by the custom answer file. | +| `CredentialUnavailable` or `ContextMismatch` | The prepared credentials could not be read, or were not made for this domain. | Deploy the computer again. If it repeats on Zero-touch media, create the media again. | -## Joined but the OU is wrong or unverified +Foundry never repeats a failed join by itself, so a wrong password cannot lock the account. After fixing the cause, either deploy the computer again or join it manually in Windows, from **Settings > Accounts > Access work or school** or with `Add-Computer`. -Review **Join** and **Placement** independently. Successful joining still requires the controlled restart even when placement fails; the console can report **Domain joined; target OU placement failed**. +## Joined but the OU is wrong or unverified -If the requested OU does not exist in the directory, Foundry still joins the computer, in the domain's default location, and reports placement as failed with the code `OrganizationalUnitNotFound`. The console shows **Domain joined in the default location; target OU not found**. Correct the OU in Foundry OSD, then move the computer account with the administrator. +The console line and the result file report the join and the placement in the OU separately. A successful join still restarts Windows and is checked even when the placement fails. -Confirm the requested DN exists and the account can read the object and the OU and perform the required same-domain placement. Existing-account moves preserve the captured GUID and require identity proof. No visible pre-join account is not proof that an account is absent, so an unproven existing object is not moved automatically. +| Console message | Meaning | What to do | +| --- | --- | --- | +| Domain joined in the default location; target OU not found | The OU does not exist in the directory (`OrganizationalUnitNotFound`). | Correct the OU in Foundry OSD for future media, and have the administrator move the computer account. | +| Domain joined; target OU placement failed | The account could not be created in or moved to the OU, usually for lack of permission on that OU. | Have the administrator check the join account's permissions on the OU and move the computer account. | +| Domain joined; target OU placement not confirmed | The move was requested but Foundry could not read the result back. | Have the administrator check where the computer account is. | -**Unverified** can mean the placement response was acknowledged but directory readback could not confirm it. **Unknown** can mean a mutation response was lost. Have the administrator inspect the intended computer object, its GUID and actual parent. Later local domain membership does not prove OU placement, directory readback or policy application succeeded. +An existing computer account is moved only when Foundry can confirm it is the same computer object; otherwise it is left in place and the placement is reported. Without an OU, an existing account is never moved. Being a member of the domain does not prove that the account is in the intended OU. ## Interrupted work or restart is pending -Foundry never automatically repeats an uncertain join or account move. A potentially active worker is conservatively treated as Unknown and may require one controlled restart. A repeated launch on the originating boot does not request the same restart again. Later-boot membership verification is read-only and uses no join credentials; an earlier Unknown remains Unknown even when membership is confirmed. +If the computer loses power or the join takes longer than five minutes, the console shows **Domain join outcome unknown; membership is checked after restart**. The directory may or may not have been changed, so Foundry does not try the join again. -Keep power and required networking available through the controlled restart. Inspect the report before arranging further changes. Missing, damaged, foreign or inconsistent execution records remain integrity failures; unrelated uncertain custom actions and installer-owned restarts retain their normal stop policy. +- Keep power and network connected until Windows has restarted and setup has finished. +- After the restart, look at **Membership**. **Succeeded** means the computer is in the domain; check the OU with the administrator. Otherwise join the computer manually or deploy it again. +- Do not restart the computer by hand to make the warning disappear. ## Credential cleanup remains Pending -The temporary plaintext file is `%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin`, protected for SYSTEM and Administrators. Do not open, copy or attach it to a support issue. +During the join, the account and password are kept in a temporary file, readable only by SYSTEM and administrators: + +`%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin` + +Foundry deletes it as soon as the join has used it; the console then shows **Cleanup: Disposed**. **Cleanup: Pending** means the file could not be deleted yet, for example because the join was interrupted. Foundry tries again at the next start. -Cleanup makes at most three deletion attempts per safe immediate/final gate, with 250 ms between attempts. When a worker may still use the file on the same boot, deletion is deferred to a safe later boot. Domain-only leftovers remain Pending with a warning through later actions and finalization. Other sensitive-cleanup and journal/report-write failures retain their existing fatal policy. +If it is still pending when setup has finished, have an administrator delete that folder once the computer is no longer running any Foundry action. Never open, copy or attach this file to a support request: it contains the join password. -An administrator must confirm no active domain worker remains before inspecting access/ownership or removing the operation's leftover credential file. Preserve the result, journal and logs for investigation. Do not delete a live worker's input or restart a mutation manually to clear the warning. Failed staging can retain non-runnable ownership records when rollback cannot delete the credential; it must not be promoted into runnable work. +## Ask for help -See [credential lifetime](../reference/security-and-credentials.md#domain-credentials) for memory and target-file boundaries. Verify joining, placement, local membership and credential disposal before organizational handoff. +Collect the result file and the log listed in [Domain Join evidence](logs-and-support.md#domain-join-evidence). They contain no account or password, but they do contain the domain, computer and OU names; remove them if they are sensitive. diff --git a/troubleshooting/logs-and-support.md b/troubleshooting/logs-and-support.md index eb968c5..2d857be 100644 --- a/troubleshooting/logs-and-support.md +++ b/troubleshooting/logs-and-support.md @@ -8,7 +8,7 @@ In **Settings > General**, use **Export diagnostics** to save a sanitized archiv Use **Advanced: export raw logs** only when requested by a trusted support contact, and review the sensitive-data warning before sharing the archive. See [Export diagnostics](../foundry-osd/settings.md#export-diagnostics). -For Domain Join, recognized quoted/escaped credential values are masked in sanitized logs, and `credentials.bin` is unconditionally excluded by basename before reading in sanitized and raw exports. The export still selects only desktop top-level `Foundry*.log` files; it does not retrieve target payloads or PostInstall evidence. Unknown/unlabelled secrets and arbitrarily renamed payloads are not a redaction guarantee. +For Domain Join, recognized credential values are masked in sanitized logs, and a file named `credentials.bin` is never read or included, in sanitized and raw exports alike. The export still collects only the desktop application's top-level `Foundry*.log` files, not the files written on deployed computers. A secret that Foundry cannot recognize is not masked. Remote diagnostics supplement local logs and support archives. Keep local evidence when investigating a failure: remote delivery can have gaps, and external-tool log files are not automatically uploaded. See [Telemetry and privacy](../reference/telemetry-and-privacy.md#remote-error-diagnostics). @@ -40,7 +40,7 @@ If records are missing, check consent, application version, network access, the - Selected Windows release, edition, language, and architecture. - Selected driver pack. - Autopilot method, without credentials or tenant secrets. -- For Domain Join, safe join/placement/membership/restart/cleanup states and allowlisted failure codes. Keep native API, LDAP client/transport and directory server result codes distinct; omit arbitrary directory diagnostics and credentials. +- For Domain Join, the states of the join, placement, membership, restart and cleanup, with the `failureCode` and the numeric error codes. Do not include accounts, passwords or other directory details. ## Windows PE log location @@ -127,16 +127,16 @@ Desktop diagnostic export does not automatically collect target-machine logs. Po ## Domain Join evidence -For domain work successfully staged by Deploy, collect from the installed Windows target: +When the join was prepared by Deploy, collect these files from the deployed computer: | Evidence | Location | | --- | --- | -| Independent domain outcome | `%SystemRoot%\Temp\Foundry\State\PreOobe\domain-join-result.json` | -| Execution journal and saved restart/progress | `%SystemRoot%\Temp\Foundry\State\PreOobe\execution-result.json` | -| Existing PostInstall log | `%SystemRoot%\Temp\Foundry\Logs\PreOobe\Foundry.PostInstall.log` and relevant rotated logs | +| Outcome of the join | `%SystemRoot%\Temp\Foundry\State\PreOobe\domain-join-result.json` | +| Progress of all post-installation actions | `%SystemRoot%\Temp\Foundry\State\PreOobe\execution-result.json` | +| Post-installation log | `%SystemRoot%\Temp\Foundry\Logs\PreOobe\Foundry.PostInstall.log` and its rotated files | -The domain result records expected domain, computer name and OU, independent phase states, allowlisted failure codes and correctly attributed numeric errors, restart and cleanup. It contains no account/password or arbitrary exception text. These expected identities can still be sensitive; redact them before sharing. The worker phase receipt at `State\PreOobe\domain-join-phase.json` is execution evidence, not an instruction to restart or retry mutations manually. +The result file contains the expected domain, computer name and OU, the state of each part of the join, a reason for each failure and numeric error codes. It contains no account, no password and no free-form error text. Remove the names before sharing if they are sensitive. -If Deploy skipped joining before staging, collect its summary and deployment logs instead. No installed domain result is manufactured for that skip. Separate local membership from OU placement/readback, and keep **Unknown**, **Unverified** and **Cleanup Pending** outcomes visible in the report. See [Domain Join troubleshooting](domain-join.md). +If Deploy skipped the join because of the Windows edition or the image, these files do not exist: collect the deployment summary and the deployment logs instead. See [Domain Join troubleshooting](domain-join.md). -Never attach `%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin`. It is temporary plaintext authentication material, even though its filename uses `.bin`. An administrator must confirm no active worker remains before removing a leftover. Desktop export and remote diagnostics do not automatically collect these target files. +Never attach `%SystemRoot%\Temp\Foundry\Payloads\DomainJoin\\credentials.bin`: it contains the join account and password. Foundry does not collect files from deployed computers by itself. From ab56e9e27a6f7b1a66186ccfc9ab461a166e638e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 19:50:40 +0200 Subject: [PATCH 29/31] docs: name Password protection as the interface does The General page labels the setting Password protection and its field Deployment password; the pages called it Protected deployment. Rename it everywhere, move the anchor, and quote the two Domain Join messages as Foundry OSD shows them. Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/README.md | 6 +++--- foundry-osd/autopilot/json-profile.md | 4 ++-- .../autopilot/zero-touch-hardware-hash.md | 8 ++++---- foundry-osd/customization/oobe.md | 6 +++--- foundry-osd/customization/unattend.md | 6 +++--- foundry-osd/deployment-profiles.md | 4 ++-- foundry-osd/domain-join/interactive.md | 2 +- foundry-osd/domain-join/zero-touch.md | 4 ++-- foundry-osd/general.md | 14 +++++++------- foundry-osd/media/README.md | 2 +- foundry-osd/network/README.md | 2 +- reference/security-and-credentials.md | 18 +++++++++--------- start-here/quick-start.md | 4 ++-- troubleshooting/domain-join.md | 4 ++-- 14 files changed, 42 insertions(+), 42 deletions(-) diff --git a/foundry-deploy/README.md b/foundry-deploy/README.md index 77e8e72..eb2bcff 100644 --- a/foundry-deploy/README.md +++ b/foundry-deploy/README.md @@ -7,16 +7,16 @@ Foundry Deploy runs in Windows PE after network readiness. It guides a technicia - Confirm that the device is connected to power. - Confirm that required network services are reachable. - Disconnect storage devices that must not be selected accidentally. -- Obtain the technician password when Protected deployment is enabled. +- Obtain the technician password when Password protection is enabled. - For [Domain Join](domain-join.md), have the join account and its password ready when the media is Interactive, and make sure the computer will reach the domain once Windows is installed. {% hint style="danger" %} Deployment erases and repartitions the selected target disk. Verify the target before starting. {% endhint %} -When Protected deployment is enabled, Foundry Deploy requests the technician password before initialization. Cancelling the prompt closes Foundry Deploy. Incorrect attempts can be retried, with a progressively longer delay of up to five seconds. If the password is lost, recreate the media in Foundry OSD. +When Password protection is enabled, Foundry Deploy requests the technician password before initialization. Cancelling the prompt closes Foundry Deploy. Incorrect attempts can be retried, with a progressively longer delay of up to five seconds. If the password is lost, recreate the media in Foundry OSD. -Zero-touch Domain Join uses the same technician password; there is no separate prompt for the domain account. Interactive Domain Join does not require Protected deployment. +Zero-touch Domain Join uses the same technician password; there is no separate prompt for the domain account. Interactive Domain Join does not require Password protection. {% hint style="info" %} Foundry Deploy validates HTTPS server certificates. When the catalog supplies a file hash, Deploy checks downloaded files and rechecks cached files before reuse. For cached Windows images and OEM driver packs, **Checking cache...** shows the verification percentage and bytes processed. Allow extra time when using large files or slower USB drives. A cached file that fails verification is downloaded again with its own download progress; a replacement that also fails verification stops the affected step. See [download troubleshooting](../troubleshooting/deployment.md#download-fails). diff --git a/foundry-osd/autopilot/json-profile.md b/foundry-osd/autopilot/json-profile.md index a446e08..9f3bf53 100644 --- a/foundry-osd/autopilot/json-profile.md +++ b/foundry-osd/autopilot/json-profile.md @@ -19,12 +19,12 @@ All profiles retained in Foundry OSD are included in media created for the JSON ## Protect the profile on deployment media -Enable **Protected deployment** from [General configuration](../general.md) before creating the media when the retained Autopilot profiles must not remain readable on the ISO or USB drive. +Enable **Password protection** from [General configuration](../general.md) before creating the media when the retained Autopilot profiles must not remain readable on the ISO or USB drive. When protection is enabled, Foundry stores every retained profile on the deployment media using AES-256-GCM encryption. Readable JSON files are not stored alongside the encrypted profiles. Foundry Deploy asks for the technician password, unlocks the deployment key, and decrypts the selected profile before staging it in the Windows installation. {% hint style="warning" %} -Without Protected deployment, every retained Autopilot JSON profile is stored in readable form on the deployment media. Restrict access to the ISO or USB drive and recreate the media if it is lost or copied without authorization. +Without Password protection, every retained Autopilot JSON profile is stored in readable form on the deployment media. Restrict access to the ISO or USB drive and recreate the media if it is lost or copied without authorization. {% endhint %} ## Expected result diff --git a/foundry-osd/autopilot/zero-touch-hardware-hash.md b/foundry-osd/autopilot/zero-touch-hardware-hash.md index 8c5a641..6dc11f1 100644 --- a/foundry-osd/autopilot/zero-touch-hardware-hash.md +++ b/foundry-osd/autopilot/zero-touch-hardware-hash.md @@ -88,9 +88,9 @@ Use a dedicated application registration for Foundry deployment media. Do not re Foundry places the certificate PFX and its PFX password in the deployment configuration. Both values are encrypted with AES-256-GCM, which also detects whether the encrypted data has been modified. -Enable **Protected deployment** from [General configuration](../general.md) before creating the media. +Enable **Password protection** from [General configuration](../general.md) before creating the media. -Foundry generates a random 256-bit deployment key for each media-creation operation. When Protected deployment is enabled: +Foundry generates a random 256-bit deployment key for each media-creation operation. When Password protection is enabled: 1. Foundry derives a key from the deployment password using PBKDF2-HMAC-SHA-256, 600,000 iterations, and a random 128-bit salt. 2. The password-derived key protects the random deployment key with AES-256-GCM. @@ -102,10 +102,10 @@ AES-GCM uses a unique 96-bit nonce and a 128-bit authentication tag for each enc A copied ISO or USB drive therefore cannot reveal the PFX private key through the stored deployment key alone; the deployment password must also be obtained or recovered. This protection no longer applies after an authorized technician unlocks the media and Foundry Deploy starts using the credential. {% hint style="warning" %} -Protected deployment does not encrypt the entire ISO, USB drive, or Windows installation content. It protects access to Foundry Deploy and the deployment secrets stored in its configuration. +Password protection does not encrypt the entire ISO, USB drive, or Windows installation content. It protects access to Foundry Deploy and the deployment secrets stored in its configuration. {% endhint %} -If Protected deployment is disabled, the PFX and its password remain encrypted, but the deployment key is stored on the media so that deployment can start without a password. Anyone who obtains the media must therefore be treated as having access to its embedded deployment credentials. +If Password protection is disabled, the PFX and its password remain encrypted, but the deployment key is stored on the media so that deployment can start without a password. Anyone who obtains the media must therefore be treated as having access to its embedded deployment credentials. Use a unique password of at least 12 characters for deployment media. Foundry accepts passwords from 8 characters, but warns when fewer than 12 characters are used. The password is not stored on the media. If it is lost, recreate the media. diff --git a/foundry-osd/customization/oobe.md b/foundry-osd/customization/oobe.md index 4f80ce9..fe3065f 100644 --- a/foundry-osd/customization/oobe.md +++ b/foundry-osd/customization/oobe.md @@ -61,14 +61,14 @@ Foundry does not configure AutoLogon and does not request account passwords duri ## Password protection -Non-empty local account passwords require [Protected deployment](../general.md#protected-deployment). This is a Foundry security requirement, not a Windows Setup requirement. Foundry keeps authoring passwords only for the current session and encrypts them in the deployment configuration written to the media. +Non-empty local account passwords require [Password protection](../general.md#password-protection). This is a Foundry security requirement, not a Windows Setup requirement. Foundry keeps authoring passwords only for the current session and encrypts them in the deployment configuration written to the media. During deployment, Foundry decrypts the passwords for Windows Setup and writes them to `unattend.xml` using reversible encoding with `PlainText=false`. This hides the values but does not encrypt them. Treat answer files and their copies as sensitive data; media protection does not provide end-to-end encryption of the Windows Setup answer file. See [Microsoft's guidance on hidden answer-file passwords](https://learn.microsoft.com/en-us/windows-hardware/customize/desktop/wsim/hide-sensitive-data-in-an-answer-file). -If a predefined account password is enabled while Protected deployment is disabled, Foundry blocks media creation and marks both **OOBE** and **Password protection** as needing attention. Enable Protected deployment and configure its technician password, or turn off the predefined account password to use an intentional blank password. +If a predefined account password is enabled while Password protection is disabled, Foundry blocks media creation and marks both **OOBE** and **Password protection** as needing attention. Enable Password protection and configure its technician password, or turn off the predefined account password to use an intentional blank password. Foundry saves whether each account requires a predefined password, but it never saves the password itself in the authoring configuration. After restarting Foundry OSD, re-enter and confirm every required account password before creating deployment media. Foundry marks the OOBE configuration as needing attention until those passwords are available again. The **Accounts** header shows **Needs attention** even when collapsed if an account setting is invalid, a required password is missing, or deployment protection is required. Autopilot only causes this attention indicator when additional local accounts are also configured. The Standard-only warning is advisory and does not block media creation. -Blank passwords do not require Protected deployment because no password secret is stored. Apply the organization's password and device-access policies before using this option. +Blank passwords do not require Password protection because no password secret is stored. Apply the organization's password and device-access policies before using this option. diff --git a/foundry-osd/customization/unattend.md b/foundry-osd/customization/unattend.md index bc9759d..59c1798 100644 --- a/foundry-osd/customization/unattend.md +++ b/foundry-osd/customization/unattend.md @@ -23,7 +23,7 @@ Validate the answer file with Windows System Image Manager for the target Window 1. Open **Customization > Unattend** in Foundry OSD and enable the feature using the switch in the page header. Its controls remain disabled while the feature is off. The documentation button beside the switch opens this guide. 2. Import one or more XML files. Review the validation results and give each file a recognizable display label. 3. Choose a default file, or keep **Use Foundry settings** as the default. -4. Enable [Protected deployment](../general.md#protected-deployment) and enter the media password. Protection is required for every custom file, even one that appears to contain no credentials. +4. Enable [Password protection](../general.md#password-protection) and enter the deployment password. Protection is required for every custom file, even one that appears to contain no credentials. 5. Return to **Start**, resolve readiness errors, and [create deployment media](../media/README.md).
@@ -69,13 +69,13 @@ A custom file does not disable every other Foundry feature. Test the file togeth Foundry detects known XML conflicts but cannot predict arbitrary scripts. Arrange access to scripts referenced by the file; importing XML does not bundle those external files or execute its commands in WinPE. -For [Domain Join](../domain-join/README.md), a missing computer name, a `*` wildcard or several names are refused before the deployment starts; Foundry does not take the name from the wizard. Remove any `Microsoft-Windows-UnattendedJoin` component, and review your own commands that rename the computer or join a domain. Custom answer files still require Protected deployment. +For [Domain Join](../domain-join/README.md), a missing computer name, a `*` wildcard or several names are refused before the deployment starts; Foundry does not take the name from the wizard. Remove any `Microsoft-Windows-UnattendedJoin` component, and review your own commands that rename the computer or join a domain. Custom answer files still require Password protection. Custom commands that replace setup hooks, restart Windows independently or change enrollment and package state can disrupt [Post-installation](post-installation.md#custom-answer-files). Test the complete combination before production use. ## Protect sensitive content -The complete custom file is encrypted on deployment media using the existing Protected deployment key. Protection does not extend to the original source file or the decrypted copy Windows needs on the target. +The complete custom file is encrypted on deployment media using the existing Password protection key. Protection does not extend to the original source file or the decrypted copy Windows needs on the target. Treat Panther answer files and their copies as sensitive. Windows password hiding is reversible, and custom commands or extensions can contain secrets that Windows will not automatically remove. Do not attach raw XML to support reports. diff --git a/foundry-osd/deployment-profiles.md b/foundry-osd/deployment-profiles.md index afd3f2e..66838ea 100644 --- a/foundry-osd/deployment-profiles.md +++ b/foundry-osd/deployment-profiles.md @@ -39,7 +39,7 @@ Saved profiles are protected for your Windows account on this PC using Windows C When Foundry first brings your existing settings into a profile, **Remember passwords** starts enabled and saves supported passwords and selected files that are available. An existing profile's choice is preserved. -Supported passwords include Wi-Fi, Protected deployment, OOBE local accounts, selected network or Autopilot PFX certificates, and Domain Join accounts. Complete required fields and matching confirmations. For an intentionally blank OOBE password, use its explicit password choice. Missing passwords are not filled from another profile. +Supported passwords include Wi-Fi, the deployment password, OOBE local accounts, selected network or Autopilot PFX certificates, and Domain Join accounts. Complete required fields and matching confirmations. For an intentionally blank OOBE password, use its explicit password choice. Missing passwords are not filled from another profile. Microsoft sign-in sessions are not transferred. Sign in again when an Autopilot task requires it. An imported Autopilot configuration with a valid saved registration can use its matching PFX certificate without a new sign-in. If that file was omitted, select the matching certificate and enter its password on this PC. A different or expired certificate must be resolved before creating media. @@ -203,7 +203,7 @@ Custom drivers remain local. Keep the selected driver folder focused on the targ Foundry cleans up its temporary copies after the build. If cleanup is interrupted, it retries when you restart or prepare another build. -Protect the media separately using [Protected deployment](general.md#protected-deployment) and the [deployment media security guidance](../reference/security-and-credentials.md). Recreate media when its included passwords or deployment settings change. +Protect the media separately using [Password protection](general.md#password-protection) and the [deployment media security guidance](../reference/security-and-credentials.md). Recreate media when its included passwords or deployment settings change. ## Custom image references diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index fe079e8..02bbad3 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -9,7 +9,7 @@ Choose this mode when the media must not carry domain credentials: the technicia 3. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain. A single OU is always used; with several, technicians choose one and the default is preselected. 4. Resolve the messages shown on the page, then [create or update the media](../media/README.md). -Interactive Domain Join does not need [Protected deployment](../general.md#protected-deployment) and writes no join account or password to the media. Accounts and passwords entered on the Zero-touch page stay in your configuration for a later switch back, but are never written to Interactive media. Other options you enable, such as custom answer files, may still require Protected deployment. +Interactive Domain Join does not need [Password protection](../general.md#password-protection) and writes no join account or password to the media. Accounts and passwords entered on the Zero-touch page stay in your configuration for a later switch back, but are never written to Interactive media. Other options you enable, such as custom answer files, may still require Password protection. Choose **Disable** to remove the join from new media. Your settings stay available for later. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index ad17d5b..3fc400c 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -1,10 +1,10 @@ # Zero-touch Domain Join -Choose this mode when the media should carry the join account, so technicians do not type domain credentials. The credentials are protected by the technician password of [Protected deployment](../general.md#protected-deployment). +Choose this mode when the media should carry the join account, so technicians do not type domain credentials. The credentials are protected by the technician password of [Password protection](../general.md#password-protection). ## Prepare the media -1. In [General configuration](../general.md#protected-deployment), enable **Protected deployment** and set the technician password. Zero-touch Domain Join cannot be used without it. +1. In [General configuration](../general.md#password-protection), turn on **Password protection** and enter the **Deployment password**. Zero-touch Domain Join cannot be used without it. 2. Open **Domain Join > Zero-Touch** and choose **Enable**. Confirm the replacement if another Domain Join or Autopilot mode is active. 3. Under **Shared join account**, enter the **Account**, as `DOMAIN\user` or `user@domain`, and its **Password**. Every domain uses this account unless you give it its own. Use an account provided by your Active Directory administrator, such as `CORP\deployment-join`. 4. Under **Domains**, [add each domain](README.md#list-the-domains). To join a domain with a different account, choose **Use a dedicated account** in the domain dialog and enter that account and its password. diff --git a/foundry-osd/general.md b/foundry-osd/general.md index 9197aed..78aa4aa 100644 --- a/foundry-osd/general.md +++ b/foundry-osd/general.md @@ -36,9 +36,9 @@ Validate custom drivers on representative hardware before using the media in pro
Configure platform, Windows PE, deployment completion, and driver settings.
-## Protected deployment +## Password protection -**Protected deployment** requires a technician password before Foundry Deploy initializes. Enable it to protect the following deployment data on generated media: +**Password protection** requires a technician password before Foundry Deploy initializes. Turn it on and enter the **Deployment password** to protect the following deployment data on generated media: | Data | Protected by the technician password | | --- | --- | @@ -46,18 +46,18 @@ Validate custom drivers on representative hardware before using the media in pro | Autopilot certificate credentials for zero-touch upload, including the PFX file and its password | Yes | | Autopilot JSON profiles | Yes | | Custom Windows answer files | Yes | -| Zero-touch Domain Join accounts and passwords | Yes; Protected deployment is required | +| Zero-touch Domain Join accounts and passwords | Yes; Password protection is required | | Embedded Wi-Fi passwords, wired and Wi-Fi certificate PFX passwords, and network certificate private keys | No | -Foundry Connect uses embedded network credentials before Foundry Deploy asks for the technician password, so automatic network setup remains available. Anyone who can read the ISO or USB can recover those network credentials, even when Protected deployment is enabled. Restrict access to the media and use dedicated network credentials that can be revoked. +Foundry Connect uses embedded network credentials before Foundry Deploy asks for the technician password, so automatic network setup remains available. Anyone who can read the ISO or USB can recover those network credentials, even when Password protection is enabled. Restrict access to the media and use dedicated network credentials that can be revoked. Foundry accepts passwords from 8 characters and recommends at least 12 characters. Use a unique password for each set of deployment media and store it using the organization’s approved credential-management process. -Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or files staged into the installed Windows system. +Password protection does not encrypt the complete ISO, USB drive, Windows image, or files staged into the installed Windows system. -[Zero-touch Domain Join](domain-join/zero-touch.md) requires Protected deployment: the join accounts are unlocked with the same technician password, without a separate prompt. [Interactive Domain Join](domain-join/interactive.md) does not require it. See [how domain credentials are handled](../reference/security-and-credentials.md#domain-credentials). +[Zero-touch Domain Join](domain-join/zero-touch.md) requires Password protection: the join accounts are unlocked with the same technician password, without a separate prompt. [Interactive Domain Join](domain-join/interactive.md) does not require it. See [how domain credentials are handled](../reference/security-and-credentials.md#domain-credentials). -When Protected deployment is disabled, Autopilot JSON profiles remain readable on the media and other embedded deployment credentials can be recovered without a technician password. Treat possession of unprotected media as access to all embedded deployment information. +When Password protection is disabled, Autopilot JSON profiles remain readable on the media and other embedded deployment credentials can be recovered without a technician password. Treat possession of unprotected media as access to all embedded deployment information. {% hint style="warning" %} If you no longer have the technician password, recreate the media with a new password. diff --git a/foundry-osd/media/README.md b/foundry-osd/media/README.md index 31867f2..5769a34 100644 --- a/foundry-osd/media/README.md +++ b/foundry-osd/media/README.md @@ -8,7 +8,7 @@ Choose the intended [deployment profile](../deployment-profiles.md) before start Resolve every blocking readiness item before starting. Checks cover Windows ADK and Windows PE, architecture, language, boot-image source, output paths, USB target, media options, drivers, networking, runtime configuration, secrets, customization, and Windows Autopilot. -[Domain Join](../domain-join/README.md) must also be complete for the active mode. Zero-touch needs at least one domain, an account and its password for each domain, and Protected deployment. Interactive needs none of them. These checks do not test whether the domain is reachable or whether the account is allowed to join computers. +[Domain Join](../domain-join/README.md) must also be complete for the active mode. Zero-touch needs at least one domain, an account and its password for each domain, and Password protection. Interactive needs none of them. These checks do not test whether the domain is reachable or whether the account is allowed to join computers.
Foundry OSD media creation readiness overview diff --git a/foundry-osd/network/README.md b/foundry-osd/network/README.md index 7f3755a..2a93590 100644 --- a/foundry-osd/network/README.md +++ b/foundry-osd/network/README.md @@ -8,7 +8,7 @@ Configure network settings that Foundry Connect can use in Windows PE. - Use [Ethernet 802.1X](ethernet-802.1x.md) when wired access requires enterprise authentication. - Skip network provisioning when target devices use an unrestricted wired connection with DHCP. -Only include profiles and certificates required for deployment. [Protected deployment](../general.md#protected-deployment) does not protect embedded network credentials: anyone who can read the ISO or USB can recover them. Restrict media access and use dedicated network credentials that can be revoked. Foundry Connect uses these credentials before the technician enters the deployment password, so automatic network setup remains available. +Only include profiles and certificates required for deployment. [Password protection](../general.md#password-protection) does not protect embedded network credentials: anyone who can read the ISO or USB can recover them. Restrict media access and use dedicated network credentials that can be revoked. Foundry Connect uses these credentials before the technician enters the deployment password, so automatic network setup remains available. Use [deployment profiles](../deployment-profiles.md) to retain network settings and explicitly selected passwords or files, or to transfer them in an encrypted package. Review missing credentials and local certificate paths after activating or importing a profile. diff --git a/reference/security-and-credentials.md b/reference/security-and-credentials.md index 5c4e803..e71feb2 100644 --- a/reference/security-and-credentials.md +++ b/reference/security-and-credentials.md @@ -10,7 +10,7 @@ Depending on configuration, media may include or use: - Trusted root certificates. - Windows Autopilot tenant and application information. - Certificate-based application credentials. -- Protected deployment and its technician password. +- Password protection and its technician password. - Predefined passwords for local Windows accounts created during OOBE. - Custom Windows answer files, including credentials in their settings or commands. - Device hardware hashes and registration artifacts. @@ -23,17 +23,17 @@ Depending on configuration, media may include or use: - Rotate certificates before expiration and after suspected exposure. - Revoke credentials when media is lost or cannot be accounted for. - Sanitize logs, screenshots, and issue attachments. -- Recreate media when a Protected deployment password is lost. +- Recreate media when the deployment password is lost. ## Deployment media protection -Review the [Protected deployment scope](../foundry-osd/general.md#protected-deployment) before choosing credentials and files to include on media. The technician password protects the listed deployment data; embedded network credentials remain accessible to anyone who can read the ISO or USB. +Review the [Password protection scope](../foundry-osd/general.md#password-protection) before choosing credentials and files to include on media. The technician password protects the listed deployment data; embedded network credentials remain accessible to anyone who can read the ISO or USB. -- Every retained [Autopilot JSON profile](../foundry-osd/autopilot/json-profile.md) is readable on media created without Protected deployment. -- [Zero-touch upload](../foundry-osd/autopilot/zero-touch-hardware-hash.md) credentials can be recovered from media created without Protected deployment. -- Non-empty [OOBE local account passwords](../foundry-osd/customization/oobe.md#password-protection) require Protected deployment under Foundry's security policy and are encrypted in the deployment configuration. During Windows Setup, they are written to `unattend.xml` using reversible encoding, not encryption. Treat that answer file and its copies as sensitive data. -- Protected deployment does not encrypt the complete ISO, USB drive, Windows image, or data staged into the installed Windows system. -- [Zero-touch Domain Join](../foundry-osd/domain-join/zero-touch.md) requires Protected deployment; its accounts are unlocked with the technician password. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects the account and password in the Deploy wizard and does not require Protected deployment. +- Every retained [Autopilot JSON profile](../foundry-osd/autopilot/json-profile.md) is readable on media created without Password protection. +- [Zero-touch upload](../foundry-osd/autopilot/zero-touch-hardware-hash.md) credentials can be recovered from media created without Password protection. +- Non-empty [OOBE local account passwords](../foundry-osd/customization/oobe.md#password-protection) require Password protection under Foundry's security policy and are encrypted in the deployment configuration. During Windows Setup, they are written to `unattend.xml` using reversible encoding, not encryption. Treat that answer file and its copies as sensitive data. +- Password protection does not encrypt the complete ISO, USB drive, Windows image, or data staged into the installed Windows system. +- [Zero-touch Domain Join](../foundry-osd/domain-join/zero-touch.md) requires Password protection; its accounts are unlocked with the technician password. [Interactive mode](../foundry-osd/domain-join/interactive.md) collects the account and password in the Deploy wizard and does not require Password protection. If media is lost, stolen, or copied without authorization, revoke embedded credentials where applicable and recreate the media. Do not rely on the technician password as a substitute for physical media controls. @@ -51,7 +51,7 @@ Support bundles never include a file named `credentials.bin`. A copy saved under ## Custom answer files -Using [custom answer files](../foundry-osd/customization/unattend.md) requires Protected deployment for every embedded file. The complete XML is encrypted on media. Source files and the decrypted `Windows\Panther\unattend.xml` on the target still require access controls. +Using [custom answer files](../foundry-osd/customization/unattend.md) requires Password protection for every embedded file. The complete XML is encrypted on media. Source files and the decrypted `Windows\Panther\unattend.xml` on the target still require access controls. Custom XML may contain passwords or secrets in commands and extensions. Do not assume Windows will scrub them. Keep the target file until its required setup passes finish, then arrange cleanup through the deployment process. Do not include raw answer files in support attachments. diff --git a/start-here/quick-start.md b/start-here/quick-start.md index 50ead60..7515e6a 100644 --- a/start-here/quick-start.md +++ b/start-here/quick-start.md @@ -14,14 +14,14 @@ See [Windows ADK and Windows PE](../foundry-osd/adk.md). ## 3. Review general configuration -Open **General configuration** and confirm the deployment settings. Review the [Protected deployment scope](../foundry-osd/general.md#protected-deployment) and enable it for the deployment data you need to protect. Embedded network credentials remain accessible without the technician password. Follow the organization’s removable-media policy for every deployment image. +Open **General configuration** and confirm the deployment settings. Review the [Password protection scope](../foundry-osd/general.md#password-protection) and enable it for the deployment data you need to protect. Embedded network credentials remain accessible without the technician password. Follow the organization’s removable-media policy for every deployment image. ## 4. Configure only what you need - Add Wi-Fi or Ethernet 802.1X settings when the target cannot use an open wired network. - Choose Windows customization options required by the organization. - Configure Windows Autopilot only when the device must be registered or receive a profile. -- Alternatively, configure [Domain Join](../foundry-osd/domain-join/README.md). It replaces the active Autopilot mode. Zero-touch Domain Join requires Protected deployment; Interactive does not. +- Alternatively, configure [Domain Join](../foundry-osd/domain-join/README.md). It replaces the active Autopilot mode. Zero-touch Domain Join requires Password protection; Interactive does not. ## 5. Create deployment media diff --git a/troubleshooting/domain-join.md b/troubleshooting/domain-join.md index 3b35ae3..12935b5 100644 --- a/troubleshooting/domain-join.md +++ b/troubleshooting/domain-join.md @@ -32,8 +32,8 @@ Each part of the outcome (join, placement in the OU, membership) has its own sta | Message or symptom | What to do | | --- | --- | | A domain shows a missing password or account in **Status** | Select the domain and choose **Edit**, or complete the **Shared join account** card. Each domain needs an account written as `DOMAIN\user` or `user@domain`, with its password. | -| Password protection is required | Zero-touch needs [Protected deployment](../foundry-osd/general.md#protected-deployment): enable it on the General page and set the technician password. | -| At least one domain is required | Zero-touch needs one listed domain or more. Interactive can list none. | +| Turn on password protection on the General page and set the deployment password | Zero-touch needs [Password protection](../foundry-osd/general.md#password-protection). Turn it on in **General configuration** and enter the **Deployment password**. | +| Add at least one domain | Zero-touch needs one listed domain or more. Interactive can list none. | | The passwords are empty after importing a profile | A `.foundryprofile` export never contains the join passwords. Enter them again, and set the technician password on this PC. | | A domain cannot be renamed | Its name is locked while it lists OUs. Remove its OUs first, or add the new domain and remove the old one. | | An OU is refused | The distinguished name must be an organizational unit of the selected domain: it starts with `OU=` and ends with that domain's `DC=` parts. A container such as `CN=Computers` is not accepted. | From 25a7a41243e7262495e8fefb96b3f53887cf8be9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 21:24:20 +0200 Subject: [PATCH 30/31] docs(domain-join): add the Domain Join screenshots Replace the four screenshot placeholders with captures of the two Foundry OSD pages and of the Deploy step, and add the Zero-touch variant of that step. The overview now shows the page before it is enabled; the domain and OU lists are shown on the two mode pages. Co-Authored-By: Claude Opus 5.5 --- ...ry-deploy-domain-join-01-interactive-ou.png | Bin 0 -> 56609 bytes ...dry-deploy-domain-join-02-zero-touch-ou.png | Bin 0 -> 49721 bytes ...undry-osd-domain-join-01-overview-empty.png | Bin 0 -> 202897 bytes ...omain-join-interactive-01-configuration.png | Bin 0 -> 208722 bytes ...osd-domain-join-zero-touch-01-readiness.png | Bin 0 -> 238365 bytes foundry-deploy/domain-join.md | 15 +++++++++------ foundry-osd/domain-join/README.md | 12 +++++------- foundry-osd/domain-join/interactive.md | 10 ++++------ foundry-osd/domain-join/zero-touch.md | 10 ++++------ 9 files changed, 22 insertions(+), 25 deletions(-) create mode 100644 .gitbook/assets/foundry-deploy-domain-join-01-interactive-ou.png create mode 100644 .gitbook/assets/foundry-deploy-domain-join-02-zero-touch-ou.png create mode 100644 .gitbook/assets/foundry-osd-domain-join-01-overview-empty.png create mode 100644 .gitbook/assets/foundry-osd-domain-join-interactive-01-configuration.png create mode 100644 .gitbook/assets/foundry-osd-domain-join-zero-touch-01-readiness.png diff --git a/.gitbook/assets/foundry-deploy-domain-join-01-interactive-ou.png b/.gitbook/assets/foundry-deploy-domain-join-01-interactive-ou.png new file mode 100644 index 0000000000000000000000000000000000000000..d48240190d9cbdf2982c599a20be4aff607258d6 GIT binary patch literal 56609 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
(4JHI10Eq3cX;UNFz(t;zblbiH#Sz3A`92P$M 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 myIfVdz}LzaS#?JpRSqX{eB#3MA6-Zu}o+7%t-g literal 0 HcmV?d00001 diff --git a/.gitbook/assets/foundry-osd-domain-join-interactive-01-configuration.png b/.gitbook/assets/foundry-osd-domain-join-interactive-01-configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..8a05b015b6e83da47cd6bd24ab4db7d6fc54d4d7 GIT binary patch literal 208722 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%0A!2QC zxa^LQuV*e`jTh)V!Jv}#Aro`k>s( z)oGqI)s&`W9S}mFF_l}u?0gIy2u1@>v(8FJDQf-!E8=0EiVlsA_vodsW*$B?ai?~b*F=NG!Zrl zylgwvdta#YZmd9C6GipN)K_u8Yj>KCvVW)f;|FikHhZhNA|){acM{D#!Cx*mx+vjq zPe_iyXG*wcxnHZ!kUuJAvvwY}y9ruR?C50Z-RlU8gaD}BDffOiiPjMZtFP^dFBN?Y z>ygwYac*?mj1sj<`^qJC7nafN*s+)&vOK-Sc(7rH`ENIm=Hj7cD%Op22 zB5q<1owr>P#GL~m;&I7hZEl;?2}xz$H2~tK*=mt7eg7G7HF?D8Sd2q6Ry&Fx3tiNd z+~I}8T~nf~wv4ssC>{w2ri?_YMfK|-``k=d0k;KNC^vkrb%Eoje&TTaS9TX3cC*+g z;}A(QfPs;nNz1aQ%zM%M^&77**1W$viIEqK6I$!=1Ot$~+66{8yj9J(2x+>1 z=wHF@=dQ$?&bB<7?g7EkH_0b(iL0`v{ajMy@~ykoGSDdNzTO|~)ZU%_>38ep;dk=< zVc`EhC(C+crN(NK%s3tfy>@9%K?+`x_`q}l{X22j0R4KCWWc-nsT`k8-Wdf*m|a53 zl5`_<69U056_rN|IlURtVrF9Aya4`#^NM~k{0S9!H&JbQt@4N%XspI4QObD%6b_`5 zNZW@K?FI;H8EBpE%n}Dx`GT5kKbI~?Q%n$o;wBCCdy2m&hc;iI^)56O8@JNXcvrRF z#FMB!lM;DpB_xiW$!Yv`dcWzRyZyroo~jMgF4Q5$CgJYxQ*w7wEexd_TSJ zKqcb**s zG+49mC*dhpMpxl!o)Q;hQ|Oq4nVa^w3JS{ zrs0y`15+w3%~04pON(uRthyys7>hG@q6{qgI2ja20&4@tU#vpmoo#{sKVWG2qjHSb zKAo)MVm_|~?PsDU7ruol&{BT!JSJT{6=F7BC~fUK43-vP)&P4U5KSZO;g7 z=Y9@9&xqvUCeDE5?#V4NPz!iMJ_KSo3gy7Am)f6?w$(1|gG*-!`9CUY{E0p9V;4{L zpw9ZTV!8)FvK{!yG;)+;#ACNY@$L>oZ}tHd8OEPNLL&riqR)uZss@Rrko^qj{WXB| zu0@t-ivXxiyHD7D>Ab;D-MO>2fgC_Wb0q=aHLHqJL zKp_XaC>^_)Ooyj&*_*JTE&cAP15OwG^F(x-IQ?X;Jf_VjKAck1k=Uap$xMYf=8OZ& zzwMRw4-By9)6>gnNI1@8;mn9vy zdr)0CN#l5*?>)gld7d}d?S+&aZD*d(^E^$Gkl10p#9iBr`g|F5YrJ;Q!o zMeKEVDq*?%g5;P88s{NgT-L&7Ynt`&jvrK3>vN6jwS(ki9cTB z`2%#dW$T?+owm6ohU-U93vQv3`Ylu}OdUYoVsol-Uzhhe=u*a$e|9lX&}J<9#0W+6 zzqzFN)14B7N*)Wy>+S1s#ECb7BBTgJ$4IQ{Q|RVCishO(jBc-2?+|4O&yn7IAGUJEf0~`x!nb^b8TK+$&F?^B94r-=_Ul26%=E!CI4o%33L- zq>rB4?P!LIC&`gHM`}UNhaPMZs|hFP(J=d0KG_qzjkm*`9c3WWhXhWplCGOF(1}X; zE~rj);f@Ca1p{v z#rhyB8Kgo$n@)OE8fBih==(dV2lFkAL_b%$#NbLEnmr58n!5w)I;xKhdWiRp2-IJ* z>M|pED&&heinUY92>RuXB9u#cSEdiL_}#)&;}eUtCt;UT6ti&@uF9x*;ge%CFr$4+ zv~`bJ2zC35><|Tt!}vEv#z1<&BG_MNwyYdFI4F39C)p1?H<$h`c74+Y=n3J_zzMki zF3V6*c~#Rp|JEI^4}V-x@*_teSq{%`e1*-+s&DL`k(cG|@`pVP{n1;9S==>C!-oYj zkM_b_+dNU%6#e|x4tZsqS5~2uiQt-|4eOzN1npsRjv!USqO5gXxen)0NLjp`(ZI40 z3(aj#U)6M%7POF!U*4=|b8-LD`jt}9ZB|~%A>V~T-L%6hDIp;d@Y4XEIgzBRi=8yy z9D`7!V@Ch!$u0Bl>E;&<42-~AAhGD+VX-ui93J*lmeb&02$m@XcI4dx&T|8?*_~7w ziwIYamPvbz>{r$89GH>Ftv6LhH!FeWj9rO5(Sph#9tWZNTUGq5e;*A9Kp;7_8c4$& zXKgCXv#tLI=C_e#J&}{_3lFQnC3R-Y=@eU9;hrd#(D08kZI&xnZ6hAQ=P`OMvVh3X zArq*l%h#P8ans)Miu5oAHo}EK=x1U`r@R0HuQ>uzlZzrfX=l@W9{+LdfQZv=R@w0Y zc&9IGu}s`1l1!+7*V54Fx!2wEG!a4&`LYZ*=!I}wwL%fkp@cfwl%dmK*3io;*tcE$ z*n+wbMJjCU$ytnqH57A@k76cl7durfY9E1{S*tV;&Ze;Cu)MLqe(1dZpL=HY=%-)* z&n2D#vj|Fi_c#odKS`SHj26VQc>Zh_JJd$K1TW-wsc3(pRxR5phlA>iA8o8S{+L2H zMH8)5knFFC)DW{;!NM1sPI?Z84@e3w8$`B$-~aXTHr0$81gfW}!>*?q>t#P9-WN7_ z)oY|)!0~%G(IP_QGN69~3ODOJ!_{oei`zHPeb|s^E);F7BD|bGB;WomnP|_jq*}o) zKGWfyu>s1lrkQWH6p8%u(!+t>uaKEq_c0mr&nv(CTOJb@Hj)VRkLOny#HMtc5}RGO zcSt@Vwp2K=hu$;>xN{hL`r_Idd|#P07s8nVJ2t9D%>KGsb}~YGk(ZH2b2nco%{hde zn%7l+Ls?ob&Dk0rK}6Ac`u~ek!c*y(kAo>M-5Bxe$ke9H?do?w0yE2Hlm%wi)HW+g zL?%wVYvQZUyDIG9u3Aeu|DE+jEz+WlOf|B&K}~;BY5J{6?l@>AkJz2PB|25cJ+xO6 zSSp5y5Y?f}CMDxE&_gh^G`FS~YU~mrujoyE!A8HmowRP^R@*uoWvfYXp2%}fzDkF) z!xP(W7NOe*`I)8p-_%OC_leBkC)_qUxfx z$MzEel@tUlq(MYLa+Fk&?ivIHB!}*>XaSM#2BmxGkr+~1I!3xA*r`D!r{ENI!O|IWDEkq3M(qf z)j{$`2_3Z&B4Y~L66;r?_3r%eQAk{za;Au({DEtrE)Fne;a`B+P?}A$x7XYsE~p?^ zQ#lKk5DPR3cwJ2}F6eb-dwr^Gq(U7rC8K9v^el0tR{64(Ox7#Qe%^$Zv>hrdlKEpz z?nS!tlAcAQ>~pM^c~0@GGAvMf z%G7Mhf?trG%fpFn1+J_*qdWltiFosSf)@p)*`5QzYOZm5ly9s>yR$BqS75#;i7J20 z*)U+n9P{GQQ27v@=1Yy#9P~#HKN_D4Bi1(38yccxZwe*TC<44B)(vtg5=q0oc3Ynm zfQmsWN}El6EQT!`HQ9w~!4ggyPlZ*25h2xGYsci@t=Ktkx^?^e>XGTZyK)ljQi`%E zkk8n&>GM;M?40GX^XfBDf$ySEWkOu(;5O4Akb?OVy^MlEwbrlUXKdD~VA5(yv-1sb z%oll$gz6ub9f}UuX{&lR7~QM1(ebZl>bd3O|E9FjY4vGVelAAy(vfRHQm4ETyky`7 z>o~}F04S*T{qN{k6qcRwR`HTMd>3w3H-qQNam57-;2zQPSWS0M*Hj3657^6aFiz1M z$!H51Ep^KvtcLHOH)5}My2GW>R0Y>D@xE>~oX=KReasGfZezo}x#HkY+oCD6ad$(v zW?Rx~st$3mH|1AU>^S2e`vga&H$=SVvN~cRt5TYfAMx~!=s*zD?qKMS=cf`hQTlyQiLWH6 zxYhAQL^+5E3exaf4nNP^>A_Sj`5Uh^k=v=CbYb2uX8MY81ZK;m-GRe?Ei!qxs5U24e3p`Vt?eIr<1=N%NhH2*H}xF!_^g=&arD^^ zR@uHnTX8M!z=K4#{J-qSDQRbJBOMp>jXO-9I?TTn`YlG@c1{Zq3-?|YP1dTrz5mrw z6|M}ImTptp{8Ae9&5*i5V5@&l=DKU$A#YK0^6igos@Zu>nR&8d3G@3`KJcybt85%7 zJRZ+53#0eN3uEupz5pxsIw8|@U#MU^S{=)vufdL9;>bZmPhhh@c}8*Z4cRb83K!o2z@xdTN z)b+}=3S>JX#%B8h6t*r7ry|;?;`G|79?tpLKlgD&|IDj%JK0aFDo>JeLXV!mIb(PpJbf!7R4S?n? zAm^2K7WaO{a35DFW?Vx1I+`q6l|42%Yj>3-QYcpt8 z$Pp1XlUdi<^4jZj@AFkoC|a-z+zK3J0iyX*QF!NzW2k)0PI(g3t4J?UdggD>l5`OU z+U#5f?S52V|>Hp$sB^x0qk2 zs{Q;vyQzeKcTclAKm^p;{EidBHW_ip1@_otR#G9wo8jOc8>mB1ACm**wb*1w=7`xk zVW(f@aKx{u1pMe(J7ZbLXUQJVuj*5VY&x`q^x*2m57_qHVhDaM3OA>A0*DAS9jH1a zO)1dh^w+Jo$TFq-KKo1%kYx1z4X0GGJN;IKDz^*XlXd63w$?JP!QTV12EX*IHH^Ar zx|d7kXZ{kulV|iNAgAQrj4Zwc()zs`+)W&FZTI15cG%x2oH1^0k(6$MM|=_de_^BZ zFmnUwGfBT;SDM+9w>eb|Ki43IZtJ9A7GdKGy zk0&g=nFkz){p~mxM%h+o&LD13a-*n0RHny$$5bA-nctyRwi+QNoN%jc+GlHO^(ke% zpk)vnQvTNx2X!t!Cs*!8@8;CJsMS=t!eqhtNSOyps=-vDHNHqZ9MyYjOAQqNBgWO+ zKNCBTBUWuYbt(D?iP;?ja@?JdCSGu_Ejo?X9MSXYSWOW^2#}Hhm;dBqCf^jV-Zj7B z0FMt$7F&-TLKtMeDS6T!Kys=P3YgCH^>00iJW0lUZ23o(?5hhTMUT6is{h7*(|X1s z5qOI?l3o4vq_r+!PL$Lf@08H?s@iY1hd*fV=(s89|9y?5diH+dm*DD|nyYU9pNk-Y zsp#ce=pOy?M_#RSX7bm^FvDMSr^+ZBhWW+C^Duh{hyJSmG1s+_|FVNqO^>HXu8=Hw zeE`vc;5v5o`3)A${D9Vwp4Jw@M-YShUAN*yv$?FN#i3W!*WGEYeZqV4m;#pSb;7Yd z)+xR0t*ZG)HS(N29Vss^1os|GyyjM`aoU$*`dp8NBGC1}dgn0(f;rFiC3p>`7Pd2y#@#6SiZN%~@8 zqgi^MxsH#k7(1@5p2V-4fa3wwZHDbyx!LtrN|t+& zS1oknpzvzZl%fZ}j_^*(0-c%yFSXsbt>>L-56>v%OpIbv)tQufrwdYXlxiHG9)Hgx zsdf*py2V4|0M%j&B2wtlyu8oX!amW-c{7lTB@k=7MN~)11R$p724)K zI@Qe6Fdk#!C^no!&s)Qa*CVL#YkBH<3mY2~1|NO)t5p&2Ckf5ebx(=v*F8+X+>r(F z>R8N`DV|?MR$RdmvtS*bkPzI|Bw>YZxPackh8^wDoa;b-d`*&k$z#8L0g6T8CWxoc zpM*4i4(hsR4unVa;I}INlPahp6|f=*EF4}qA%D9u?i7TlfveD7UKlBRw_<;U-CG+` z--wuWmLosHCiooQ1h6Cqi+_8S7&W&dm9@04KAgw_Gfj#v(JnJ}f+S-Cwe?1b z5e5nv1D29+|Eqze%~BXK$Z*F3Jp0r-{?Ka)dPU-lEa%BP=4h|dTi}V5$wsP_C8v;! zI(FSd8(<{sF1*#CL}MxG{kqfh$%l_b9r!}|PjO}c9wIU6gx&mc%Z z?cva4v`LuFKTC{`VHGnxa(K=CESH(OXW&eR`{vK;%5RpH0URZ$*shNA;nnM6isdYh z%K2ftU4IT5#1GwvUVruSzBrB;xLj@GP;%tYh5s~NvlrM#jjGQiZ54-~52o>6A3zCD zsTZ4(7uKyZEf1ZLO-|+TaHH`SLlV~d7}Q%9#kkPg<6X?88_9w-%vLj{0dI+qT*2=* zerAk0J6+H;$e80#dc5h2ixo8y7Is<*HA%?_^!&>(QNo8i8V|Xy^IJ{ciqUr?)hV}n zuvMGadm1b3^(b2*C6I)>=De5(Hn8@1GAy}%s|8-T^@ztRS+C^2`+k-3O^)qfUS9K< z0#Fp$2a+Y0|76vAdIm>ZZ}+$D^sNoIpsungy3xDrRWms(aVcROG*eC%M&{X&EU49k z56Q7jP5YN;wI|A+G|_s>|Ctqg0(3Bu8^L`X$Zba z4^kUmR=jUx1?4DHi2EBS>XRf7nQ|sqjx84s=morkEsN0qiMeA#M7G>uf{q)39ECNA zy^v|J1oVlhXn-0pSsR6zBrnEar26i&;cZv)_LmkHp;e{ut)ux}|fDRh1;-$5pPIPA}GW=6xpAwX^~n$i;)`YxW~| z_??b9-O#Z-g8ax~wTcg1sAevi4ci35*2T3`X>QAy5-Jp#id{|*5GwT*s1?)c=lUbGw-`)TRT2b zIv66K;Qb9ND7yCM2n&=@ntLR^tXC|o!cx^|t=!;@rPy-B#;%NPMaOco4V+$Z+?sRf zy0E{&6SKC7Iz8dt^qtKyeyZu|;MPBDqLp!&&Hdd@&PNIc(-$!)8nsLoRP78+9b)@F zQRCd8ut(YlW&qTCb@=|(uXUdL=#2?J4a7KaT#`5csAN7(z<}bh90CzsxPOj%&p3!h zG3g%9;)UmV(Ohan#cNAbRcV%r>&HSBAt_7;rG%|I(LLjs4K0-SgGDYSc*p!t!``gL zt_%7i=H;K2hV|iFtry6(EwAvc4WE(hERvWo2urY9It+Pt3h2yb4!@Ov2umcJY35hX@PM$iHJ;R2a9 zvJKpRc?X^ssi=BJoP_HB|F0Par{3c$M@L7wr&80~`+EO9+0gv~DWOg^E;PGoZ+y`H zM$z*&OW~QxXd1)izL`U9tz}D~;*ab);alS&wI{n6F4R;AgGdlf(kG)yk~xgLRz^vx z`N&WZiP5ZP%J^o}zX&a$tT1gH95l{RB>gw2>!Q#Jd5+6{ z_l~eR$vQ&(KAon;lE$g+y+w~~&cmJx*QOD+fT;E9UpFXoPFkHvbtj3xbm>e^`@_W# zprRBxQ8EY5_45Fe=wJ5V9$P&y zSh?_-5!5>aR91$_9>c#-cPDfh#tT?~?ayd~8g76>+A9xaMT036ScB;*R^M)`Hur&| zSo=d%j(qExNIkXtZXH!YkD}+?#sbX{mdxP-k9lTvy_kf@F}?4xQlW-hoV>Z_YPzmrF*m#&%bbIcXUE0=c4Z}3KG5t;P+I&7CH=b&j;rBzk%#To@ z!PN=(JU&39^7garbI933JPbb(uD-+JIy-%*Xbim7i7tFIyd8Ym^}YoOBRO^B2o=Ke ziiLUwO`C~~bi}aw^2svk+g@ zX2E{X8`lrbA`x!^oXcE%-bBU*Gff(xG{BS8&_0b+8NWw%mr=DYsCnG-N<(A49sv|A@{OCH&L_H=UbtJm3~FwhOF&Wk`gjFNnQ8rJ_q{(@jZX^Z-Lz9h z*;ddLo`?oXcvTtrX||z10KEU$>G=AaIJ^L8`hdv{ESdrIk8+U>!;s*GEuUgIu+|^D z;Z`p|eeL#sd0?!VC426Q=iF1)@{`YeE1sYGL&0px6J+e3)Nf3Ptt4J&$hi&GXF1?{A0{n{K$fG3=EO2GPh5&ZzODhX-pR8uA zY?5NRghT|QbaAft+T9-9M}^!GiVv<9uU+dAu^mb3OevkKvh)Wn$t(r^@)j35NOIM8 z@GVoLw$6liV=Uk>w;7raY(qpOmo7C={WA?jF(Y9f zHYAvnNk2Y@IjQ_AUhg1bsq5S)9+s}ev>B5o8%7T~SpWrI@*`v5_7OorPDpdB&rD}t zAw~&WL_&ue0{`?pcpaaE!Vz}Bs=(F^p7qSv%l&L0222T>f~%CN0O^{lCNy{J-D!4zpb^_r&MnJTIBsJ1mi}< zXT$;vdL^$mrS$XQM_(_0z>hTfInbQh^}OtvSMP2HSmRrc2YEmuD<@|Q_KYa_%NH|w zfK3Rgu+-=%GLfS(oNW>8%Y0?b%X;qp;G#sixkFlUlyRmy8MXb?53L1K3c=Yj?xNRJ zb`%yP;tZfwh=0{ssX`L+&Cw&)UJhBuFa7L3uAtwD_f7JX=51zfqJ@3mx#=YS+ivO#5m@xj zv_HUw$R8kYg%w9$qGS9VuoUVz&r%7`@t5(}*lk2=+}xkCDLV>`|Q9`2=4#7zvTh5{fj!eg0Dnh9+n8=h*N2 z-gQ_z*LZ_g%;KU<7~MUaXs3@z+4K#olb`Iope%KHHH{JAC*O2=^-_3reT zl=jK|t0O@N5$E?|poI<0Jo@ROzNXN*nRhK>`LfKX4y^f3^Swv-okFNt2LBqs-#6v}~v1Nl7%yVVpN(Oi*CKSh0r_Z{m?a_VAr>uhPoBXZto z)+2}46C<5ncM3Z2gHUsd#`!=DdXK%Mwx9^72T9A+CVK%+U z3_Aw7_S$`a*>6k0Gmz!VK8?%DAk!VSPD50MrlgYg)~DsC zhk!>~ZsSx)Xh?m28W{;}qCD}SgNkEzN;`tmWA5_Cw`19xQaxIC^!`!o>4d}ed09G2 zM^lmya?za9Ws6)T?>ba)O0SzGPmhiNEc1?5TGtYekJpBt+5UwA93p$&rt3SiTtArP z!!4h);My$}afxSi8=rWuDS+(x+Unbc}!n( z4`rq8d30nCVapJD!KUU@CRH)vu~3gqFPN`CnPKO=AcRRpaV;4F-d#%amTt0k@W}g$ zXM|4i*|^k9lvw-M&bg$I7nr00u?QSO2VO9}Ll2@U!pObJoL2cIlH5aV&pw~xApg`Z zqijKz{j3fseYhYUZ2Na{qtR~KeeO>U060c-5?&&%PgPi=R(0bGdPHdQGz)&s2Numj zG-gl!PpxNL7a;%NO+EMRKtfTwVS!GKRdr$*U`IT+r>{fU6LA|(4d~1-8cS3>wt@fa zZ&)It*kcb{T>&3^4IIB5!P4-FeA7@kg>1-G za5<0&J;9+TMgqdQrf<9?qk5NQLOH~#f5lg|9YOxr~UCz~B4?AZF>m zmwK;Cy<=Y``S60zVUbhxPZ4_6>F=*|ys^e0{qnz|Jk1!af%8~aE-1-M#VR8EO=H#>BSC}CUD^>D_2zG~VB zS-FavB!?4jM04ps%*h}uZjbZlshvc%6@u%4JGDvE=m!AHlLoL=dtSVM9A9?FLOi$^ zFjbNxh5EoH22nz^KjXJEu4tADM0Uojh}o0KE%X7I-}T#H-5lVpz{s|K-PlwqRst;-AC1H3a0<=eJOriGFAo4rQ+A{fChgF}E2u$$O$ z2~L3i&gjNqu&{sqP^?Cjy)W7)1oO0kW@zd&QMfmWPnj2#JFK}I?ohBW+eB^wFgJo2 zxxGjCR3b#jsSjUA!h7tt7xF5{m7XnuHpO5};>e#QkjOI}d?rDc=Bh4?|b#)cVT z;29VD^ltUl@%`@t0PkLAbUQrfb^_e+5{Lmji2ymjfH9H&KWvUauhy6>=4$mz)&5yt z3uYD^jzr%~0=iw`toRa8T1pJ6lRieE%h<&?N#d#%w39#(AvLX& z5Qz<{upH@fi(H)p{xlW#je0K)IL2aw*>g8h%p{O1Rp-~Hr_)7 z(Amm>syoX1O4D%(9VVU}1}Kw1V$56XJ0C1=mQ(GgdEx91jd;vph-F9gk}HV?L;ydbq;&0Fr3XhpIo{P0q8_^HO1T z&4Y10$D7c3D6Aa~yV{Qrn}RH$#jVp4185W$>UtW2>H{ZRP1oHH6UP^`H(VxNoy*=7 z>z`S*ghExj)hFDr=a3z6SW-AjnCCO=X{yjP2;qX;Nc-m%{rl{p<Qm8%V%032^2) zScXhk_*ua_Jsz-mghRXl=EFxt02Unnb>th?b&eAy`DjJ-qy0`K7lh|1^_-craAU4SVm|Tq^rV#p-UkKJ{byvG; zHg^pNI7*C2MOl!@iRcG#TC~;Ktn}dj66q9>Oje9wGrcoQz5AzbhMmLFLJNgka37-Z zJJDi^%Q0|>gq-VA&l_s%aC^dNI2H2}*)6yRoIOtHA*LTJxB$;Ul@Xcr&D9g1bO7!$ z)jdA5_*HB?zSK8mi4>CVh#m6th6(0XF$POcGL%l8m!2!f^d$9d&B#JBR7Y&pJ>0L| zg26Nqc0!B4!%JW{Tqb>MoL1kq-`L36tUo%ogk+jb z(;(PmtCq=W?N1}bJzjng40?h2`w-@I2nXmhOzMk3VV+U_57YHX$td=mnbIz93|LG- zg9;*~VPfLX5p_vI4$(Iv8pJ$^{^1WO6jkp$eg7C}0$#HoJ<4_NU&nj&+s)Bj_y^$= z<<&PpO~AdjGbJ?fhf><7T=dH$R&Z@ndV$$|KKk|(siL}Ly33?=`PY1A|6>Vgd>S_t z>{t-XXU08Tr0DtI-{vrJnT_!Zb=^r%I;Y%7d^R-k4+ha-d0sO`X zu0Da)S-bDdyetmvkgG<&<^s`=>GprW9NJG$H)eGKiMawUuBv2t5HSYAXn)sR1Kaj` zj+Pk`H5Q&GPCUVpRs(sK0kB31kn-2asqXU>T?4O#!yjq_-V!Ha^$YmtP+Tirp?q|s#`j2ZnQ&8#2#eLSO(rVt}QcNAh_Ciwxnzp2+5>Am@t)-6IWYWxYt}?EfH8(TzUsMnndt!_0BONQpBMB( z>yY!9VnC{2JH?4COMlmKYZMKym!)D^-K(k^`vZ|*X^2=r&T{ML7w{+NJl zxVdD|CqwirreHA`q6JZkI^x?135o?A;>^V#27YJImXCs zCwI}X?-$EAV7eg9c@4OZ3!RD!r!sE+?DSvo%*4||Pfq|6`nJ-p^ygO-6$j1Pv`gQO zpYjeWa2j;1(^uP&huE~yh}vO-+vAs0Xnq>qtk-2(6sszqcqDqH z+0XqIO(+!B98^vAxctUhm-@?oI_IK>EU37;KR}bshK$A2c_vzBmuj#mZ~D7Txm~$N zLb8BdWEbOqN4uJ+Oz!|E-rzHP6X8?43oWXaK;+-k1Jk)3(07*e&uPt;=FrI&8k_0P z^Hc5TEg*dhvX6_v9MkAK-s_BHdvKYVBF4a*jkvdg!k-Wb7P+S{#c#P`8@ym21{GA# zL}Lfoq7;ai=!d8|5=KGphcjANL%nssqk>MVM!{+`r2P5>O22`#oJkY`isc;4px~Ge*0-I{ z2gMHY$ffhYdTYH~0exm?j|qYT(07lxCjXnGKp%0*@6shZWqW>A?X>HecFoa5A@s`X z?k@0McN?PkMVMHV+HX!M!G;gA2!2!y9Dl`Q$`$LJ+G3o!pn2njUivG7X>eQyc-5J0 zE0c{Yc2dewQ%hf}U_Z)%m*lwN%qOgubU0S#&*XjswmqME?y%Q~7z`C3?eM(+oFp=& zh~VN7_1$hF>1_*tAgea<@Cw770KE$p~_1NOHrI#5=DQ@`@gON12pLngL|6SV{qY} zE8mN%?x)&+9I5a{U^4s{GQWpgE-K&fH%j|sn!KKEre;%S9O#+09x!_Z`agipO$55{ zO|s_E+bKOYF~Iiez$m8xjsdVe$35R3yd@M|?iD||1L+oEMI!MblV$V*kvox!(qeL#oc1!HTmo)iry=q)>S|GWif9njM?neNH; zrKi>ah-w&awlSTD9TRrMg+jf_;h##Yt7A`a{?MmtFBxBn zB>|JP=}<7u#=wxf?uPqQgo!a8-RXJOe2nbjM$}Q730gs($Gsv8Mug8C7jV-VhYPiR zdy)#<$aO1!G!^L`vDwsaQ2$OiDX|dY91hmm4Kw2ae79gr zdR7-Dwy_*$mEWr+bAs|fhtr2vPL#SmXdtXw?yh=WdGwXZzcQvg+z0E7YihZ)i{~h6 z1%3#WjnNb$c+d(aYI~&Nm439QVrsi zU(SUc{KJEtkt?xJar{rM2datdWs_$SzRL1VxYu_tESDPF--I*Tqbs9B+ME9 z`#KA#hi~)M!-o>9Qd!tZsyk#k+C*v3PlfWt&jxAQmT+}2nxM&KnNaujmKsM4iW(Kq zrZ2-r>yEB~ChUxY=V0E``XB1**kK<)V&nxFclF_Y*e{kY&HEtx6a+d3EzQ^I8Glz?VhHca--e2tN3X@Ul z;-q{f&BNtZi}=!sMKceik5qrv67!pbiqe&N&35kR@fB@5Xu$WOJwB8p-)$`&e^)=# zu-s0Ad()sI$ea2Xn!>wm+e1G-qVSQm!1&UXUxs-ekHzF};12B~+4OZPxYQqay?fX3 zUGXt;S^@@;%FRObrVe3$!kbgO^g6!$u*>7(&nA5}I_@SZ>Z&V!9zrsM^Cqhj?#G4#WTYo=#rXBxWU2qrxK3wj&$WYos+d zi*+mZWmmrM*VNQJYpR<#yvCN3_{n*rP|7!mN~zx6 zDbZ<*wg{<;ul;OL^bF#Y-FK`011Sc#A%6~_>{K0Z{x@+?7yu3N zJZG&)8p=ys(udDM@7G4Qaxl0t$b^l|cuUK=lgt0z3^7^UkQTA^cOI_vm1E$1-d^sY z|9}EE;MKfc=DrK=#*jw{!9(Kr#qitvx1p5@w;h&#@yq*Vy8rQB+YwFq3*ZlP)%T!N zNonlZwqLgx*-QouR^Pk*Vt~{Ev>J^tCd4pUuY|4t==ytLo>xv?mk#3MX1Hc@U0Zw1 zHQ0xn58Cd66?Y-U^&)Kh@Ixc)L+w@_DeN&sVb^6xtf1^LB}!->sUn5XGWuJA$HT;0 zn*wWXPBP3^WsNPdErKK!-*LCq@)qjPH@3E%7YDY|2>uIf-h;yh$M^8Q`%y3HPx!#9 ztH!LlTt;&f;A6hI%UIzH>V3O=`D*gYGXni13tBPyj-5A{ioP$6%>G-SKOZ*EUo_5l|bJgC6+Wz-QK98?o_kD!M2WMCEQd_pFC%7QI(VT-N%3RBz~q+SY*Y3* z9(6IF5(Opv%(g(iwX|r&?W?H|WJ7}ztmOW1a6}Kd%(vgPQ)L~~Y9A7|E8UWaRtT)H z_?CV*32~FUGa*aECf-jPBwE5xahz|Qa))A?N86gCvDXK-ssyUFu{Q5ICA??}u%arKI$> zEut%!JW496G_{{9tWXkmBy0F02X&1mc+ES)j#vH3nW*#Hc%AB_-@J<8X#iaSciY~u zM>w1}lGm*a+2R_Fn|!wrU4oS~tkV9e>{C27Ni}^;d6MbuP|3uFYlT~&0QTEGYB3q9<&ZjN(cBpi4v=Ol>E9l#>eA4bUuy=(&6wR4rwgfEz zHqi$*U%l+kHxTSAszkVQGz!0*QxyH0>!!XvH|#SP_)!vbw{RI-!~=WV^22VHJE;=I zZsSh)^NOO_z1zK6xKd{7LOE#SG_ctzXSYCQ-GA`0twq1ESZ8zAQ#5|ki0drfv1`r* zKEh}7yG*O<{cY-JqCQcRUpdBGh*>_DI3E3LT`+%%W9R$Dz4ex3yA?Tjfze-ED77qT`hLNO8FD!0n^rxtHNssSN zOiTz{IXX+;5k0&@mo%j`x$xWqaYYpO`1qjKz#)ac6}>AuuJ0CCHTEes&uw*jjeF3y zk_W99(lh1mQCc-r(Y42_TJv@9NiJBri1~LC# zAIG~g*O`Lk6HsqwGk@ZV=M;BkllUwifTk0*B-b9VuiPB1bzy1^y?qa^Q#}(l~2~g&Fi?sh(rk+P# zwZBUCLwRlslq~qUPR7oR*6d+_=%1W{_WV?kh)gFwRp*W%+D~hRY z9Bp9mr$CjSB}t9!3OVtk3-;_PX#9a$zfI9!t&0@mnL@6AdL5vqNSPf*2tqql zH#L5~f?Lcqw-=ipSbHQ?|M?2JQ9r=CCrRYzX2MYeb3O-~Q~sb&4R@Q^uK8ZZWE5C9 zJY$antFT^Y#?|tfqK{T*E~$${9P3YHZ}d*=dsNR4K=6<;iUxpCp(LO;=VfoE=v3bV zUnJ+ZP-~lM_8rB~DcU!D#ZRHJUhkb1D1^{JF#3S1P+QPwC56FlPX9A*lmErzagZf? z%k3}4>HO1MOIxhnzTRbc))UUBjP;^GeT>#P(bEYEllTyhSdPWFV^?E|r<(7!1@!_Y6q7qZ$=0>M;d15=lF5ED`dj_+E;D=60!H7i*-6uK{{^nU^YmoO z-_LAF7ML$RI8Os1o^W-=V{?OL#PZbLY5OpP{BNW8g}&Mm`SuRB&)_mZVv-XTCW3jS zKmo(W50T=Q(ObU3(YZZshKgYlpz5GcmzE@CRiS%XIK!pl$v+R4_3G{-@A$1UdXKg$ zmQzP#^S1E+4_15D9%`k~MlL+=iraZYpTNhNR;O?u`a`1pIG;XfNSmWh^0v4db)$Mu9pCJoC>rxwi z5yRHsE-KVI;d)wA`o&kUo@I>sHGAKER1YE}IA;6OBzBjbSX%3!og?iPrbrSwz3`G~ zx`nak{^had^M!lL-4NvOS7m9s+%tXK*u;!)+Q{q}R1dBK4Wlr8&9ZaJ9!%$NG+*#K zfpsA7Vx8K!{t;H-d*H~4;q)hI`@{;%Gk6_-Rd;!^KoHtV#SvW+Tt^NA`^5y)Al%ib z&%*LVe(cK~AFKuI@aGx-+2KidKuxwziCDN^O9&f6MK>`FtZ&+++P&5$=`N+EuY(K5Ya@A|Yqyp| z3UpCv4yEE@cf^8Dh;IJ(eWmE8Jea-tDrU6J{w=BQSA({_^{3lwMd+Da=a{^v1|f4g zVVAWKXf3qm6)It})cASGPY%usgKEKYHF|uvnl|QrM9g>VC-Os&0^Mmp+{{2c2i>Z2 zJL|1a6eh>lOrI++ZV6hyfZlucD5fvfn?d^ZuWyZEGwuBuRZG*};ALq4@PraR3WgDbLhNr~n#Qut&}d@OradJetOU z-CZ7?c`ZaB9We+=IvZmiae^i@-$nfS(tNDl0Yg1R!~s)mJUhPv(v0GM81N`#HSk`? zD-|F+M{x!SSK4GCOS)yu8pV=_{fsj>50CDS(>DuhJHICYJc0E0B}Abql9k?~^wR>p zDizs903oc>wOCADYy$&=;yCAJ?7lgMJ)LAXkebO9A8DRQ5i->_srNelIS4kTN(Zf6 zVo!Unz&->Kmb?Wg9#Q}$ z0xH))SDRKKff0m^f>1FtYgPgIw_j>jJFb6SlP9_(+PQgvy1 z2BFWym|%ScU3-Uns8jq_2(i>9WmUJuz_a=_@zDy9ba^+c9eh;E&wV-UDiyzIp162& z?Q^n|g_t~kntqwDbSyp-yU_5uG%~8O8W6OmK##G9J{;Sa7z0TKh0q1;FDq{aihM+w zg1GnKBG;ko=J_EBPS~3SagI3DpMANO5=5wRV^bESrtw6%iOLr*8qd`Bj#_>h0@eQA z;)TOZ__6t5JXksnQ)r*Pv5An1b6D_7_W~t(=5lr^*xW4I>)$5c zrP(Ba>+5>+M0>RSpaCz>k_N<|&1AaVjU>8=pck40eq`0$loI8&rS%@GB?oq^5wMq? z!A`|-$o_Q~@s?m7w4cHLW-~AgGyYt<%9U0Y49q=P3OgKzroGLamm^Fa6mP|>X~8LtSTsh_&XwVWM#6T()?hNnC3l)i?^G=8EguI~*PZ{rMWd~^56_B9zdtVNO4CXPk4+?ZD zeho@qF#-rFR(OSKXfFKR-|d+Pxd+aX!1@)yPjxG-!OPq0zZ9@0DxUe#f;M}Qrdqo1%g|UPDoW>)qa$7o%`9DD0nDk z?|WlcDmwEyC4KP=;Smve!j)q}@=A|#zTRn7Xpn}S5TIA2AZ*2qQ=jpG0; zN!9mwev7x0!E^mtx{62qn;6^=2N`Rj-$0t5r}&5mnE8dtbkp$zKcQ>h3sf9Q0oN6` z+xHPKfa26ErvwICr9Kn6tb?0Z?M;_MO#{0wD9mCoAfyW%0^TZ?T}E7<;{gLIHT5ky zHMdUCX8q<9{p)3U`zvRPdksLn&w}7ihs*GB60NN7wbe^|s{E^EU?(av0igK1XF%~fvswvb039hP<6agh1kGf86Kt})j{<^@rZ$rQh zRTevn1=}Qs#KyS9>!m;|D#xD;V53iwNM0S~qMqA;8Dfp*IlB(GIeK-Vo2dY3Y8HUd z$_x`;3fK_H3Ure=VswuynPHy91@=EmghgwBi`CFvTwFDKTP`VeTBFs26_qD(RaNXl z3y~4ZO51QiMNopAgBMf67$4U(M~j8m_Q@4J27%f@OelA|1)ZV~P?d+V4jhqtzV8~M z&@A~TZJ|la-o|Ftp^&(lbVf!W&{qJJ+u$0Ju$Flvn0x4iB*+F&e;PkO?`3od)1yT?3evAgF*LNIqr{_Tiu!Vj}z zueQ)gBxZA}mb|ELpBf6V1IIUioCQdrI;2H@$Mbd!pbWv@jecCZ-Ys19HO9kVUo9W} z^}=s0QFDmr411TI6V!7deN^|94))k|()Es*J7pOBf0%j;uqd}SY!tT}Q4ta8R!}Kn z0O=GYloXMMp(F%h=w{f0bcvKmDF{e6LyvTWbTf1e-3)ow>-YcX9Ik6FVB($iuC<yKK_s^JpSwn=*`c`#k3~_|46%j-f_xqn%_YOWrJb6V)#W4+#ebc z$VMl%?dzf5UdU~MK!tm*JQ#39-Zk(08We9xhmS{f0v$KM7Dur1PsPxDUAGg z05uAjXx0#||!5k9}T7smPMT z6N8{&1%&CK!arKubcfUQk&oz6q~v9D7c8Q2=v6Q#QA2`e{MW@J$%`_gzDSw?Xh^&n zil%>NEi}#^zer`szzTwO;$QC8`E_7qg`*cN+Km zL2)Ql`3w;pUtakWE*l+U`SJeC6?J*OkjYsD+VQ+j*H)+w7Vq(}W7arrEs1hHjGw7; zpkh+&hO%QN5?F()#WW-K6*qHp=km5dTblL6-VB$Q%$G|suBUcT%hKb*RxedYe53!VZ|h^s8XmU zo-CnU{iK9%1TnL=5rEqa5wX8ahn2e84=DE4sdfQ8kH>}kE6(S}3waX0XKYP6?m?_) zN!s-#C*k@QIU2bk`Ff#Odp>Oy^R)6;7u!B+`MMf+JREMSs9bJo=YQkBUK~VAPj@m+ zNvvO|ApEAj+frFGk8UMCBrDa@orDq(tDhPftqO~OnxMJX4nHfon;fhoL2xT%KlUQr zR~5Iqc6x}NEfDowkZ++AT-~ZJ1yQVx&vQ!qAI}_U!ini@K#Gr5;b2)Tn^*LDNs6ks zZL<`anfc1i?TmYBJP=IerMn=zmV#JX324gNBgA9Z%K4P))`T3(qwIdmE}~G4WY*|_95djz?m(^orUjhU%Vm1KbyC7{U??6 zl~uw<>q5r;48_^=2BPMkOfD*2%%Y%UY5d_4k*y(d+Pq}S%kzS=LyumU4GS`f@LmZ; zq|@#~q{M%9p2x-;mCel2ej7l`a)WgNmaSuVq4|P2Jk6!`W<)LUV`F;qdJ}vb>JmU3 zkn$o!@pkBTFzaMx3C$kX8j%LCt7aoihC0l^sp2kpCa1!4&39jK0fjkQ0Kc#2(C*w) zjN^K7xG25ozyHjjh~Z|_lN3@R|4uWzDcMDCf;gp;vjmc zKCY$((YxF++|_h-FntF&87ADLm516(AbNn(2T)R4tf$a3rqmJaGp5@N$V>nNbo=(c z1{oo!ck~ZDlMIN5)8$TF4uqQSP6hP?O5Av>8ZAK3*ALo>!aV05^MQJT;l2Hq2PHy( zd5Sw-=!?DERKyPcT$tPgRIjG1pBug&_IkQm50Kfr{%7Z~lmwr~H+|SR&e=QPRv%LM zKo}S1FrP{0PjJ_Cm}9+vui#0}re;JqZ?Qo>%4Ye@DaReP)%_7x+(<1q8mx~iQzVdIMzR`>u-3ko_qUpB+%JjeJ`VMhQIqNPoBg_?D zymk$TJ(rklZT;zn>j!DHUf1aR_o#@K9FyfyhiuP2OHwwh1R`q1aIJ46$cxnI<@c(`qTTuQ}pfx#7ZV&a|dML*a zYEzaP7)Wz}_BQYJwe%FmKp{|6d{+u|MmqVNX?D%jc`o^EgE4{Tj0c$6-EK0?2DqD@ z3kUC**}xt;oZ#(tUu7)?-fYb=iV8MwMVCmFcO3ft(0_JOex0Wy*hc?zS>WN{w7QH; zb6@M6$;Au}iCWP~#plpPlzm40$b+(Nrk2V3!HuW|A?xjZ!RYs%9!?*m&RB+;CxotOE5R#W{wvE*Bqm8dLRJiq< z{dcukE%=tYIF!VVmZHr`}bp0;3j;7|CXOQ%uLtmZ*Rtmq(tEd`BmMa}2 zmU<41rrwTrejKi5;nd|aSlYc3@=q z927fz0h5tlv{O`TI0SLaYu8hO5X9{ys;y-j@4t21)c{?7>-nZ*i_jV`b0@#hZZNbB z70YlvLmyS{$9taVtM*@WI%N{b>VG{KBNX$zAz!qDtCHWw&y{_txeE%F{5RFUm2JC3` z#z4hhdOWm+Ka3TTaQ4;Q1Afaut#}zI5xYahM+K~1%jc{c!8L4TzWn%quomMlrYX*R zPD%A<&UDIq+T%c5(V=PV;RM{eW~AcNcV%n86iP1aM3x4i_yjzULR&$9httUV!I5SK zH;gVMk?ma%zTdt5+!8^AVvPf2*Y~U^N^HCk4J!6E%p7sB){%V4xr)hc2)yO_=0q0g z1c^`Fa%7*r^-<_;CT*%~bJ7>*h8)r3Gwq^I3nj@ymQ*CuH%V<;mZZ#!mrH1*a2UU7 zMP_-B==Ha@qQqpmtF@S7^>A zwa?1Fi71x1B%LK?C9?YMFAPtGv~j=}`$C2M6vtN%6${X9Aw&D@tT9UiU1lC;ENONk z#a?Ev=qOQ-18wM33o?Kc<*IF~{id9o%*-Cw1rrE0r>i`(!|@BeTEq5FCsln+)-Evf z`&j~}gWXs2$H_i(sMO2mW5g9@D$&HJ3~#iuHOVN#zJ){ljVSG?q4_&r)lQFBJ%OUm zjAj#unRVeo?bdYVkfEO3DW%kjHSm^omsGwgP{qbs7QNxxqUc<7g;ZRLiyZkJ zui~{e*!fV0GVio>67_S+nvpWEB!N&4c?jyfJ~^-~=2T?7sOj0bEtgE*<%G=3+E%%c zk5v;_V2lRjQDmjUypD9x9{*r0AwQ5poxr#vvGV>&=j^!~KWcvWi!O6@Ttc)$v1)|D!HG4gFK_vz?`PW7mt z@+PM$Wih&VtYo%-kOYv)1C=HgUiK>r3V-uX?=0Xz%*p6=%0K5mE^xyqV0i+GZqi}y z*EH3TB@zrl)UbcL((V(V-U;1~3$YB?Ag(wCxzoCzx&C9v#^s9lmo z?4L$5EdYc)2Ni^u8oVp46=7e~&qFs3R-j#VUcZ?*;bk=IRGEY@kTk#7u*DFRPuLB| zy3GdT7*B=A6&^*{-pkE4qa{qr_Z9IV9HDM1dEaC7zB$b1Y(=YryHJ#g$zqDeFfa1( zT%8`w^j=D=@GTO2qCS15PJtir_F-nOTdPD{wftn79-K6Hj?OfS0CDlmNd84dz>0eb zbj$Jer6Q5Mr5yAmYTB0Jrn-}m;i&!X9_V_K!0(+WSuSM#DX2u@5v4=;j#|=U#>TqV zIKR!C2*!TPbtP14-9ftAitX$?Ckd{nkVIR!-aZV1q`!S*WuF&q9ue$Hbw0Cec44E$xGA@%gr$7kKP&nHdmY^D_ly`{Pm4+To#SH|XMbDx4(ElW&4 zLABmYX*;|%gZFDy`D-O*WF|_i9tu_pJrC6IpgiZU@O-_$u_ePIf)R8mRGBj7lx#Nsd28`UXd=0!ZTnz$vwGaASHEX74j;@i_cw*i?wP8RNgAgX{>Aw(cA~$&u zUEHsa1YNN$!k+Kt(=YQ&v;<{jwj3P7xo^WFX6HSjJKl?!p$iWxA#S^#_G>}Vf$d*k zXC7X(GTX8i4n8G+L_PhsqOF#*r!qS70MNnQ_jG@SzHIv4(Rhm_YBDKI%DgS;tmPOQ z;X7sRWi{gtmMDSUyPTeUB>u9Clnxnzb@KIPYG$6pZpZ>ZTwnK%mj2p|2i^_zWedr?ExNr0lXf48__}P=Lga< z#$-7EsoDOTx2*9=?yp|m)TIBa`k-;j)Iv{H>k7MhBeH;qCS7c za4YjS*D88zOr^Z)-Jh=|k2#zb^G1MuhxI6~er{VKndCbm9~5L{{DGGS-K?hP1###A ziQ8u^X$=P@4-pSSJ#gnOs!RZ&m#OYEZLd@c<>~j~kM5GUHIW@eQnrIi%bbS+XdEue zh+n_*T?r?Uz$X#*e^)1sbv_Ad{r7$BKv<=TrlwFzdU_-OZqjl35PqRihzmn9%J809 zwd(sUPFszLhB=1F@ORbV0(o|(Nnct;1?Qm^PW!OfBmR-QTXniOeR3B#LfSI64+X_y z6zOWE;_l^%aHm=ZR82R2akX#{8<{uGoa_|yUZ_(ufm6!JTt>G(+5MkG*Wc(aL82xw zFKsI)V-egT-taBxe-p$>AL34Yd-q0JsaHS-d02)P!J2v&Vkxmap)>oKcbY;*Movfo za*;{!<0XS_deAFY8~=64rpF)6ZGnK zh;A5UpXfxf=7<@z8ypU20k@wJvgI0v-t1cuLU)r|8#M(@kjXH{Q`K(IdqR?uQ`ycI z?`zuJanlboQrrDv@pqM$NA&tRsYzs&GYjdV8;yB&nmX+#EPuzmfcGQ+96eHQpjG5y z2u&Y_gXb~!8s0Cp+`Cr5p9h_5?s_gH1S-4U0=I4Hf2stKte#UuKjAWgw;addL^|G` zW_!!j^ko5}X?@;tuo3{tfTCv{r0}bZ!hPP@`o=l0boyJyk8o* zPj0(Vwu58M3dV36{(td6j`fadTbK+ISzn7`yFklzJ+ildj)>x<#Yf#OJNpbr`c0)s zZ6kX3Gp6N?=W93C237Q?a_H3kgzGaoR#yl}q9`JCWEKS@L}g;aeQ|4A-Q@C?keZ*L zklt!vNs(G;4d-@hH_AK3syl5ti9ZiVXg7ZIx9#-OrU>45UUK5i{%5C1*3iqn;W4UXTh+x(*As1+|qi8Gwm_}}byk{y0 zVO5>y;d8$mhxUU#b^Vp^3B@iB?8@r$!~u*G4D>C#N=(2<7*r+2>B18$ek%(e%YpYA zcuzSXkrEPKJ^}&-df^~=FYBdU1K^#&BPfx%+hh7f+4CcJB~F=q zsFoe^d{R_0rfjl}3tIE-gJEY|AQ;G%KazhJJhq>I@B<$JTLFvUH{-=m3QQsR`xvmC zfE>9yz`+s)F**JtN}Fqc;iEv}W9sR$ zKFHMIh=;X;6S#CeUZl@>s=_NwYu({dO^X4EDcbftZ93jJ5%X56C)X1cQm_#lAQiU6{&;9L7S0>@50ZD;RpBk`@!cz!N=Y*bADP9>gWfd& z#lS=nnh-%}Y;S_=1WgM}RbNFBy#!R;mfR5B7h^ppNRi7L=A(Fwz~Qtj-brBjEkA)| z4wU(*%vq3JywH5l4=SNIcfmZ^&)_H%TLqzvWTq)Wl9z+*1{dq^qO8C!%zb#37taV{ zENEXhB{av~{bUn$;o$yR$>KL@WapX0w`Y`oDRj3VQJSl=>QR8Eh##6gG{4}vTmfSI zuT|DTe#x}648?Pbvv+WlK?2MwmJm(!EApiCZ-iFx@C%a5B ztUC9F%^Y6myk)aTg*rd&(ANnLN|Umti(*EaX!i{JOil zwK5uH56^StU_hV58lngKR}elSzTGHlHIJm@In%a?xt%CxA^6)*pba3T=EX|$UhK4c znM0-qVB0}oRA8J)j(-rGr2!BRo+JNwXhV7(PhT02eQwC%UMUx&Jf1mzkTaU&2hf;y z`aJIw=7S=Mre7p|^SK%T3^HGY>a4MAb$G!Xs30YYiuZ%9U-{f=zy}EbGB#0hud;#Y zow7>{86s-C&KVe9KdTSVPu^?jD6D$0%)cyTs5#LlX1=mk!(6)7Mk3$w=CQr>I4K{c z{hZYnubw7Tnq743>r(rn&fzG?e+w!}9ACK&6q7obr6f0Br&KYTV=cgsWz%0v4dst2 zY%p9tp3WdW;D&4AY47Wk2dV*N@9&J{PvSlDVR1bJsf+DtYVZoB$)LsCCI3J|jcqM1 z!?6FOH}+75F!Tl}RxP6fAXC@AU;@N(iy`0yug+@Gy6eyQ09dWv z?bM37?1t-$Ho8C8ipFCqL5&#pLYC4n0t=APItI-4DgZC9zUwCc-ap&DHhTXp3VJ+7 zU!EqOBQhWYBXFWd-gfyPNNUUis=7t)v!ja~k!7%RO!|EzqeD9-e;vtcow9t@%R5MX zur#XwdLJuhxV%X!GtlE!Be*oJnH0DnE4wFXpCO_Vk-RqSc&}3d_+c(>s(%w=?cTK% z>J>(YEFoMe7&82|X=c!43gVi__IQj)J^~_|p?I{xBuKR2Jx3*arrG+*{TlsFVq06q z^7%Yj=aG*(O3Lr_WInWztXTM&{Qw!%0~1F7?9EiH$w16|Ad?Z;jB|?oDCc#-?;iQp zIq@@yDHqTH<2p4$8yf$#=~ut$QX8jy;(m0e%?L$-Z?vH!P;RAO8R*KOG6ILQa~0J{ z7l|0XfkM62OyKcrz7PMgrGE{I6*+WA5zka29^SrvWSF)(Und@N`)Hwz(jm(0?H-ho z0my+S3)RDw>%EgZ9ba(Z6x6dS1j74qca-=|swx&jw61A-S{8hAc?P=t)q0c?1n5T% zJc(w!ynSoGC#9xF0toF6V@>3#aKYM`6kN#`>~xTkE3Cz|=N8uaXDZWl%>n#i<97Ay zEk-5FJ$+KfbH?3Chj&NvG5=8yJ_(j$dLqOUT|SxqKcO4O$^6zm`)VIo;r&MVLP0fB zgwX?2<_wG9Y5}hColg6qUaA$o+Hs!wo1jlYW{aohZfG7H9n4zkc6ono0VhS~QUG)= zj&>I0(A%20rvTRv`Ehg%XAls&Um@vC2n3Ob{ zT7JZ{Am+X9yZ2CnpV5S#9Z*#y-IA^f4muE`PA`k-pU8X^fp!6nv7~W9tk{D~rKon| z+9yzI65r6JZyZ#{!)Y*jMK7jo6K3S|^*j!r_oWCzS*+`LngE%&BRVSqd0h)u-`%;T zV)9hT*))IqUl#PpzijBWr54>Ys#ma!Ymvv-|Nmw454FlUr^}|Iz7f=kh`DUs1pU{n zwl1vv1|ZNKq?tUB(+GA8qk>O?n5CDsO)DaQQ4n>iKh;vndfx1wuF=}&KG_sDIAZP< zhQbY-Br&dov=$7xI2y?phQp+$J=wQ;xyZ17f&2aOI_Lr@18Gmtu`PUoShONaD_-0l z`R8|pjb0Hr&H)J7-?-*)L~8>66EO14AtDuIPs=}F4A~g}4&Kt9<-+cD9DjgY$xI9k zVWub!szBGm&2*Ww;o89?Jlw)6+kbmoAXiBtbw)hFGNeu4qpZXO_d^>%yvPImme=5% zx=d_ax+R7Co?`T7v*uluY3&*V8ps?6rHtv8t+VBl-whjo%Om=m$zg3?~q+OCFM z>oVtoZ*dCy8bFfo1WW+yH@9h)5QNu%xS*>bKoc^os}T+11#ArZ9#yLr(^R3WOkKko(a3W(H>9U z28RVzQtMo4BLZoxods1|t&|RaxMQaA;aiQJx~aGH^vrqDTiz#kW`u3z*lR?W1hbOk z(9Ut+BuJvpHsB;1pJKJelmAa4I##4oRYNtOPBUX}Ye6>@h zx*>T1KW4;8uE*>YoBIvN{`zYOsanI|+>MEO#_#g`{;e|b`y%K{L6cV=$l$tnj|*Fp zspX^jPJQ~m@Z;p*nbfF9_HRZtBkes5iXFoS`GCm}c9^OV2_Pkry|ogWcZ~_X^NbyE z{(SS>BS+T57R}*&G+ZFZd&0O_K_ophMOz83%&O~`C47kg0w@2p7uy%|A=i{i(9Kou zOJbRv>Y>p3U1%2DMe=#xT7!Pf@wt%?qr}FY9BNKG-OM2+PeDejsQ9Q@vYj&b!D3IH z7??#jC%EfR64`IMJHm)ZCYV{z>q!ceH7l`C6L(OXhg@)vK&hFPON`u%TUqV7fL#U+*M-gom)e5^c<*25YL`V3HM;1QC@ zHqhu1M<9&RF9MA6u!u>(p1q(AWp}fg>OU)v;9HbfZc;cx!x?n%YNee`V0X0oHgXEf zFzqFHRa9Vx@>~|sr9Gq6*JE-1ZX3;1|A;WVnR6O*tOcK#QO51*A9Z-*1S=f0%wP^ zD)}b|gnS|^|3DA1XI^(8tdzM7waWRu3X|7{PS^>;x93V; zf4B$Cj7d3I#K!Yb)>apwOo=#e`h(J8f1ere#LC1s+Tw=!pE~4hlQu7V!v&RS-vcU$$;)#^?$i@-6S(LAJDb~RUdBaU)$2le96IV##4X_+JNK#i&S4kykE`&GRS|Dfyed3hE zboY=_5n40o@1-JeQHszNbYX&=$HtM&`ya|)@BMj91g9Si<`NXXbf#PsiNQ*5u;?EC zL>ZV=KnG_Z7l0=8r!O=ExtNF`R&}NdXp5{gT5ldX|DP@L?leJRa@%P*lz8Oy1K&Z_ zx@O+_JFZLn9#Bx!y4K#)(U4oH+6W%fwkmhAN%kVpOKgOR2}PE>ybr2APk>!?$9+%j ze7)xCMY4c)4Z)-jK-;GCZPi6N*R* zV0rRlKr~ZATu21AbAR(XV3ovx43+c3(Rcpy&z7oVSoU^Y4_J3)%#855?ZgN!!4^Aa zQW()_10=?7WwQ>T&AMuzb|~Qe{+<!;1|{%dRs zv^V$ju$=fw0vu1)HnyYkq2uxA?4`pcqPIYgA=Re3gQ$dL!cqq~5dsSFtDWtOpRmL& zmwU40g^n_6OQ+HWSCKSJcxI|a*sj{te>u=r3B8G;Ym<@|Jro?ZMrKjX$`kK(3e$HI zLE$gpXmvX9`M?djYgl^`)Aw^nz0$Rvl%BpWfbSDQPk1xBkzFv-LPXXn#Vu13uG1kP zA@@|b_73PxYwD{ZY<@6SwU7Sg)Y-9jc5z1h>xdE1TV8^mBG0#Hr&G=xGYP`4kOw6s zW@2e)44^fc8)yz~u`BPE#*#q>^TTuQ$-} z60*c0(WFQ^^BnB>dw$wayhTr@M&gYJiS>5+Y7nG;KVM;sJNE_34cALcseV1mv|v$w z4C@u*aPL1@dr5aR}TJ*v8O#LW1;Q{2S$d6pfR}XI-c841vekT!|KLF+8ekrF{8`JK! zM9vEYJAIo`p241G9pzc?BJbUgQj|H@eVdadGcdnKG9g22_KMIwM1hHu^$l_MqckzI z$db$z-4e69U;15+K0Zm$94+cC%zL|&w!0G?dsi+zl2_J{7Rxn#uJz9h9eZEm{T5Zv z`e7BTKy|qR;8<^ycP>n`6@oMi#tA__IlTHM)SgL_u~afS)LHT(EVwYR9x42#f|&Yn zf$vbz>)I@6E^c&*a;qI}X4rO7(|Wip$*>Tjp=(mrj3zH$9A{N2tqf}{kF=T^NdFJGQxx4BO#9*XKwoh6vxc19)r&{k zIHI^Q>=Tb^4iiNdfn6oNKBV{KNU6vp`Ru%>L)jXnj^?UON#lcdubNKVJK3`@IguqL z3iBoA%0uY&p`741IyzJbmOeZl?+ZRm-?!HC4lU2Em+fOf8Bh1E_y5=@!j3*HgqH%` zR(dG(G~LWW?6yoL;Qi-$THQ4W;^<=2HpGd^mXa6mzWDhm#%7+Y!nwLy{7LO8(@4Q7 z1+Y7D(smySb)A{YLKJS1sM8ehb8WKRko*_V&9+&wdgqyiO1jMM9l+MG z&Q7J0D&e1(_r|1%gHbuvH|)Ua+*NPRc@Erck?9Io6DCRagd;3hGy4-`T;ZE0E+I6H z%HqmGrk)4(NEs>Tt-YbvDPba{6yd56Jj!11Pw3`^*ZX7pM8jR7+`TR%3bYQq<)W-R zqS%C-@#!7`!5TGvu9+YM5O5hI0YQN8!=E)^lKR6fXattO8p&V796efU+QH$}*43r{ z)PyrKuDi09EYj;V)tviOD{U8@9OU~11|yaYAtUi4RoKmQ2(I|t^>8x5XgI#^k|a-z z^0svS)Jg+c zt;@+d!fRrS3nt0um2yyPgK3O5;wqONk*V&@L$m^HDb~mD?Gw7c9_r^x zJY-_8@s#g|0Lf5Pa*co_KBr_1RrfN0VUKxv`>a?e z^6od84i;c`(n8z;6UJpRVcq?K}*fHQX>naPY_7$-13Y< z-M26KLb2k5;2cTVv(vv5N#N>krFGif`J^!VYf&aRJO#2UGp6n^x%y5+nP zi%Y=`JTGHL9KNZd`v`c5b`fZ{^w?+*()CWPTj^c`J#$6i*En?(F$H~-uY-I^TYp#V zcG$A3%OrZnU4tkzj9n4=QYtSq8FAMOMQ7;>7|rtI%KAQ&_N277yty@2#R-}>qIO* zxv?N3=6xDdhH1aBJSBVgGiw1odApD>9+WTBi@F*gr_@z@laq72O9#sI#2ClUzu~)| zJ12vbu&vI>vc)WZFY}vx)>lbS$hI4DmXN`+MftC}d$_-vaEnveky_9hdtO8^LFo}V zo!Rqs^S;w~D4&@1U@`DM;n^L0f1!Gjxno3c>ldw0hJ81`Y44M*?;=Cw;TNid7)K_Z z6O4+CR1>B>+yva->hub7%H9G2@z3uscefV(Pz|mTekXC_v^hX+h`dB>v`>f8S0xs2 zoVBbDmj+hq-4ESf>aI0o%E(T2Th{52op*e5yu09Pus*05CQ>qQ=wncRD*rZLm)hBC zxEX&%OP%r^P%=M(s?E{7<-PB_=bEg`uU2klmZy7>PF1IxHmp^)shPx}B{VOrI;zs= zd_UE&Ij~Tri_^iORwFr~#n@R%44>Z+ihYn@cv2rJJl)s?fB#%^dx(0zUu=pCiCrDb z=4g%ZB)8E;HI{70Hy8c3l8AM;9UBCP76!j`>nL(G3;jniUq2nL3*zAg5P9E+Zf*CT zd}f^>e)JQSdw$m&YvJccDA;O?U|(>Dd~dDNdJ?yQh@Yr-aaKv*q!^JKVJP99IX=I zeLco$u^QIX0p2Uttq=fGp5}#ffS$zr51b#(b&hcIEHsVJ7hE$&X|b-nTEy)QeU{&u zDtcJWts@udb%TBaMK1lq9ceQ~Sh<}7|7KTn@nR-O)OpVh?>VUR<_3T8Ax31zUMRIG zPnaa@wL}Flpj_LU1>q!(%#pX2-2eF|STj`OZFZ}CDb}QjXaXWYc!9oTas}eU>r;eDOuSYidGY)b)sjp;CZY2hxHSgU)=VG6Clqxowm)(dj!ZJX1>XzSs;kHLuM z1?7VwlPpf~A4xx)*V)qNakT+P_RdjK@~*}Bp2l3U?|uJdmyFf!!fcOS5ub2At06o? zuVTDN30nk@z_&IA_t$scWHgQ$X&@CS=Fhn)S{)UcgvZeHfzGP$l$QBpg3g!Eqzkmb zNj$HJbM0+wEm+gfVA9uY=QnI1;TiVzZ=bH9*T@}}-j+DdMf`)YUzvvVfJ&0kM}o^A zSCo}RTm_Lyxc~zo^-QhYgLBb#GNO>;smw689I!vUovz;{!8D9+m9-1SxBi$3)v7jc zmc8TXvOcMOaI#dQ^`z?dU}%1U@9*vEXD;%6XGKf#hCCjN&)m$qS-mb>{^7HpknvWe zoI@cJ`E7h5heWG2tZ_A}&j|D#&qt*6&sY{=j(cj4F9TQm*O7O;+-@SzY$$E3*F*?H ztBMc5;0P&d4#&?an(*RY_=J+J%A{EZjtn6rCbafSE&(u4BzTBQm5P21`st`iX7 znzJ3xN4N6{AjU&RF-ayQ@^d^=fwnmWhF7>#UHnH2R79h+BDaj>RrlyS&f9Dk!J+#h|JFt9Q| zR=i+RWPOMox$pNjn_ECTHuX#Jcv9ajGbEKT>QM;nsAH@M&=0c;XYgC~*U!$TY?@U5 zu#9i|KZce^+hXibmYofNYy9H+Z={%rHlQ6a?PXbQ3XljE$S-{Eg4^HON%!Ni*b;-} zhTlp*NWexksOCDJ$Kl4u6xW#oTTE09wcyOTtHBHf>{}#|)M0OL$8(`V%7nDT>o!|q z$Kmpq3sITW7VbO+FKUu9$ZJlrEHn*O?=sxPb8~6#`oE6ySiOfqO8efJ{pkVQJ2SK3 zhBts9M6ep;CC)oA7!?)uk(5PcHrW+`o@~`FQ1EX6`)uwdG})S1X+qtj+dVbZLAo<@ z#%OZsD{G~Fg*;CGFwW~XpFPK_m&xaWaVD@D`W11ICR^;fz5SK{45MA)MJ`f?2vtcg zXv~hz`V7e903mDyK&N<+Wn&%lROcVhXZgqEonjt~uisguX2t!GFRZ5$-=jVkbfx7g zFr<8}829^>C~@bU@JAsLgSZ1Lh1UhqGVJ6=r1;+V(;|n%Z_ZSrTh9CppD+R?dcDg% z-@Z>C8Vp~=aT@w(Z};GR646E*Kf?~^`!m!@k2YjSvwR2N0No@Y5~T&uAq02^DTf0) zW6Z=kn+%rD)w7Yr{<%~rL%5n%is3^x!Rmr-Nt5DbrV2wOL)~f4RUN>E z7|PY6#oO6LVRDxQ-c%^PuRWi4q&nFltwz2sgxefcp(O7itzE%R{(3rd$FE{4ZzNPF znPb!Cp{l3AwG0^qbrSfkZ%7M)FiVhv90X zvY+Z0n<(VA^LfGr$D(SoKBCVbsc->UAMl#w>%&yEP=YorpC~oU%iKF8-QQ@TO{O$) zf9_AJ;t;!DV@1ZKwpV98So_@3ye0s^VfjrCwO+H@8(tck65c0yb$g%EE4}r{Fa)16 z_3Pv5F?dhVu=PknDL4)+l8E$ofHpD;p4juB4HlR*0Kkfv#quF9=7b>hQWx7Q)OuF z355P@oGP_ytiVu8&1vySt$6vu_b-uh;WYEXAi;)R+{Kp51Ve4CRuZjs zr%!;Ep;1#wFMdT=BMO$WK>i(_j5KYiEgX!?Eqk-W-OMkvl@=jw=W& zx{3WPAN1MlV(ALq=bVn^wfuMyD+VCQf$Gf%7N{1xHl>Eq#km>YeKh;nARVSq(;d$oskS?{)6iw!IW z(bt@m(W;3pEiL_c8O3B`C(V|k!F5Voh5t?UDWr5-LYLD)XET^+jk5QX4JIUlJ%@kJ zhX(u7lqc_wRd~xc>s9Ci-{3#+M$_@*P@aRecFa%SKE2wiTuPmdgX?CD3*HNfS3~oz z24}G;yb>~*7E>#}y|rRe+?R*1ETaeUOC>Mv=pk|BEPMO*h}4uyl&We{dtY0eA+lvd zRq{n*5|;pleO;+>(~}sO;oaxgAoT(O<36?#5Wk3oADe=RV%6p1D*G%BY%oZ^Z%By! z8yLAbhs~Wd#d;3%?94qBT1lG6YAqqJnr=f<<#B)wU1+9fasDs#sJ}AyuU5`2N>a7#6b96}NNKHJy=u&V_=Y}yKn0jg zB{R}*YJjOG#XY6pZ?xm@cD)I)2{atp7#A%&zYO+Y^}L+6E%5CMBAUP zWw%@&_a!AI0=g~mdfeu_#Zf~?p7(p6Rt%FU>-5Qja8X@}JgQ`3 zpho;42svO6{=R#oa#VTnmqzIg=*}cAj>Qgcrse{@!SN*hnak8VK**(s{59ypm%a$4 z1sKrHTU*`)5?ALOkTWFja^jU>y#(z&;Y-Hhq^{OuQLX$ z*+`yFD1-FXri(Y_pkpbh=c-)GTzA?vc)ReAlci5adOcT3h?ZLBK~+Sbntx(_dWJZG zjJb{D83rK-d<#ftyLs(!lPSa4>8S5>A~ct}dL@WGk2Yi@;oiIb@~O}Ye2-gBB)FF$ z4k*_{LF4AHGXbli*T?1kpvH5xKNmJqi1~E1IWfC(_+xhq2(%M=%>$2HJe5q&6xGk~ zJeM(zCzwTJFdCb0WVdXFp9Py|@mw`-|?Wn89LeY!hLSU>& zLMwIU7BUm|b2Vhab}&6@kB>_BPT5-dcOz_pzOb{QWGQzDS>oQMIh3Pw9l&h7KI?PE zcq8oc6<=)Ec+9RAFOb-O3zss%)fiy#K{=CJTRX^mu1`3-R;EURt(Toxg z!a$#3{&KK~$}!8HJkwFTO!qS=^AcSBnHKco& z!;<{uH;g5VroqF9jC3I6q!64QAO#t%@5a#_e~LQDA-w`Ul`bcWQ+{ou*kMy1jbr(^ z(=-M=f*gb`Fq{w1<5YgtA8%dILt73wk_*2-`i)hYQi2H#hyIPvzmi?sX&MFYrs23uIjZs(rM_INJb(`94I|7>d$Jl3+g9L9budP6UJt==r*edatF z3t~9NTE=8i19G@fSYB771H(X!BRLSopK;JWV^s&09hb+6JRn58nU(rkA(3uWp6 z2VvL9RnD4DUB;VSbD}T?+?@ak@ph+&3u!czmJ^Q;^t^-K^qD(bzlGzGxTm0JY3U@K zWR8zwUch7joqVp#@l(K*hK4`bt*?B=6l;~tH-xWx{ zu>bJOU+HU@dm%s6l7u6yhZJjQpu8D{&&m$%h{Cyo&yDX#!|j(g!^eaP$?CeAo91zH zWyM`NN}ZM0e_ZJ%Cz{ZHm?#-ZVh55p;?=6x-~D`b%JehoaSBt3RT zAd{Wt@0tRXv3glIBjX<{Bwg1|QoUVcdc2NMQ9Co|lUp$@tA5k`29pMOTUtSEBXhn$ znXnO&h{yfmgz)*vS3nP$K=t%la}TOj4iIbl$)BbI+ESFdQfh#l=n5H z`St1hrQPsMa_@#`N7Z|Y?mF#v7fy5aPy$Dr&piLL^$MF`EjBf|XXTGs)CIc-?qgaq zXClYfhu*oJ*>^&v15Or%=h+5P($iEsf9~b!lv40F5&m+aidBaU%(Mm2+e|YDyuCix zJf>#oL1FuE-$Hc5;0yT#u6IGZ50^cTu2Suuo-T_*_TQ%PgFos_p_tq z`G=Wd*r|dZy^8s@AL&IlXLp^jPO+yNG2Fqf%XvQO3d0JJ$KDwa%R1A2y|l@{lx|R@ z#Sm8WJ_{_LoO#C=?VUqGtd^>EF!6N$9!dE0egkXxd<*l6iv?x4z8I>>_Pm4&Y(v`# zB7s&eSl1(miBYo<3bdLytGB#P(VHOWn|_YJ?-uufefHx_&p1|4wrsD(q^;M$($kD% zYHaiBDP{ZR$$~1+OEV{l7R9paFB+H&hDrkTHYQT1bY&K(@wZLH^dfnaeRf(Jwtt5dK0<3H0xWr<4xUO5q$DIiHG6;lCRTmwy0|==Q3dXCB8@ zj5RL)3~suPu2EB{ZPyq!b(-z^eF`X>1F)F=Q+;N>U#4u*B2=X1JZ?bGzPQfV925n6 zz|4Gb46;{E-xvweTV37g6|aESa9BgcR1bjTN~;_<-NMSoSzbI(6#eV|83n^BTb);B z4)_*};6~vF2bHFU9B5gXy4B}$ym-(v3zLR|NO;}ESCUJR-a13dua9sJ6RdzFm_>D^ zW#-##rKE1j;18SeK*6dehEpAK6{J9tfNNcc+UH&w#Az0(;o#e}k>VMRIlY_g&^C-=3kRX)Z(w61L&!@w7sMe; zvNh&^Njy`?_5Awpdhavm6$KDn{hBPBDpLpU#fkS7vfFScd@ENde5@xhp?&}1Vv=J> z?v+hkYZ{`y2@E0Ic^Cu@nTXg>Ud6b#SCj0Q8yovWC&?A%N}4On zz}!3S4g+&QIb4YciZmUjM$7Z&%S{B4x%KH`nNf)T+j-Cf?qxC+?#q%}OyB@VV3r=kqT^qe11E_ehm0JN@ zzch~Tzs-jemSf>*T=VRcv;wvfIm6a-8S#bka)zk`qmdkHdY zZ?5!q2f7M>?Ep<(h(Lv|}->xhQOxng6 zjutWncf375FXunB5!FS#Z_9OnlF7h2z>l5NbwNU`nOv*v_t*FhpBA5S-VA%iV_N79 zVRXA>6kc`OQ!PFKRT3%2hx*p;zfmKzb7ipdcVBy(v|x(i16Bk=~?t z5D*aQy#T6>i_=Mpif2Bi=X41cp9 z0-}34un;$amW-!;MS~l5(_gQg$iE@QpMGgI#Ul0xjI8RYHAx59C|~?`Pkv^>%Snlw zz8h9d`|s-$Qaw||4v9=mT7>Ywe~Y>TJs{(``?6!*CkezmXSlA+c|W=n66c(MtAEZd z=gg8b?&&G|8;WOODy2a?3KS$i{FoYu?aFaT{+WP7o@^oN4lZRZ?T+|i8v+%-U%G3( zu7550o3?Q}u4i?c3cGgrT^?Vo0-m5#*IeHK%@8qjRD3e{p%jYEOD$>dknCg^7S{GE zG6stSxD|ssQ|`MNn5^gpi6A3h`=5AZbltJ9e*UESbtxmry zo0&~sTHrZk&adZ@8=Tu*-F$xFJw0=J`>~JmWh^y562&L=-B<#UNGttrvMqIL99tD% zySspU4_}WaL~HU@x{N%0`&K3|aM>7yKcy?jmSZ;fLou2oqYbKip1wZy)W@_DDHGK^n@i0y%K?RHYU5g(iv-skRgz%=9$#w5mAa(Gfva8&`Mc@^4aK<=H^ zUl+l%f=G{~tXTUci*IHeY?O55L^Yn;J!BWFwj2A-1gck*+7p*SGcUpqFw0fSA?a~xD z%}nMwU!g>216ADL7>whCr+0RKGd>1S^<+-22;{T$;&x=+3X`BX_PoG|*D0*-&oKj; z>y|5z?yFKJROAzO%S%lYlqb0gMb|x?Gaz6?T?u%b{a;q`hDmsJo_0!Jwpy4#JNIe$ zu~in!x+qnYR^QrDHMpajoaRcs<|*xGaJL&Ot|_HfC+qbzfmEV@3pR4;OfGtEEP>}<8&=`=rilc5C_)FJCDh(*zk8w-SwM05M$`ics< z2^Ft>H7_>lPA%1w5RQeWA*(Bn>DGm7_rDA@PD%X>faFPvlWtD;rkN#uLN>9|$QCXC z`=Z>nPNVeh+-BsVR?%_D{t-M_Ed$iHhmRj@O21alN%3-((>dENjL%gcr8H-}HbUHX zMp;ZD8<@54gwuoBf52+)Qp4(BDSZ}z*rZbp0K9!~|k z_+^i}yg3?X8Neo*YcIV<3(+n+V_ul{kgpkLGqTvr;aj%1giz6xTAM^whbEp;Z0yK4 z)A**fzY|+x;@mH);+g7N_0H2Bn{S_7Ou>2;g^z?rKwU!nM?U>~MXtZ3$#)br-{GnmvkaGv&Tx7%L)>Aq?*PNT4^jwJwZ+HfO>&#Yb%Fa3@R(?````<;F z4PQF(bP>`}qPA}dUql558T2v0dJMSOg||)Eb|_nnqytn^neBosL0BjKqU*GCz-+Q} ze<`8q-V9FEDL{e5xkOK0XNRU;$U`R3wX%+4+izlb)~S~}A@ z;8Z7O6y%kDv#GgG0P_pMJ}9Y^`otHz`-1q*u$^&F7DDU41f*T>#1+c(l3()>6>glR zt?V?z%I;T>3YYEvAflJcb;s%=VW4A9-NWqZPr=*a6!dnC-JxJ(`v{1U@h1Jao6MQBP`;f8O0VQemi)k zwUBe(0>pEnBS}{E+YxT`TUQh^R=UJCV2k_gCF4))2O^C6c!(*W%<*t5v>FW7qlVH8 z9w(}_rv@Mka!$!Xf{-+^hJ5zy&o{dt2nkmyeP*hNFus%F{}v_8H#{PAw^*_kW4dHO zy=3Y)^F8PUC%Oq^YZ(P!K3&-$;Vm`=R2IO0>VA5MMxbl1Ahf_2Ce*8j_}xY*gv&F% zEyhxTU!vL9YTD+0!jTy^Wz8)XatcbO|xJN_?IL(ydr zPs0?Y{!{eg@!ftJvTo;24c>xDiGyB8usCIjPV1LNbVp6Oo%*jYo^&BzL4EP45hS)mK5{tu=KT9WgF8dv0SL9S2uBcxs zF8C=)*Hw1mh%kGPfVTJ0z}IkLo> z3sVWG<^VP^C$phteYg~>2*6{hE4XfnhMdv#8%Cb*@+BQ}XTON{Kt6)8lhU|WlO7>3 zH=2a{-K?8A>ys0wrUKM=-7S}`r`cTBl>63D-b~2sH$Mw!ekIS;0dAh6Q>R;ir=LAl zl#anYr${z{`k~yQSEhQtbl7z8w&EBEgN2}HzpB9w5a70<+OJv+G_Ob0Ue9$r8w^6c z?cBfPk4SNav$S}5V8u(1qa7OP2r{sgI3KtfH+Fe`|*F&9oAdHdQkC$ zyF4yaxKsB`JU1ZRn2+c9K$c}`g>F2Scu;F7Ij@cUFB6;-2p!i{-&Bvt*E+vVi3 zZ(~~JG^J6YEoG8Dr3^V40Mj3`xn3C-thB(8JpMf2g>J){3ZOT>a9(P~c6+ba!s7a+ zI?2(gYIqNML8Q}rwS;^(E!i2DICp$kd#LEPrENwYV>!BXFSBiD4Qfz)k|=AIDQ4D{ z`D$;2H|Wev2^J?)g{|l>pLlIzbK2LN7%tTx?BcDP51t+NoX0Se;EsKLutlpa5{Byt zFe&(O`MDcjN21<*{(r4!UDVuPR}(U2pMyJZ&q5;im0?uos@O7}q-Ua-cOT(#Sj&j6 z$a@27R``2w?GQu;znwL=yacO6}!;_s2FNOXQv66g) zWO;+Q9^W%P>#+lt!t*p-g+dYYLQFGtvC*$b=jF{n#cJ1XI*!`;2PP!mP@!t~MqyND zN7cDjW-yPL)GS`_MZF?OJ|MVT!=zi2qL6%&h z8!A8Z*VcMZ{*3Yq>PRrYPYXxxd&bIMe@AE`l#~_z;1vBWZ$Nl)$@pv$|5TOV)DHVc zV!KS~C(+2ux;}e%Gc?2VUa7SN-9BTqy(i$9BvUST>tT!91{K&PyMou3gyTaTdHuk- zPZybfhu}0?YdLjrY;{Uqu` zPnx4t|M>)T0`|h!c=c?;EGjyfYZY#Awv>0-4~Eq>1&c*@{PeDNWG-gj*i$fH#K>-C2Pg^7T7pfkPo{-14A5tVbIScUx%BFQ4F>7sCQTfUI$&4o;9r84+Dqew8Z z`}!yUR{tA+A|&%cje6{8t7ZexE#m5oe>Q9+IMsc5>5C^5gRwY4E&!lg2R_3%E%<|) zz0yFK5S2eCd8zqi%SL#X=Ya^t#_-1}I4?qKB?#z7bclpM^=~qB65ra5L2UNdehGzF zhYr3W0nRGA;*+fRl6!xKG?SpQSssIW>57lI%}`pTy^MMB)SP;~t2LTc zyXl}*BuU<_f!4u)4%+oV56Zu5@;__V(%yXDK166|_GMl-&8&k6IPyEL-f!;6;?$-x z;OYQApmgU6jmwokf3g4{nvhU#bKb(phXepk$4ZQ{Pvt-$$rB$R(Bs?`ivIynV|*^d zaln8F9LvP~#hiG&S>1b`CgV#F9WUi@^6cr^pSEKubS&TIGgCL2R9IU8b}h{4&!eZ* zm`67UC1kU8qFppb$hrbrzU6Ziox$>&XFA_nVa1arUs@RR98M=mZm2`!q83i?PoC5HV*B%zzrWcC z{h2qSK<*mW$Q_`Q(`7Lk9#y`XzyIp@m+ImnJi=%bB`jjMX8>;ht3`mr!jhAk)28S1 zqECWOo~;A>DzbCB7gL&Yo^Wd6TrNCVk-hZGpzhca?=uUHPEiEsg$MN|BN_Rz8qnF; zl=s#F<&C|q!*_K(H5TZwFeNL0*Ll(Ach{|Nt^DVZxFtbcsI6smQj!0th$tY0M!zxmbnz_U$o1lZhe++n=*ITX-{T$17CXI3(W}lw&9c^4 z6;c!or_qvN295h(jVFMH7n!#_BIXK-t95a!-MGJ5!$dLL8?k>vv4&epF`N8HQ`qs& z4K>hZWO8q4U~-+Tp^%&yTTHoaLB=V*bs`ALi*}zbVQ9rp1XQ^isW!;SuFMmEE$1Aq zprO>7z!swkp3k|_^Cg}jUxW|?6Kjm8i&ovdgi&G$cKjan;?nLYo^ig~X6`b*{*&we zQDKVt={RjTVg&(yCHt+zrQhZE_2iLJOQRZxtkcu6P05!ShSCD_eL1^@%7#)qJ&gFN z%%baJFDAW*Qsn&H>v1zi+Ar+U^^~X>B1f(8psu3@@tFU)rs=!d%FHT@=fC!=)N>}w4-x;#T{aBb3Xuik4SQuD!Kb?lXII56X+{9)C43YQjFXnc2>AfH`w zZU6=VnF~~#NzR>iWo5;ptYB}?ecwKR<$d&XG zryvdbF{oGM8<%q#9gJj7|5AT2wpxB-ai|@6*~ml$4H%3!s22tb0p!t%9f-K|V~U9! z-;0NF|NPeX|GrrXV|Ue{k~r`^9wW>zHbY7cZtj#ndp*EllFzV*I^*LDOg2%^=o zf(X()Wbi->C`ZB9Hh7O-oCE=t6GD6~5gJ&iTX+ld)wGcd^7(aaCz#zUrqBjnSsRec zZpUG}aAQ-??rwz%yZDWMgD>%(6U+f#3Ivi+YLZJt_|7(i{sRC4;Yx9(mX{XvZ z6=*izvoC#oSrcqeF9qbYXK@&qMj{X1kFPY64PWvn zGDf|LoJSJeKi*k18SeqL>{f8|_pz!Z9i~t9nq;b7{HnnuP!viI7;zT{tr6Ym7}TH* zEFr6GdZW9qj{uTpUVMvQf(&ZK(be^HIpM)#FLk-aB7Oh4gF=F!F=$8ljWAh%F{u}Q zDEzjDcKzM7n$-&3iWEZBoY+(FUElG#^KHxaKir=^ z7bI7SY53HLyu9Mm^p^pAS;|R5kzS!*BKCW$Km6_AH$DpmJg=16AQK;)SlL^TkaP8~)1_8K++^Y4vY+U-Ac=hkY_r)^f^ z*XW(Yoc)N7lSy||VOSa0J}HuVl)ADfYRN+=DA9$RKi|W~-SZW8yCDK=2@HtbIgroX zSs;+t`H{@%%Ibl^$+@e;@#1)}q<}e{7)4*gVArIs#$DXLNQ0yA)>`qB^WZuuW7AE( z)Cr4XL%4v9XE**F|GHm%KJaYOKEb&$mjO>*z~idz9h(RE`$8zW-I4Y!b`w40LTbCM zdxl`*g`(Yf!#`vv?PrL}ALYuo$u4>~yz(DEIUVM=RJFjYS(bT@Qs83&{5N(YrUYm1 zB4-6WQlB~lf=JO?D)9ED%}P!QPI3b0L!xI}$m>!rm}`C~2oBfUjqjPrbI#2`#mf_- z`YF#p`I(ZKju6VDxyxH+4ioAF%$=5os^!FITm6^6Boy3_{<+Pha23L1CIFi068dw$ z99<@IA@4x3^9c&>0uWza+iSr99-7rW561u0tfm%I^V_VoX=EDn`M~B4Ov)`JfSY}K z$g5YB)G#2RsLs4PTIipbXqFw816=yA()1EPzxd#@P-MI6F;6mWCeQjThBr;49=Cq;4u$SAgH&%Pjnlg>{b%KUhmJ|3< zDsnoS zDKo(%HHNOygDZm?GxzXB0`%#1eL0?=ULhkND|=*L)w9B<`mz8R`d7qo0DO7oHGIoI z%H4cq^00aK{|S=787zKrR`}+98F0pRyOEo4>;NzR!@PkcY8=;B^L`rpfwpvfh%u_- zx_F3WS-m7Z^P2L!=kSxBfSLZo?qFCN)aR}*O$KtFdi^&pb)yzxeSCgMP~%s4RAbyQ z@iuj&|FhaD2Y=xm8o`U(_!hUvSN^d)xvyc7UDg5u7~nZ`qWqxIED9;cCsXMv3i z^{d}y3IH}Fa#(q6fP(XeQup0QhfWyO{gpjCUd}XV@#9$XlQ4&}v|X0rrnZ{9riYgB zXsNHJg*PC7KCF(Gc@LT4omkD;PT|Xo)zN|g0PL{bwB5yfH>$qwC$-6oYCY{IfQe_Z z7$xO;^pD>e&UT*!Yd0^MvJtAMpw5M1ye}K2y;%l6cnkstzSJEr$V~fpD?|4` z8hlFoG+bB<*Jp2a8#`1NX)&*MypR`d5LVZ^rW~T-x5a(R{MTC&JT3ph`b3cMvM}r- zBzBb{Mi7k8RxCNE1JFhS$c%+mP@(Jg=@#KOa4q-Y^P&kVO11y(sh@t;JA@;)SzzM< zWJH<~6c2`svPaU8YS{H+JO|_T|KQ(phWzP|`EQK)c6IFBTWWk}(&W1d1CjjmsO0k= zll6&8?G0f|vztwtvI{-)tBNluPvf4}4y2lg;sDzju^g`gj;9}WIs{*AsnFmHRWv1; ztHSE>!I+btcvDq$L$LADnA6@`@1bH*M}>9ao0GlQ_nc>8rgsMg3@H}-GJ}N1-S2B@ z*@Mm|W4yzKlLNMsBzmMK-ih4f^1}bC0UHB&=;!A&^o|$mnZ~!kab-}xqjuj{wr=|{ zA$?)Fjc74~e$fNafyYm@lyIE93i(~>B`oySPXPdAz_32afJ5Vu{uoY?rQGGwI^Z=!X1ot* zeRN&Fgg9$aj#+SR|sPA5_H5UZ>{U>mgfh%$W0UaSQEWh=J#6 zD}+CLZ{VfA1;+D*w>_-U6BJhV4_hm6PEYs`R&f2}T=uV@7k*AXG0T5zu56zd#t+~< zi8a|W50Jh%@sEy)i%jRW+R+gtY3&U$*hrHE8_h=9MwgJreKio$8v5qFZDk zl)~o=e?67;rzfy_KDB#<;?s{B{El}^TL1^qna5^W64>ka$n+LzqYhn08J}zXdKbaf zYhyXCi=lRPJ9^)CbZ88V@i8PGbO**6*G zDO4v$ON07e#KL)je!`N#R5>-`zE{z)T$vBRR9N@E09@+Ta!N2j9j(!rtWRo@o`>XK-rg zZ$HQK&nn*+@tU_3nnKn*4hirF0{|Fb(JM9!lc~1L2BrvkH_V}|C<1|0DrETY4)Pav ziu@hEXhv4={81vYRkdiJi@X01d4SY!HCc0=^nmS4^@1X3(FbTDu4g{utV?wd6*L(BV0)c#l4c zb53T)-ZL$=vPtMLr`bOpH|PG8Z1{87qk6AC*WG-=q`*P~IO;19{9MRy&kKr#;A7wD zPC~5$jx_IvR$h40_yKwMMz1ZET=jskw%j4X07~v19Ck9(W#J)nZ^G!Me;3~U|LS?R zI$o|{loata_ZE`*j*%agZMp{yeuIF>WVJWXC*Ey;SK0Zd?eI~-M1H)8IBfp1U)jxq2~4Bd91Iw=5hVD!E-Cd z`L-r%~d9+yvVfr&XOeQT)OC$pxZ1VN9THuM;+r`pAAR2@R5}bQiinFvqeeM>qpMH%XxJ= zo^r6rugBKtgLs@OqH%6#A}kJo>6B)^+Nle zWNLZ2)$Dt;TS^Ik^BoH)C=c)NivM!6LB9K@%a4r+*?Iw(K<+q1?v`)U@IkL$-Acj_ zMNzTc;k_P%y#cStooWyl$^jF$V;}_^gZ@`(P|5gQARZQUm|Cg~@?*xHzV>iZ#nz*7 z?w24?bw7Ww-Zz(Y`0uezi1B}kOGmS9pDV@EcU(ZsU2`ua1@UuOsGY)>?3QR~XJdT6;^(1AJaID#zshI9!6bcpW zEUR%3UD?|Sv~l{|vo5Wl1*$vtjyzaOv5}ujQ_^|(CP2n zb4Lsplgs<~2Uda$W}}a_WiuxtIdP)sBF6B2tD3^DjF<304m`vnwl}N} z0`QrFc%E#|N-Vx)DTJ{TFgjxzlr1gVl#EcJ=8NkB5dk`Hpd~ox%>YB8#4QJ>M_>QHoRghqqP zRBo3keRqfKx_Q}<3_H8`k!lGWvX9g3NmW7E)Pu8uOzD>0muVR;O#k*y7djkGY@}VF zF-$CSp(7dG$Er>yYndOML00t%SS=8Pv%JtJ!jCz1NsP-opS0)b)wi~9sY!ZZg^D&t z8HnInE-e=+g%@LmQhD(TwNxOz@BwuvUJQR&$U`pd@jv9bS7)_9JyZ4N8ao|okpbs)4b;d2mB8m;o|91z=EEh%Pf9rUq!Ok6H z&6a3hT!h{FWJY%J<+Z}3V>DQ_j3i}6x_o=!H1BG0d%9u;1!~tN{tG-}lRck590{j! zDkllEAB{bqe+o|JH^_#Le4H2 zI|2@*$r6T>UQnri`81(u)w!54EFeKEy&I-OLdF^ROGZD0$FR<%dw+G_7LU4n84=BVL14bU7bmY#x-_Bl;v`V2TF@lWS|NOQI zN(#$0PL{Z@9gWX{CbnDMr_{%1={CuxwEb=`L9dW5ajNLzLzmR07NDBl4v}|~Psa6x z^Xn#!CeMWdrD#8q=7ydu-);wqW}xE{Er!aYU>qz>TTkUFS}yI;Gs=E$=?hfNt}BOv z?y~GaMFT6X^R6Uv3G@=oR}dbS&{v;HO;$&+^f%Ay(!ipgG*l zWEK@08|&#&;ruPcXHvQR1!x)R*gYB!FhO!IJs;aLNzLc>dTW!R&1JeC2LHHDKX+ zsNh1UGaKxYv}WZ;%4uWvmbGp<`Fanl3@y7)rhZ@xn!UdZdcd3n8+9~&M@t7%?4eql z#9%Z-Ou+CNf5LGZLkK+LmRZJ3t-+^WOfwbOI3ZjCG_L1O-wD05#zI^6trE;EMl)UL z*6#vvuGBgC-Wf26?Ics#bvelMgYrsY@_I`JG0yDgoi1$EAseOXK`vS}=>|w#mmZjD zpe`o?bv^zeAbvE{*}2k_x%74dIn!ltqE))XC#IF`0Fp>s*|k{?zI%bhEa*|k zaWZ?kUF#7q6}}Ud84)nuk&31R?!$KmK6+_~@2jJ7rog4!OK>Sg3hn?eg z@`nVLY*?4Qg3c!u!|uhK>(3oVg5jgJb1U@uP~(}`bX~&Q>~cSDy}jU(sbM4M%r@u} zT0Anqva#30wJ36LFZv}e%kyID;S44r@W4A384=~e6bS!uWcKIKiccDzXocK}an=>D zhRzkVo|jQ4u8({Q-G4IH<%^28>dal#MSX!9D~hdw_S~kYEtmfbk8=WJM2r2 zBy+hcFW7c=XGeyrU;(eEij!Z2*v=r>CVG{rU?JkYz$?ds)k#e-Aks1n&u75(X5w$$ z)`VNhGR>S z$G-fVTm>@1-Kl- z(w8tR80r*{eX}YTz}#5LkdK2dTYv7L{Ne}D9Tjw_=u`oWq~>s*Lk7{V;Oq{5rz~g+ zgDY{=5I&9Ur8Ryk%KqaMH7RH-NJqW}rr!nkWzBvir3Fl+nRO*PoJ<=cakH~m_K%j|}zaE=OUi7@%epmCTKSTu`H zdlGW#taQMp2X`s`K{QXs?;*Pi{jHdVUW&|<-2|xh4!age?doH|06HYC>1I5V$hu0< z@0n7|h`82Jo!0a}n^lvjaGGOr#co>~#2pq|k82{~qyiz`_LDAwmL%lY(~r}kbv6BDR8d;aY?Inby05ulkOr4&BMi6o?2PV`3Z>UZN`p_`ex z&A$sz6pNrE!GsGI7?9HZ4(UU=-yvE{3dRf!?!OD>c_@WsuZS8)h+-DzKaN|LjN_)r zKgxBe>(N=EDPcV(66~eFoAk({p9?SiF%o!<5KpqXlHPn!i zqd)9&v!BA#xhrCdY#&x60E`mP=tIM9LA@ecpsT=rBlYB>QRO$Fbk8AcA5JgCAfHh# zM-iR%rDn{nq~tH72E*a!pC%B~!+qA|wtN29XbOB>*DOcjgRZGvkMzsim9`+ zSF{hv{aCrsI+88%mSi}nWt_cfA^jl<-*-fUFZ579O>kOY(5f$z$`n0HtUVGH&fk?0 zvtVvve9hcHYprTSmKb-|$#~^hRn@phnjwT|xQA97kAgZv8Rlifmh-ghq`B()HDUw~ z`?Dxg62-_lHKy>Isg#KUCenM9J?OCJj>u`v2JO-eufLH$CZii45mzku^s;*O?rnef zGpIfBUhkg?_9$%WY9}~dscDhNi91Y`-H>&Y#EeAc=eXvELf!$uYG7?~=ioF6_WkyUus8ZcQ}5rP*7Ppbrh#(uC84vn&p=h$&P6&3?7WXq7jfj|OH&E| zhbD7}w2W3{3*l@1PuePg-;d*yI-u0au1p!>aWfh82!Y@JRQ~yZsIc6$G$h()ynH`ClNWM*{)LmZxO5SHc zkfh9M|IniB8@Ttn!(pDmxi8mqbq`7@EF{n_ulq3(RJaX4Go z`}x;T5zq|eZO9vqLnoeRdH0-JDoMXRFAY-(Ye8$|1QilBg@Pyk1J-1|$%`xdfhR)z ztiU#qVE(!(dWzD#J><-1dUW}U_~Sl=FWSG6P;MCdRTC5L_xVa#oyl;*gl-_u%lfq~ zSe$^=4KkgIy9|BdZSmzpD?vQNbP0p>IiYR*i^ zNV3xV+tc}nnDKsfyXGR<;p|&ynM;DFP8#cW5QB3~K zOu=b|4WBL0x8PgpA++Le!#CjpjVGd*qTA`i9gcC~kJui65D#Z})37nQ8?4P6L7Rd4 z|J5sqO%1jUYDZQ^xTE8B)rqz2R6@^4REC5?*=?apMkyZWWT2Uv7TG#%`y7M}t|8;! zuKJf*?lm_MFx)@!b(;XR%U1qzh=02|BrQ{@*C$iVKj}PBZ4@vset!xI%?bC;&bs?}Eul zYBLOIsBHJPbOLRW+WBcW4K~ofnD+D*UZ1RHfcyX|D{>+WI?uZYJLlWgwpY@IwiiZ* zu0j$7PAKgCOu}j$jj%u!#i$m%pz6A!B^WIXQ5g1t?myyjk05^60w1y1lWuD8^W;LqT)B?6(z#VUblQ zZ>R1P+UKlJ8fMyD(+^6{Yijs|9EYM@FKFMQ=FZfG&z~`&E8)Tk>C2SV|v-6!q2*c+evY~wy2+) z_p;vh_V;%TgVFO5T$Tjn==QmP->?D$=po#9+LUksVr&(k7!phM5;%4qcmP?N8Rvzo z_knr}?*CO!857(yo2(<3@oKsvXtenGxgL#~kHVgK8;}eOg{nn;KU5S@i(jo4@tn2? zn3JtnV|!2ce*>CC`^=%jyRnp7A7hg-V$wZtTHSBst+T$T+e64{hRD*JW>2w&{^i)t zAguj|#*;GwZBiyMIR+TZJi8DCbk9r_jxA8p3`me zG$)2O|5shNqD764Seiee6fi3H z-n5@RX+u5DREaZ0oDzzpQ^!b)y@<#1FT9ZUdCzP z8FI9p6E#}4B4(4Nwef?Y3#pIwCcYaoqz;_y-M_={K@7UAZM z%bSynRpgTBh;Ua#``iI10Digxtw%ie<4v#n4{-jCP%YZWRo{Zd3Fut)up4h1oYq{; z2Z~2eDquG~6m!NK0JYB{skZG%;v0*I0zVMr6O(Y746n^c5q*Sy&@a9qAHSFrPr4i( zpKoFxIY*qUvYwsR_O+OQ1Qj<-Aj758(Sg%F?b`^dIl*&gJmbOs@~sX@qNHG0#qZUW zMybX4zPzgsFH$TE>wdPqHr!Bd&Dw})KJ5Q4-S~Gx%55o}_HkT?lo=&CLYvNhKmiu= z;avQ9oB7F&U9on*^V@&tpfe>~p`dL*%zTgaNmzZWWs4avO_43Ty2bVDJWm&#EnfA; zRD1$;ZDf{x;-E#DT7SN|Xfcq31iO38cay>oDH(&9eSjMs_T60FC3TThMu$Nu!PIJW zsP&&((?*x0ZE`ue?M%BPQ+eku;Iqnn(0q{ZU1D=xctZ-(8gDe}@U`yW?S81;W$Mce z1|-M_$yD3Vmt@pxqzNUB8#_G4=!!b+WXCCeVjb{bmJw0?(x(ybqH|Sbwb%ify}-K9 z4us4_=93;Pbt$CKhi_i?OHD{JpY>&iizyp+n6@bFi8%pknH`PWIe%C^>w*%Stgxuj zUAmqUTQD?Al$WSpOd%xzZ`y#wSOeydw!m$zej`av_a*04K`Q_U!kGI<5o5MNsuw_M zy%Q(Twi(zvU+PKYd$Kju7M7n?`n0)lnF()>{g-xZ@9q_uRNs)Cb0+{pm4iWOgK75m zwp{!sKJV*H2-&w!R{;lLz7x5@FF?-y`wPbx&LnvSf?pTVEb`vl@@lCo)YzQ*CF1y$ zYnLhZPuccBc@jve8h>G@Rqyu|j&l7^uhvA#c!Q%+ zxqEeW%_|S=s|rSTs0+dI#r0tq+W2wkSQx9ey?%ms%gc}yv z+Zu=BPZ(rN^U+z~F&wvuyaK^*qO%iwq2^1cD>Q!MP<;8Yd1LCEHPQ2Kp{VqF2KP+P zFa<)0dmSGkQ%Ub|u09WmaHOBaS@qynK~~cV=uyDEF@-6<{v9u5?1y0o%&&tu?uK;< zOounLj1ZhtG^z4r{8oUqvYwhet_pes3R;0!F>*A)auDuUt{Y*0iaeoZXJCd1UmSWG zObf{-I;8g|0Of?$NA}a0Zy(ORYr^J5rlK3AEr#_NY^vmCw(|HkS=!$wa@(8b+cUPD zzNMh+Vv)7QO$tY~rq&r9aQrL_{gHK#lT;KV@QKmFx`YvrPwJC*^2%m5x6jUA6QKrNO+2V$-I_=O^iV%uo+HGT*M|Bz)Gc&J4)pivY;NJG^WpQFYYichvAP$M^$82f1dl>$*&F8 zk+~&pB^Gh^Q~FVFSz!P{5r+586A?Q(J@QGaX!Dyc>}Omh;a|JC9R$=>{Pw&Rf4++X z_+lL&x`@Nco4y?j8Qs@TAKJZ{9Q0&S|8gV0dN~8RpOK<}^Kun%nRxzw5njj(glndw zw8rHwUT9|$=T$DLgqV0&{~mWujaApdmWTex3+7?JN(_seO!9;>G*ap~;MEYERy~Vp zALqs41_$e)RyW24f$5Q%Ma`RaYQlPWbvjA5SVVsp-rU+{i}gtU@H~Na5$#-H;tBE# zkb)nWi3%d6mw<83xR zyRMMB%cdFuzcDefTyP2)q{PjpXV;ymHeaem(uO)iks%C?rujtNirvl5Up}AwIWI7% zfM=Z?+g&Ut$sG#5pV#0XB4&Ka6_ZgxN9tMx-Ql&i2zlo&GO+w|U;bwla zY~z2XN@nV|Kdb_ENCo2cIsNHTsQvhPIKH!66tx_j%5&GkP)d(^sgWK9a^x(uE6E$T z0k-UgKUV#3WIOM0dsma69-ZvBp_oS5UA^o;UviHnWQ z0&kW!hwr4IP2>>>R!M`)0kUUP26Z*S~UH<16yf-LyDE`@gP*MwpEtjihQoQ9bTWKiBk#c*g+uKau1-tfF z8j(?|O3kSyYogLRhthO%FvyQ&mJjT@L5jBY56T7tE+F{f0pr_&Q1)$?Q)pOwV9UEG z8(+Q~v9>5?s`#U($NnHuf9gN%)3!Ol!%0(loO8fJZO5WYyOG+kKC1d=DE&Rb#T5vx z$g1`9lo#X%iQkRdizZ3DWFiPJ!YLB7dI?m4&0Sy>~TBr0nX&ZbD1ZrC$5a9)S(iBmt%w|L))ZQV%2p1*%py_mP~sf6?5k&XK)k@t`I zU(GTq-XK~=e#i||>_SP4{mAzs-A`IplZ(KAz%Lxt0Y1drLDI#A@vGmTn@{!!fO_kb zmI`UvMmaMC;){^N#<(L!<~bPn?k5D2F?KR7{I#4rvKAk{*4 znb%=Enun3VZNV_3jB?Bi@wvb#tgLM?c$nW>K-lQ^J;)FV@(K{?sXM|nG*~|9-~A!9 ztp3>h($S~!NJAj$(mC805m!e~EqT>)E8GL0?ThE8wD-&_iP`+v z)tRq=2>}vsWL_$a-lX4JWu>q8SWuBB#@s_lIFnJ)CEeJa>ktnakC9-`k+OE(X>7c{ z&8ED-lFt+y?l4_-9r6U*whDPSZthDC^y<2%5xXE~S(AG6hxP42oj9h}y->F}yyuz1 z_mln9C%LYi;Ru{Gm>y2|EKf^W^{vd?eH01gNsE(Xnzs{8-oOzp_`JR6EVk}))~ulp z7SFHS0nYl-x*NCuw0ysvanB!LVUC7M%{_D)-dv-oKaVHm8}9vE4bOMp+@TqOKr|Bl zoPYm3J!HABXOqWurvbUQK>&eUPhaa#KjZ|cpF5imU@;DpRdo0pC%OVDZ8{N-6EvpT zdh82j8M?TJS4He%_PsVIXd3E*eGpc)Htzhr&ZQL7n5!{dvAFmfAY}2DsF8RoQuAw4vRjGUZ~q+QGY==QN&eQeOcE4=R{3%QCYJoKQt6C{W>Z z^1l(L=+hA!OpakDrr>23at7sLFBAy&4wxs09xJY29XR+95Qf)0d7O5S8vo&vpmB6Y zhSPDiEWch!YoBG8T8D~KYdMfXM|G?bzu$$cU+tL;T1;3=a~mZ0x6r%S!~-lv=i76d zJk89I<-jN!FE(~kyyK1I*Qd$!+2Q5VObG|AotJB4<~l$q=y#(Ri_PE(E#%EYH#wLM zCUUSj6Lf`ur4#F)`Muwe1&eD1qGv#of}?{m{of_Jx~E!FD_NxXOpw9;!=s|IUwR%? z#Pg_763z=pFx}N+F8Ceomw?&zczW9;Cy_DDGpER`KX>g9|72DxjelDN10muI{XjQP z=n7N+b9!@HH&wZ@8}IT1Zp5Y<>>?myfttpPoeKuOEDg=^97fHa_6j)Hre4872^ebSRH*tuR>0^JP zea5Ykq9ms`tqX<818_Z+8_w9bv1I4~9b=>PCe_o}Y+o$~AXRXCCz2VhR;hp0!^HP!wN0|NKHvYzoJQ_u^u7-Fk%vZoiGQu25SMf9$wGLmzbnZ?R>7wi^{` z#*7r4R+wD6-AzQKyJ_no!Ckkp{BGcz_t(ai8q*{iHnfQm*9?=Be*?8z$e(p9?84cjp+hbpP@=ke+nkOQFKmY_Z z@RG}nW-j;=&9QxD6FNPt&n2*~jf=Xz0oVwNrk92t-|r<|a+S~(-o6&*Xfes&jwPlL zn+6&QBI-V#lLjk_H8Ps&J^cb9c)yPSDTwW|{5t~jMd2tqQb>~2Yd)}wDv5(kcgv9G z)4w*1fc(`x$cw>gVGoxHkIi~RkSBuZzbTJHsJX7Bj_7*KfgI)-)a!b929~B{F#c{) zzglZN`J?T%QV)5b&8h)^%*=9+%+j10FO<+)b;zA%8RYr90N?|t z0%2(sOIS2VpvB~=Gr;1h8&uno90arou7Vwvjl4vDUQ)@LTkjtl8vnv&%x9*CFy8*iMV#S;Uk{M8D}&Zh?7TRJ~OEbUWJxQQY zE9eh$ZYwLR&wKUD7X5v~t2O-2^Z1hj$Pf~!MlzO6IprBuf2%8>BC)tj&RHh~h6E{Y zhI$zdZYK;l~T{(61%YAnB@Zaw7$w0XOS)WCd*Y*Q_Jpgs9yI^b#$mJ6hl z^oy$B|0;(BY$V9UR2QGudsXYZiSDus3yExr+4_ds21a%OMo`Y9SPdXJZ_SfzNCB!E zR}K~LKB)z|6~r9?=BSg?dA;HMgp~N4!y57x6oVVwH-iaJXQFy_`Cguc8#YLN&^9ye zgASp9D8qxJMc`-psNzwmV!ND=aEuDcMP?0Z9i zl0G`4$s7F@0wID5wSChq)G0MHo%VKSNt1GUQ0u$?+XVoi{2R{4i?byCihblxDS>aj zeSRYUE-kGFW5cfg;&p^@3&7270(D=~jslG{TJu}jctypZB)Kn5HVxp>Ua^w4B%-B6 zKbdo8UR3?%qrghYzzpw*&)BrRLcWS3_bS`f?P*g;d4VM*7a-Il1- zsfK<8aHaq}78`$I9Bo=$MTMx#Qa_zY5=NcQw&+F+jLowDm#O=`OP~cnMO3&}G_$7p z9vwk}PMneW@`7S&Xmy(6P*XzBIh0dwIyN6C*GL%E9Z*>X2_ceISa>JR18AN6Z!ATxw4pV2U)9Os z88kUOXc4|R6y>h`nl@3E#%y86FRfuGiP@&1^?I_4bgrNv)Fp%`BgQ)Ikw$g}NXT48 z8};Y{l3gl!d5d1S`KLDY~eCAe_IA4k=CQT0UV@~5~^ zt+5R$l?8R=2#=lSm0RJx95=qSUN~dunfU#S?S5{4=1q>_7I&s0F9gLdp#4Xb5h{ zREj!IEODv#?_7{{AtCHWWI#u%)vWO?-u)*=%B1=Yy__kMkB;eSg6jTZZ z;J3J|*(95y$I&;y<*sK+9sal&IDWAD!njLaE*1r?vgK0hB?A9+JkSNO8Tlr9;rWW7 ziH=;Md8n=7>GKczHC6E_G*tDRhqur`yF$w7>^XcZIVz zDfr4~{77we|?Jz4P-$95&}R2K#zWGy((8kMf9li5Kms%=1y!ZVMsiQ zK`nWtj}Cl>^++}mh8Z07or&(Yi{qIxC=_3%G(;t*M9qLk%AOe5^sIP&JfsoYcSQ^x z;A<#NLSGSX!O!$nC?+t(d&{qfiBBMGg(FbStonypP_=pSLt^z%o1wEeojL6Lo8d~a zPlaZDZ>;cIf}PmbR{9NIvSw2fgnfnDJ!$Z!H%vH(KWiER@hggh?gX(em=9)Z{(baJ z(suw=5IUW*|j@&24nJ#n{_yWaJ zPSyi4o4b<+#RoQfajjBAJ!|4#^{^T7Cae4t?S7w4$WRq>>hS9O@J}0Q zqlHBLcDNBq;p`wCdq7`?bCO=kqdk({*vX@)roQ(SQxnk!`2$buqLJn{4WUHf5DvtI zc6avnD8XwQLR~#^VAx;wU6)^S*BCd^^snz)cZUpm@hZp6UDJRbRue>MZ?-Y>>Ax?Y zk!6|2*6&HP!X6Sr;ip-s;=OEUj#q(a#@2BWtt4lRtSYUVW zg~-$stj*HN>Q~6gG?ZjVXO(;YJx97aS^HSfJx1Atu)L(sEANQYQ!VzsaAMQWxRn3b zm-EzXqj&IhTN zkzO?IwQf!Kjvm+h-6MttXpG0%vW-x7`09=%)gr0)?f3fnOoL)dfXky(&Vu15DGqcq z?3{^O-};HTi+xYMI$7bSr%9N;Q_hC9OTUT(N4I$pc0a!x?rRzrrW>A> z)J}AWmER^{^e%IeNLw1z1>HSDzM*2wEbY~ALN?wYue>b3_

_nY!}!C&*PX>aO+& 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 literal 0 HcmV?d00001 diff --git a/.gitbook/assets/foundry-osd-domain-join-zero-touch-01-readiness.png b/.gitbook/assets/foundry-osd-domain-join-zero-touch-01-readiness.png new file mode 100644 index 0000000000000000000000000000000000000000..ed2d7211465afb6914fb90c1d4cf7acf8383682d GIT binary patch literal 238365 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∋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

_jW+1|!WQZF3&jjIbqGslWD) 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

}K#_II6tYq3kAxg=0%w#HP;N%r%C>&1;_mWOEj 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

O&Wn1YKl~Efcx!Vvuj@CT@T!Vl?cy=*OKJJg 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 + Domain join step of Foundry Deploy on Interactive media with the domain list, empty account and password fields and the OU list +

Interactive media: choose the domain, enter the join account and its password, then choose the OU.
+
+ +
+ Domain join step of Foundry Deploy on Zero-touch media with the domain list and the OU list only +
Zero-touch media: only the domain and the OU are left to choose.
+
## Review and start diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index dae60c2..1960483 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -9,6 +9,11 @@ Use **Domain Join** to join the computer to an Active Directory domain during de Only one of Zero-touch Domain Join, Interactive Domain Join and the [Windows Autopilot](../autopilot/README.md) modes can be active. Open the page you want and choose **Enable**; Foundry asks for confirmation when it replaces another active mode. **Disable** removes the join from new media and keeps your settings. +
+ Zero-touch Domain Join page before it is enabled, with the Enable button and empty Domains and Organizational units cards +
A Domain Join page before it is enabled: choose Enable, then list the domains and their OUs.
+
+ ## Before configuring - **Network.** The join happens in installed Windows and needs the domain at that moment: the computer must reach the domain's DNS and a domain controller. Listing OUs in advance does not make an offline join possible, and the Internet check in Foundry Connect does not test access to the domain. @@ -70,13 +75,6 @@ Instead of typing distinguished names, you can read them from the domain. The search uses your Windows account, not the join account, so it does not prove that the join account can use these OUs. When the domain holds more OUs than the search can return, the dialog says that only some of them are listed. If the domain cannot be searched, add the OUs manually. -{% hint style="warning" %} -**Screenshot required** - -- **File:** `foundry-osd-domain-join-01-organizational-units.png` -- **Capture:** Show a Domain Join page with two domains in the Domains card and the Organizational units card of the selected domain listing at least two OUs, one of them marked as default, using sanitized demonstration data. -{% endhint %} - ## Existing computer accounts When a computer account with the same name already exists in the domain, for example when a machine is redeployed, Foundry reuses it instead of creating a new one. If an OU applies, the existing account is moved to that OU without being deleted, so its group memberships and policies are kept. Without an OU, an existing account stays where it is. diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index 02bbad3..996d6f9 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -13,12 +13,10 @@ Interactive Domain Join does not need [Password protection](../general.md#passwo Choose **Disable** to remove the join from new media. Your settings stay available for later. -{% hint style="warning" %} -**Screenshot required** - -- **File:** `foundry-osd-domain-join-interactive-01-configuration.png` -- **Capture:** Show the enabled Interactive Domain Join page with two domains in the Domains card and the Organizational units card of the selected domain listing at least two OUs, using sanitized demonstration data. -{% endhint %} +
+ Interactive Domain Join page listing three domains and the OUs of the selected domain +
Interactive mode lists domains and OUs only; no account or password is stored.
+
## What the technician does diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index 3fc400c..ae27eff 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -13,12 +13,10 @@ Choose this mode when the media should carry the join account, so technicians do The **Status** column of the Domains table says what each domain still needs: **Ready**, or for example a missing password. Problems with the shared account are shown under that account. -{% hint style="warning" %} -**Screenshot required** - -- **File:** `foundry-osd-domain-join-zero-touch-01-readiness.png` -- **Capture:** Show the enabled Zero-touch Domain Join page: the Shared join account card with a demonstration account and a masked password, the Domains table with one domain using the shared account and one using a dedicated account, both Ready, and the Organizational units card. -{% endhint %} +
+ Zero-touch Domain Join page with a shared join account, three domains marked Ready and the OUs of the selected domain +
Each domain uses the shared account or its own, and shows Ready when nothing is missing.
+
## What the technician sees From 11dd240832f28e0b17e7c3ada04e835780fe80b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micka=C3=ABl=20CHAVE?= Date: Thu, 8 Oct 2026 21:31:41 +0200 Subject: [PATCH 31/31] docs(domain-join): use the same example names as the screenshots The text used corp.example.test and CORP\deployment-join while the screenshots show corp.contoso.com and djoin@corp.contoso.com. Co-Authored-By: Claude Opus 5.5 --- foundry-deploy/domain-join.md | 2 +- foundry-osd/domain-join/README.md | 4 ++-- foundry-osd/domain-join/interactive.md | 2 +- foundry-osd/domain-join/zero-touch.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/foundry-deploy/domain-join.md b/foundry-deploy/domain-join.md index 00b908a..e7c0333 100644 --- a/foundry-deploy/domain-join.md +++ b/foundry-deploy/domain-join.md @@ -20,7 +20,7 @@ The **Domain join** step sits between **Drivers** and **Summary**. It appears on | --- | --- | | Several domains listed | Choose the domain. The default is preselected. | | One domain listed | Nothing. The domain is shown and cannot be changed. | -| Interactive media with no domain listed | Type the domain name, such as `corp.example.test`. | +| Interactive media with no domain listed | Type the domain name, such as `corp.contoso.com`. | **Account and password** diff --git a/foundry-osd/domain-join/README.md b/foundry-osd/domain-join/README.md index 1960483..16f3274 100644 --- a/foundry-osd/domain-join/README.md +++ b/foundry-osd/domain-join/README.md @@ -27,7 +27,7 @@ Both pages share the same lists. One media can serve several domains; during dep Under **Domains**: -1. Choose **Add**, enter the **Domain name** (a DNS name such as `corp.example.test`), then choose **Add domain**. In Zero-touch the dialog also asks which account joins that domain; see [Zero-touch Domain Join](zero-touch.md). You can list up to 32 domains. +1. Choose **Add**, enter the **Domain name** (a DNS name such as `corp.contoso.com`), then choose **Add domain**. In Zero-touch the dialog also asks which account joins that domain; see [Zero-touch Domain Join](zero-touch.md). You can list up to 32 domains. 2. The first domain you add becomes the default. To change it, select another domain and choose **Set as default**. What happens during deployment depends on how many domains you list: @@ -44,7 +44,7 @@ What happens during deployment depends on how many domains you list: Select a domain under **Domains**. The **Organizational units** card then shows the OUs of that domain only. -1. Choose **Add**, enter a **Display name** such as `Workstations` and a **Distinguished name** such as `OU=Workstations,DC=corp,DC=example,DC=test`, then choose **Add OU**. The distinguished name must be an organizational unit of the selected domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. If the entry is refused, the dialog explains why so you can correct it. You can list up to 1,024 OUs per domain. +1. Choose **Add**, enter a **Display name** such as `Workstations` and a **Distinguished name** such as `OU=Workstations,DC=corp,DC=contoso,DC=com`, then choose **Add OU**. The distinguished name must be an organizational unit of the selected domain, so it starts with `OU=`; a container such as `CN=Computers` is not accepted. If the entry is refused, the dialog explains why so you can correct it. You can list up to 1,024 OUs per domain. 2. Alternatively, [import OUs from the domain](#find-and-import-ous). 3. When a domain lists several OUs, select one and choose **Set as default** to preselect it for technicians. **Clear default** returns to no preselection. diff --git a/foundry-osd/domain-join/interactive.md b/foundry-osd/domain-join/interactive.md index 996d6f9..6d89dfb 100644 --- a/foundry-osd/domain-join/interactive.md +++ b/foundry-osd/domain-join/interactive.md @@ -23,7 +23,7 @@ Choose **Disable** to remove the join from new media. Your settings stay availab The Deploy wizard shows a **Domain join** step before **Summary**: 1. **Domain name**: choose it when the media lists several domains. With one listed domain it is shown and cannot be changed; with none, type it. -2. **Account** and **Password**: enter the join account, as `DOMAIN\user` or `user@domain`, and its password. For example, an administrator may supply `CORP\deployment-join` for `corp.example.test`. +2. **Account** and **Password**: enter the join account, as `DOMAIN\user` or `user@domain`, and its password. For example, an administrator may supply `djoin@corp.contoso.com` for `corp.contoso.com`. 3. **Organizational unit**: choose one when the domain lists several; the default, if you set one, is preselected. A domain that lists a single OU uses it without asking. For a domain without listed OUs, **OU distinguished name (optional)** accepts an OU of that domain; leave it empty to use the domain's default location. Changing the domain replaces the OU choices with those of the new domain and keeps the account and password already typed. diff --git a/foundry-osd/domain-join/zero-touch.md b/foundry-osd/domain-join/zero-touch.md index ae27eff..2a0b2f5 100644 --- a/foundry-osd/domain-join/zero-touch.md +++ b/foundry-osd/domain-join/zero-touch.md @@ -6,7 +6,7 @@ Choose this mode when the media should carry the join account, so technicians do 1. In [General configuration](../general.md#password-protection), turn on **Password protection** and enter the **Deployment password**. Zero-touch Domain Join cannot be used without it. 2. Open **Domain Join > Zero-Touch** and choose **Enable**. Confirm the replacement if another Domain Join or Autopilot mode is active. -3. Under **Shared join account**, enter the **Account**, as `DOMAIN\user` or `user@domain`, and its **Password**. Every domain uses this account unless you give it its own. Use an account provided by your Active Directory administrator, such as `CORP\deployment-join`. +3. Under **Shared join account**, enter the **Account**, as `DOMAIN\user` or `user@domain`, and its **Password**. Every domain uses this account unless you give it its own. Use an account provided by your Active Directory administrator, such as `djoin@corp.contoso.com`. 4. Under **Domains**, [add each domain](README.md#list-the-domains). To join a domain with a different account, choose **Use a dedicated account** in the domain dialog and enter that account and its password. 5. Optionally [add or import OUs](README.md#list-the-ous-of-a-domain) for each domain. 6. Resolve the messages shown on the page, then [create or update the media](../media/README.md).