Microsoft WDS reference: Modifies a pre-staged client device. The syntax and selected example below are adapted from the pinned Windows Server 2025 reference. Module availability, target configuration and delegated permissions determine whether it can run in your environment. Documentation and parameter text: Microsoft, CC BY 4.0; formatting adapted by Cmdlet World. No execution testing is claimed.
Use an account with the target resource permissions documented for Set-WdsClient. Modifying administrative cmdlets may require elevation or delegated administration. This catalog does not assert that ordinary users can execute the command.
Supported environments
Windows / WDS · Windows Server 2025 documentation; feature/module prerequisites apply
Parameters
-AsJob
Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete. The cmdlet immediately returns an object that represents the job and then displays the command prompt. You can continue to work in the session while the job completes. To manage the job, use the *-Job cmdlets. To get the job results, use the Receive-Job cmdlet. For more information about Windows PowerShell® background jobs, see about_Jobs.
-BootImagePath
Specifies a path of the boot image. This is the path of the boot image file for the computer.
-CimSession
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.
-DeviceID
Specifies the ID of the computer. This identifier is the GUID of a network adapter, a MAC address, or a DHCP unique identifier associated with the computer.
-DeviceName (required)
Specifies the name of the computer associated with the pre-staged client. This is a sAMAccountName value.
-Domain (required)
Indicates that the cmdlet refers to pre-staged clients in the domain specified by the *DomainName* parameter, instead of the domain of the server that runs Windows Deployment Services or the whole forest.
-DomainName
Specifies a domain name. Specify a value for this parameter only if you specify the *Domain* parameter.
-Group
Specifies the group name of the client associated with the pre-staged client.
-JoinDomain
Indicates whether to join the computer to a domain as the account specified by the *User* parameter.
-JoinRights (required)
Specifies the rights to assign to the account. The acceptable values for this parameter are: - Full. Assigns full access rights, which includes the right to join the computer to the domain at any time. - JoinOnly. Requires the administrator to reset the computer account before the user can join the computer to the domain.
-PxePromptPolicy
Specifies the prompt policy for this computer to boot in PXE. The acceptable values for this parameter are: - Adopt - NoPrompt - OptIn - OptOut
-ReferralServer
Specifies the name of a server. If you specify a referral server, the computer connects to this Windows Deployment Services server to download the network boot program and boot image by using Trivial File Transfer Protocol (TFTP).
-ResetAccount
Indicates that the cmdlet resets the permissions on the computer so that anyone granted appropriate permissions can join the domain using the account specified by the *User* parameter.
-SearchForest (required)
Indicates that the cmdlet refers to pre-staged devices in the current AD DS forest. If you do not specify this parameter and do not specify the *Domain* parameter, the cmdlet looks for pre-staged devices in the local domain.
-ThrottleLimit
Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.
-User (required)
Specifies a user, in the format DOMAIN\User or User@Domain. If you specify a value of $True for the *JoinDomain* parameter, the cmdlet assigns the user the right to join the computer to the domain specified by the *Domain* parameter. To join the client computer to the specified domain without granting any user rights, specify a value of $True for the *JoinDomain* parameter, but do not specify a user.
-WdsClientUnattend
Specifies an answer file as a relative path from the RemoteInstall share. This file contains information for the Windows Deployment Services client user interface screens, such as entering credentials, selecting an install image, and configuring the disk.
Prerequisites
Windows with the WDS module and the Windows feature or management tools that provide it. Confirm target connectivity and version compatibility using the linked Microsoft reference.
Security considerations
This cmdlet changes system state. Review every target and parameter in the official reference, test outside production, and prepare an appropriate backup or rollback. Do not execute the example automatically.
Examples
Example 1: Modify a pre-staged client in the current AD DS domain
This command modifies a pre-staged client named TSQA087. The command specifies a boot image file, a device ID, and a referral server. The command changes the prompt policy to opt-out. The command specifies the *ResetAccount* parameter, so the command resets permissions so that anyone granted appropriate permissions can join the domain. The command also specifies an answer file that is named Unattend.xml. Source: Microsoft, CC BY 4.0; transcript prompt/output removed. This example was not executed.