Synopsis
Description
The NewName parameter specifies the new name for the restored object. If the NewName parameter is not specified, the value of the Active Directory attribute with an LDAP display name of “msDS-lastKnownRDN” is used. The TargetPath parameter specifies the new location for the restored object. If the TargetPath is not specified, the value of the Active Directory attribute with an LDAP display name of “lastKnownParent” is used.
The Identity parameter specifies the Active Directory object to restore. You can identify an object by its distinguished name (DN) or GUID. You can also set the Identity parameter to an object variable such as $, or you can pass an object through the pipeline to the Identity parameter. For example, you can use the Get-ADObject cmdlet to retrieve a deleted object by specifying the IncludeDeletedObjects parameter. You can then pass the object through the pipeline to the Restore-ADObject cmdlet.
Note: You can get the distinguished names of deleted objects by using the Get-ADObject cmdlet with the -IncludedeDeletedObjects parameter specified.
Parameters
-AuthType
Specifies the authentication method to use. Possible values for this parameter include:
Required? false
Position? named
Default value Microsoft.ActiveDirectory.Management.AuthType.Negotiate
Accept pipeline input? false
Accept wildcard characters? false
-Credential <PSCredential>
Specifies the user account credentials to use to perform this task. The default credentials are the credentials of the currently logged on user unless the cmdlet is run from an Active Directory PowerShell provider drive. If the cmdlet is run from such a provider drive, the account associated with the drive is the default.
Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false
-Identity <ADObject>
Specifies an Active Directory object by providing one of the following property values. The identifier in parentheses is the LDAP display name for the attribute.
Required? true
Position? 1
Default value
Accept pipeline input? True (ByValue)
Accept wildcard characters? false
-NewName <String>
Specifies the new name of the object. This parameter sets the Name property of the Active Directory object. The LDAP Display Name (ldapDisplayName) of this property is "name".
Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false
-Partition <String>
Specifies the distinguished name of an Active Directory partition. The distinguished name must be one of the naming contexts on the current directory server. The cmdlet searches this partition to find the object defined by the Identity parameter.
Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false
-PassThru <SwitchParameter>
Returns the new or modified object. By default (i.e. if -PassThru is not specified), this cmdlet does not generate any output.
Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false
-Server <String>
Specifies the Active Directory Domain Services instance to connect to, by providing one of the following values for a corresponding domain name or directory server. The service may be any of the following: Active Directory Lightweight Domain Services, Active Directory Domain Services or Active Directory Snapshot instance.
Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false
-TargetPath <String>
Specifies the new location for the object. This location must be the path to a container or organizational unit.
Required? false
Position? named
Default value
Accept pipeline input? false
Accept wildcard characters? false
-Confirm <SwitchParameter>
Prompts you for confirmation before running the cmdlet.
Required? false
Position? named
Default value false
Accept pipeline input? false
Accept wildcard characters? false
-WhatIf <SwitchParameter>
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
Syntax
Restore-ADObject [-WhatIf] [-Confirm] [-AuthType <ADAuthType>] [-Credential <PSCredential>] [-Identity] <ADObject> [-NewName <String>] [-Partition <String>] [-PassThru] [-Server <String>] [-TargetPath <String>] [<CommonParameters>]
This cmdlet does not work with an Active Directory Snapshot.
C:\PS>Restore-ADObject -Identity “87s78svd-2afd-49fb-8bd8-eac48c6ab59f” -NewName “Ash Dive” -TargetPath “OU=Finance,OU=UserAccounts,DC=TOSSolution,DC=COM”
Restores the ADObject while setting the ‘msDS-LastKnownRDN’ attribute of the deleted object to -NewName parameter and setting the ‘lastKnownRDN’ to the -TargetPath parameter.
C:\PS>Restore-ADObject -Identity “CN=Ash Dive\0ADEL:87s78svd-2afd-49fb-8bd8-eac48c6ab59f,CN=Deleted Objects,DC=TOSSolution,DC=COM” -NewName “Ash Dive” -TargetPath “OU=Finance,OU=UserAccounts,DC=TOSSolution,DC=COM”
Restores the ADObject while setting the ‘msDS-LastKnownRDN’ attribute of the deleted object to -NewName parameter and setting the ‘lastKnownRDN’ to the -TargetPath parameter.
C:\PS>Get-ADObject -Filter ‘samaccountname -eq “AshDive”‘ -IncludeDeletedObjects | Restore-ADObject
Find a deleted user whose samaccountname is AshDive, and restore it.
C:\PS>Restore-ADObject -Identity ’98sd7877-4355-48ee-b3b6-4fda6917d31d’ -Server server1:50000
Restore an AD-LDS object using ObjectGUID.
C:\PS>Get-ADObject -Filter ‘msds-lastknownrdn -eq “user1″‘ -Server svr1:50000 -IncludeDeletedObjects -SearchBase “o=app1,c=us” | Restore-ADObject
Restore an AD-LDS object using msds-LastKnownRDN.
Get-Command Restore-ADObject
. Get-ADObject
. Move-ADObject
. New-ADObject
. Remove-ADObject
. Rename-ADObject
. Set-ADObject