web-dev-qa-db-fra.com

Comment supprimer cet objet Ordinateur Active Directory orpheliné (de préférence avec PowerShell)?

Je travaille à partir d'un poste de travail Windows 7, avec PowerShell V2.0 et j'essaie de supprimer un objet particulier (orpheliné?) À partir du conteneur LostAndFound dans une forêt de R2 et de domaine de 2008 et de domaine avec le Active Directory Recycle Bin activé et sans avoir de chance avec quoi que ce soit .

Important, j'ai besoin de supprimer cet objet, et Cet objet seulement (plutôt que de supprimer chaque objet avec la propriété IsDeleted, Ce qui semble être tout ce que je peux trouver de l'aide).

Je dois la supprimer, car afin de résoudre une relation de fiducie brisée, l'ordinateur a été disjoiné du domaine (provoquant probablement l'objet d'aller à la corbeille de recyclage, puis au conteneur LostAndFound), et nous 'D Aimez lui donner son nom d'origine (qui est basé sur le numéro de balise d'actif sur le PC). Tentatives de rejoindre l'ordinateur au domaine avec le nom correct a échoué avec le message d'erreur ci-dessous (The specified account does not exist)

enter image description here

et tenter de le renommer au nom correct une fois que c'est déjà sur le domaine échoue avec le message d'erreur ci-dessous (The account already exists)

enter image description here

donc, le PC réel est actuellement assis avec un nom incorrect que j'ai besoin pour corriger.

Cependant, une tentative de suppression de cet objet annonces donne l'erreur: The specified account does not exist. Le nom distingué de l'objet a un \ caractère (backslash) en cela, que je suppose, c'est due à être dans le conteneur LostAndFound, et je me demande si c'est le problème ... et comment le réparer. Je couronne ma coquille comme un domain admin, vérifié que domain admins Le groupe a pleinement le contrôle et la propriété de l'objet en question et n'arrive tout simplement pas à comprendre celui-ci.

L'objet en question (quelque peu expuré):

Get-ADObject "CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv" -IncludeDeletedObjects -Properties *

accountExpires                  : 9223372036854775807
CanonicalName                   : MyEmployer.prv/LostAndFound/SomeComputer
                                  DEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6
CN                              : SomeComputer
                                  DEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6
codePage                        : 0
countryCode                     : 0
Created                         : 12/7/2012 9:25:30 PM
createTimeStamp                 : 12/7/2012 9:25:30 PM
Deleted                         :
Description                     : HP6300
DisplayName                     :
DistinguishedName               : CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=
                                  prv
dNSHostName                     : SomeComputer.MyEmployer.prv
dSCorePropagationData           : {5/21/2014 1:40:31 PM, 12/31/1600 7:00:00 PM}
instanceType                    : 4
isCriticalSystemObject          : False
isDeleted                       :
LastKnownParent                 : OU=Workstations,OU=Computers,OU=One of Our Sites,DC=MyEmployer,DC=prv
lastLogonTimestamp              : 130451668084269817
localPolicyFlags                : 0
memberOf                        : {CN=PCMilerComputers,DC=MyEmployer,DC=prv}
Modified                        : 5/21/2014 1:40:54 PM
modifyTimeStamp                 : 5/21/2014 1:40:54 PM
msDS-LastKnownRDN               : SomeComputer
Name                            : SomeComputer
                                  DEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6
nTSecurityDescriptor            : System.DirectoryServices.ActiveDirectorySecurity
ObjectCategory                  :
ObjectClass                     : computer
ObjectGUID                      : 90a13eaa-c7b0-4258-bebb-87b7aed39ec6
objectSid                       : S-1-5-21-1708945318-605057401-313073093-5882480
operatingSystem                 : Windows 7 Enterprise
operatingSystemServicePack      : Service Pack 1
operatingSystemVersion          : 6.1 (7601)
primaryGroupID                  : 515
ProtectedFromAccidentalDeletion : False
pwdLastSet                      : 130451667147545072
sAMAccountName                  : SomeComputer$
sDRightsEffective               : 15
servicePrincipalName            : {Host/SomeComputer, Host/SomeComputer.MyEmployer.prv}
userAccountControl              : 4096
userCertificate                 : [Not included]
uSNChanged                      : 54007434
uSNCreated                      : 5004556
whenChanged                     : 5/21/2014 1:40:44 PM
whenCreated                     : 12/7/2012 9:25:30 PM

Rien que j'ai essayé semble travailler et j'ai beaucoup essayé. Sur cette note, ce que j'ai essayé ci-dessous.

Premièrement, avec une plaine, une ligne PowerShell cmdlet:


Get-ADObject "CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv" -IncludeDeletedObjects | Remove-ADObject

Confirm
Are you sure you want to perform this action?
Performing operation "Remove" on Target
"CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y
Remove-ADObject : The specified account does not exist
At line:1 char:145
+ Get-ADObject "CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv" -IncludeDeletedObjects | Remove-ADObject <<<<
    + CategoryInfo          : NotSpecified: (CN=SomeComputer\0ADE...MyEmployer,DC=prv:ADObject) [Remove-ADObject], ADException
    + FullyQualifiedErrorId : The specified account does not exist,Microsoft.ActiveDirectory.Management.Commands.RemoveADObject

Ensuite, la même chose, référençant le GUID à la place.


Get-ADObject "90a13eaa-c7b0-4258-bebb-87b7aed39ec6"  -IncludeDeletdObjects | Remove-ADObject

Confirm
Are you sure you want to perform this action?
Performing operation "Remove" on Target
"CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y
Remove-ADObject : The specified account does not exist
At line:1 char:94
+ Get-ADObject "90a13eaa-c7b0-4258-bebb-87b7aed39ec6"  -IncludeDeletedObjects | Remove-ADObject <<<<
    + CategoryInfo          : NotSpecified: (CN=SomeComputer\0ADE...MyEmployer,DC=prv:ADObject) [Remove-ADObject], ADException
    + FullyQualifiedErrorId : The specified account does not exist,Microsoft.ActiveDirectory.Management.Commands.RemoveADObject

Ensuite, lisez la valeur en une variable en premier. (Essayé avec les deux GUID et DN, en montrant un seul, car ils donnent la même erreur).


$blah = "90a13eaa-c7b0-4258-bebb-87b7aed39ec6"
Get-ADObject $blah -IncludeDeletedObjects | Remove-ADObject

Confirm
Are you sure you want to perform this action?
Performing operation "Remove" on Target
"CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y
Remove-ADObject : The specified account does not exist
At line:1 char:60
+ Get-ADObject $blah -IncludeDeletedObjects | Remove-ADObject <<<<
    + CategoryInfo          : NotSpecified: (CN=SomeComputer\0ADE...MyEmployer,DC=prv:ADObject) [Remove-ADObject], ADException
    + FullyQualifiedErrorId : The specified account does not exist,Microsoft.ActiveDirectory.Management.Commands.RemoveADObject

Ensuite, j'ai pensé que je pouvais vivre avec devoir appeler dsrm au lieu de le faire de manière native.


dsrm "CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=Lost
AndFound,DC=MyEmployer,DC=prv"

Are you sure you wish to delete CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv
 (Y/N)? y
dsrm failed:CN=SomeComputer\0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv:The specified account does not exist.

Ensuite, j'ai dit à l'enfer avec la rendant automatisable, je vais simplement cliquer avec le bouton droit de la souris et Supprimer via Adsiedit .

enter image description here


Alors, enfin, je avale ma fierté et je demande ici. Comment diable est-ce que je me débarrasse de cet objet? Il existe clairement et son existence cause des problèmes, mais toutes mes tentatives de la supprimation de Active Directory sont remplies de mensonges. damnés mensonges et messages d'erreur.


Mettre à jour:

Autres choses qui n'ont pas fonctionné, basées sur des commentaires, des suggestions et des discussions avec Serverfaulters:

Échapper à la 0, comme si le \0 représente un octet nul.


Get-ADObject "CN=SomeComputer`0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv" -IncludeDeletedObjects | Remove-ADObject

Get-ADObject : No superior reference has been configured for the directory service. The directory service is therefore unable to issue referrals to objects outside this forest
At line:1 char:13
+ Get-ADObject <<<<  "CN=SomeComputer`0ADEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv" -Includ
eDeletedObjects | Remove-ADObject
    + CategoryInfo          : NotSpecified: (CN=SomeComputer ADEL...MyEmployer,DC=prv:ADObject) [Get-ADObject], ADException
    + FullyQualifiedErrorId : No superior reference has been configured for the directory service. The directory service is therefore unable to issue referrals to objects outside this forest,Microsoft.ActiveDirectory.Management.Commands.GetADObject

Échapper à l'ensemble \0A, comme s'il s'agissait d'un retour en voiture ou d'une nouvelle ligne, comme dans DOS (essayé avec `n,` r, `n`r et` r`n). Tous ont renvoyé la même erreur, alors indiquée uniquement.


Get-ADObject "SomeComputer`n`rDEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv" -IncludeDeletedObjects | Remove-ADObject

Get-ADObject : The object name has bad syntax
At line:1 char:13
+ Get-ADObject <<<<  "CN=SomeComputer`n`rDEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv" -IncludeDeletedObjects | Remove-ADObject
    + CategoryInfo          : NotSpecified: (CN=SomeComputer
DEL...MyEmployer,DC=prv:ADObject) [Get-ADObject], ADException
    + FullyQualifiedErrorId : The object name has bad syntax,Microsoft.ActiveDirectory.Management.Commands.GetADObject

Échapper à la \0A comme un aliment de forme (oui, d'être un peu désespéré).


Get-ADObject "CN=SomeComputer`fDEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv" -IncludeDeletedObjects | Remove-ADObject

Get-ADObject : Directory object not found
At line:1 char:13
+ Get-ADObject <<<<  "CN=SomeComputer`fDEL:90a13eaa-c7b0-4258-bebb-87b7aed39ec6,CN=LostAndFound,DC=MyEmployer,DC=prv" -IncludeDeletedObjects | Remove-ADObject
    + CategoryInfo          : ObjectNotFound: (CN=SomeComputer♀DEL:...MyEmployer,DC=prv:ADObject) [Get-ADObject], ADIdentityNotFoundException
    + FullyQualifiedErrorId : Directory object not found,Microsoft.ActiveDirectory.Management.Commands.GetADObject

Puis je pensais que je devrais déterminer si le \0A caractère était même le problème, alors j'ai choisi un objet différent, je me suis préoccupé par la corbeille de recyclage avec le \0A ficelle dedans et essayé de l'éloigner. Ça a marché.


Get-ADObject -Filter { Name -Like '*DEL:*' } -IncludeDeletedObjects | Remove-ADObject

Confirm
Are you sure you want to perform this action?
Performing operation "Remove" on Target "CN=SomeServer-SomeJackass HP LaserJet 1320
PS\0ADEL:eddb23e7-b8d8-4d00-801f-22d82c169d66,CN=Deleted Objects,DC=MyEmployer,DC=prv".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y

Confirm
Are you sure you want to perform this action?
Performing operation "Remove" on Target "CN=SomeServer-SomeJackass HP LaserJet 1320 PCL
5e\0ADEL:6e72e78f-f110-492c-ad50-91107f6fbd6a,CN=Deleted Objects,DC=MyEmployer,DC=prv".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y

20
HopelessN00b

Basé sur - ce post , vous devrez peut-être essayer de supprimer l'objet sur des contrôleurs de domaine spécifiques. Vous pouvez essayer d'exécuter votre get-Adobject avec le paramètre -Server afin de déterminer si l'objet est limité à des DC spécifiques. Ensuite, je ferais la même chose avec le Supprimer-Adobject.

1
Tim Ferrill

J'ai une idée qui pourrait juste fonctionner, cela peut sembler un peu simple ou hors de l'ordinaire, mais si je me souviens bien cela, cela a travaillé pour moi dans le passé avec des comptes orphelins. Si vous pouvez déterminer le nom de compte exact, le système que vous utilisez est recherché, que ce soit un compte d'utilisateur ou un compte PC/serveur, essayez de créer temporairement un compte du même type et le même nom. Donc, vous remplissez essentiellement les blancs, afin de parler et de donner au système exactement ce qu'il veut.

Donc, s'il s'agit d'un compte PC/serveur, demandez à une machine de revenir au domaine avec le nom exact qu'il recherche, mais uniquement dans le but de créer le compte. Ou s'il s'agit d'un compte d'utilisateur recrée le compte d'utilisateur avec le même nom, etc. Vous devrez peut-être exécuter la commande gpupdate/f dans l'invite de commande pour obtenir le serveur de reconnecter le compte nouvellement recréé par l'OU orphelined.

Ensuite, essayez d'essayer de supprimer l'orpheline ou que vous vouliez initialement supprimer. Une fois que vous avez nettoyé l'OU, vous pouvez alors supprimer le compte que vous avez créé pour cette tâche.

J'espère que cela vous aidera à sortir

0
Frank R