2.2.5 WDS_OP_GET_DOMAIN_JOIN_INFORMATION

This opcode is used to query policy for joining the deployed OS to an Active Directory domain.

The request packet MUST include the following variables:

VERSION (WDSCPL_VAR_ULONG): MUST be set to 1.

CLIENT_MAC (WDSCPL_VAR_WSTRING): MUST be specified in the same manner as defined for CLIENT_MAC in WDS_OP_GET_CLIENT_UNATTEND as specified in section 2.2.3.

CLIENT_GUID (WDSCPL_VAR_WSTRING): MUST be specified in the same manner as defined for CLIENT_GUID in WDS_OP_GET_CLIENT_UNATTEND as specified in section 2.2.3.

The reply packet from the server MUST include the following:

VERSION (WDSCPL_VAR_ULONG): MUST be set to 1.

FLAGS (WDSCPL_VAR_ULONG):

The value for this variable is a bitwise OR of the following flags:

Flag

Description

WdsCliFlagJoinDomain

0x00000001

MUST be set if the client is required to join an Active Directory domain. The client MUST NOT join a domain if this flag is absent.

WdsCliFlagAccountExists

0x00000002

MUST be set if a computer object for the client machine already exists in Active Directory domain.

WdsCliFlagPrestageUsingMac

0x00000004

Only used when a computer object for the client machine does not exist in the Active Directory domain.

When this flag is set, the client MUST use the MAC address of the network interface card being used to communicate with the WDS server for the netbootGUID attribute when creating a computer object for the client machine in Active Directory domain.

When this flag is not set, the client MUST use the client machine GUID instead.

WdsCliFlagResetBootProgram

0x00000100

When this flag is set, the client MUST reset the client’s boot program, either directly through Active Directory or through WDS_OP_RESET_BOOT_PROGRAM.

When the MACHINEDN variable is specified and is not the empty string, the client MUST reset the client’s boot program directly by deleting the value for the netbootMachineFilePath attribute for the computer object in the Active Directory domain.

When the MACHINEDN variable is not specified or is specified to be the empty string, the client MUST reset the client’s boot program through WDS_OP_RESET_BOOT_PROGRAM.

When this flag is set, the client MUST delete the value for netbootMachineFilePath attribute for the computer object in Active Directory domain.

MACHINEOU (WDSCPL_VAR_WSTRING): This variable is set to an empty string if the client machine has a computer object in Active Directory domain.

For a client machine that does not have a computer object in Active Directory domain, this variable specifies the organizational unit in the Active Directory domain where the computer object for the client machine MUST be created.

MACHINENAME (WDSCPL_VAR_WSTRING): For a client machine that has a computer object in Active Directory domain, this variable is set to the value of the samAccountName attribute of the computer object after stripping any leading dollar sign characters from the attribute value.

For a client machine that does not have a computer object in the Active Directory domain, this variable is set to the machine naming policy that MUST be used by the client to generate a unique computer object name for the client machine.

MACHINEDOMAIN (WDSCPL_VAR_WSTRING): For a client machine that has a computer object in the Active Directory domain, this variable is set to the name of the Active Directory domain where the computer object for the client machine exists.

For a client machine that does not have a computer object in the Active Directory domain, this variable is set to an empty string.

MACHINEDN (WDSCPL_VAR_WSTRING): For a client machine that has a computer object (account) in the Active Directory domain, this variable is set to the distinguished name of the computer object for the client machine.

For a client machine that does not have a computer object in the Active Directory domain, this variable is set to an empty string.

FIRSTNAME (WDSCPL_VAR_WSTRING): This variable is set to the first name of the user identity being used to communicate with WDS server.

LASTNAME (WDSCPL_VAR_WSTRING): This variable is set to the last name of the user identity being used to communicate with the WDS server.