Export (0) Print
Expand All

Rename-Computer

Published: February 29, 2012

Updated: August 23, 2012

Applies To: Windows PowerShell 3.0

Rename-Computer

Renames a computer.

Syntax

Parameter Set: Default
Rename-Computer [-NewName] <String> [-ComputerName <String> ] [-DomainCredential <PSCredential> ] [-Force] [-LocalCredential <PSCredential> ] [-PassThru] [-Restart] [-Confirm] [-WhatIf] [ <CommonParameters>]




Detailed Description

The Rename-Computer cmdlet renames the local computer or a remote computer. It renames one computer in each command.

This cmdlet is introduced in Windows PowerShell 3.0.

Parameters

-ComputerName<String>

Renames the specified remote computer. The default is the local computer.

Type the NetBIOS name, an Internet Protocol (IP) address, or a fully qualified domain name of a remote computer. To specify the local computer, type the computer name, a dot (.), or "localhost".

This parameter does not rely on Windows PowerShell remoting. You can use the ComputerName parameter of Rename-Computer even if your computer is not configured to run remote commands.


Aliases

none

Required?

false

Position?

named

Default Value

Local computer

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-DomainCredential<PSCredential>

Specifies a user account that has permission to connect to the domain. Explicit credentials are required to rename a computer that is joined to a domain.

Type a user name, such as "User01" or "Domain01\User01", or enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password.

To specify a user account that has permission to connect to the computer that is specified by the ComputerName parameter, use the LocalCredential parameter.


Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Force

Suppresses the user confirmation prompt. Without this parameter, Rename-Computer prompts you to confirm the action.


Aliases

none

Required?

false

Position?

named

Default Value

False

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-LocalCredential<PSCredential>

Specifies a user account that has permission to connect to the computer specified by the ComputerName parameter. The default is the current user.

Type a user name, such as "User01" or "Domain01\User01", or enter a PSCredential object, such as one generated by the Get-Credential cmdlet. If you type a user name, you will be prompted for a password

To specify a user account that has permission to connect to the domain, use the DomainCredential parameter.


Aliases

none

Required?

false

Position?

named

Default Value

Current user

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NewName<String>

Specifies a new name for the computer. This parameter is required. The name cannot include control characters, leading or trailing spaces, or any of the following characters: / \\ [ ].


Aliases

none

Required?

true

Position?

1

Default Value

none

Accept Pipeline Input?

true (ByPropertyName)

Accept Wildcard Characters?

false

-PassThru

Returns the results of the command. Otherwise, this cmdlet does not generate any output.


Aliases

none

Required?

false

Position?

named

Default Value

False

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Restart

Restarts the computer that was renamed. A restart is often required to make the change effective.


Aliases

none

Required?

false

Position?

named

Default Value

False

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.


Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.


Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see  about_CommonParameters (http://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • None.



    This cmdlet does not have parameters that take input by value. However, you can pipe the values of the ComputerName and NewName properties of objects to this cmdlet.



Outputs

The output type is the type of the objects that the cmdlet emits.

  • Microsoft.PowerShell.Commands.ComputerChangeInfo



    When you use the PassThru parameter, Rename-Computer returns a ComputerChangeInfo object. Otherwise, it does not return any output.



Examples

-------------------------- EXAMPLE 1 --------------------------

This command renames the local computer to Server044 and then restarts it to make the change effective.


PS C:\>Rename-Computer -NewName Server044 -DomainCredential Domain01\Admin01 -Restart

-------------------------- EXAMPLE 2 --------------------------

This command renames the Srv01 computer to Server001 and then restarts it to make the change effective. It uses the LocalCredential parameter to supply the credentials of a user who has permission to connect to the local computer and the DomainCredential parameter to supply the credentials of a user who has permission to rename computers in the domain. It uses the Force parameter to suppress the confirmation prompt and the PassThru parameter to return the results of the command.


PS C:\>Rename-Computer -ComputerName Srv01 -NewName Server001 -LocalCredential Srv01\Admin01 -DomainCredential Domain01\Admin01 -Force -PassThru -Restart

-------------------------- EXAMPLE 3 --------------------------

This command renames multiple computers in the domain. It uses a CSV file to specify the values for the current and new names of each computer. The CSV file contains a series of name pairs in "OldName, NewName" format with one name pair on each line of the file.

The first command uses the Import-Csv cmdlet to import the ServerNames.csv file into the $a variable. It uses the Header parameter to specify the column header names of each of the two columns. This creates a collection of custom objects in $a, each of which has an OldName and NewName property.

The second command runs the Rename-Computer cmdlet on each object in the $a variable. It specifies the old name (the value of the OldName property) for the value of the ComputerName parameter and the new name (the value of the NewName property) for the value of the NewName parameter. The command specifies domain credentials and uses the Force and Restart parameters to suppress all user prompts and restart each computer after it is renamed.


PS C:\>$a = Import-Csv ServerNames.csv -Header OldName, NewName
PS C:\>Foreach ( $Server in $a ) {Rename-Computer -ComputerName $Server.OldName -NewName $Server.NewName -DomainCredential Domain01\Admin01 -Force -Restart}

Related topics



Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft