मैं इस अनाथ सक्रिय निर्देशिका कंप्यूटर ऑब्जेक्ट (अधिमानतः PowerShell के साथ) को कैसे हटाऊं?


20

मैं Windows 7 वर्कस्टेशन से PowerShell v2.0 के साथ काम कर रहा हूं, और एक विशेष रूप से (orphaned?) ऑब्जेक्ट को LostAndFound2008 R2 में कंटेनर से हटाने की कोशिश कर रहा हूँ FL फ़ॉरेस्ट और सक्रिय निर्देशिका रीसायकल बिन के साथ डोमेन सक्षम, और कोई भाग्य नहीं है किसी भी चीज़ के साथ ।

महत्वपूर्ण रूप से, मुझे इस ऑब्जेक्ट को हटाने की आवश्यकता है, और यह ऑब्जेक्ट केवल ( IsDeletedसंपत्ति के साथ प्रत्येक ऑब्जेक्ट को हटाने के बजाय , जो ऐसा लगता है कि सभी मुझे मदद मिल सकती है)।

मुझे इसे हटाने की आवश्यकता है, क्योंकि टूटे हुए भरोसे के रिश्ते को हल करने के लिए, कंप्यूटर को डोमेन से हटा दिया गया था (संभवतः रीसायकल बिन में जाने के लिए वस्तु का कारण बनता है, और फिर LostAndFoundकंटेनर में), और हम इसे देना चाहेंगे इसका मूल नाम वापस (जो पीसी पर परिसंपत्ति टैग संख्या पर आधारित है)। निम्न त्रुटि संदेश के साथ सही नाम के साथ डोमेन में कंप्यूटर को फिर से जोड़ने का प्रयास ( The specified account does not exist)

यहां छवि विवरण दर्ज करें

और नीचे दिए गए त्रुटि संदेश ( The account already exists) के साथ डोमेन में पहले से ही विफल होने पर इसे सही नाम पर बदलने का प्रयास कर रहा है

यहां छवि विवरण दर्ज करें

इसलिए वास्तविक पीसी वर्तमान में एक गलत नाम के साथ वहां बैठा है, जिसे मुझे सुधारने की आवश्यकता है।

हालाँकि, इस AD ऑब्जेक्ट को हटाने का प्रयास त्रुटि उत्पन्न करता है The specified account does not exist:। ऑब्जेक्ट के प्रतिष्ठित नाम में एक \(बैकस्लैश) चरित्र है, जो मुझे लगता है कि यह LostAndFoundकंटेनर में होने के कारण है , और मैं सोच रहा हूं कि क्या समस्या है ... और इसे कैसे ठीक किया जाए। मैं अपने शेल को एक के रूप में चला रहा हूं domain admin, सत्यापित किया गया है कि domain adminsसमूह के पास प्रश्न में ऑब्जेक्ट का पूर्ण नियंत्रण और स्वामित्व है, और बस यह पता लगाने के लिए प्रतीत नहीं हो सकता है।

प्रश्न में वस्तु (कुछ हद तक कम):

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

कुछ भी नहीं मैंने कोशिश की है काम करने लगता है, और मैंने बहुत कोशिश की है। उस नोट पर, मैंने नीचे क्या कोशिश की है।

सबसे पहले, एक मैदान के साथ, एक पंक्ति 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

फिर, एक ही बात, बजाय GUID संदर्भित।


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

फिर, पहले एक वैरिएबल में मान पढ़ना। (GUID और DN दोनों के साथ की कोशिश की, केवल एक दिखा रहा है, क्योंकि वे एक ही त्रुटि उपज)।


$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

तब मुझे लगा कि मैं इसे मूल रूप से करने के बजाय डीएसआरएम को कॉल करने के साथ रह सकता हूं ।


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.

फिर मैंने इसे स्वचालित बनाने के साथ नरक में कहा, मैं बस राइट-क्लिक करूंगा और इसे एडीएसआईडिट के माध्यम से हटा दूंगा ।

यहां छवि विवरण दर्ज करें


इसलिए, आखिरकार, मैं अपना गौरव निगल रहा हूं और यहां पूछ रहा हूं। मैं कैसे इस लानत वस्तु से छुटकारा पाऊँ? यह स्पष्ट रूप से मौजूद है, और इसका अस्तित्व समस्याओं का कारण बन रहा है, फिर भी इसे सक्रिय निर्देशिका से हटाने के मेरे सभी प्रयास झूठ, शापित झूठ और त्रुटि संदेशों से मिलते हैं।


अपडेट करें:

सर्वरफॉल्टर्स के साथ टिप्पणियों, सुझावों और चर्चाओं के आधार पर अन्य चीजें जो काम नहीं करती हैं:

से बचने 0, जैसे कि \0एक अशक्त बाइट का प्रतिनिधित्व करता है।


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

पूरे \0Aको बचाना, जैसे कि यह एक गाड़ी वापसी या नई लाइन थी, जैसा कि डॉस में (`एन,` आर, `एन` और` आर` एन के साथ आज़माया गया)। सभी ने एक ही त्रुटि दी, इसलिए केवल एक बार दिखाया गया।


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

भागने \0Aएक रूप चारे के रूप में (हाँ, थोड़ा हताश हो रही)।


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=SomeComputerDEL:...MyEmployer,DC=prv:ADObject) [Get-ADObject], ADIdentityNotFoundException
    + FullyQualifiedErrorId : Directory object not found,Microsoft.ActiveDirectory.Management.Commands.GetADObject

तब मुझे लगा कि मुझे यह निर्धारित करना चाहिए कि क्या \0Aचरित्र भी समस्या थी, इसलिए मैंने एक अलग वस्तु को चुना, जिसमें मैंने एडी रीसायकल बिन के बारे में ध्यान नहीं \0Aदिया और उसमें स्ट्रिंग के साथ इसे उड़ाने की कोशिश की। इसने काम कर दिया।


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


4
सर्वर फाल्ट पर प्रश्नों में प्रौद्योगिकी की न्यूनतम समझ प्रदर्शित होनी चाहिए। अन्यथा, पोस्ट अक्सर सीधे क्यू एंड ए के बजाय चर्चा मंच में बदल जाती है । सबसे अच्छी सलाह जो हम आपको दे सकते हैं वह यह है कि इस तकनीक की मूल बातों पर शोध करने में आपकी मदद करने के लिए एक सलाहकार को नियुक्त करें।
क्लेनर

क्या $C = Get-ADObject -Filter { Name -Like '*DEL:*' }केवल आपका अनाथ ही लौटता है? यदि ऐसा है, तो Remove-ADObject -Identity $C.DistinguishedNameयह \0एक शून्य टर्मिनेटर है।
रयान रेज़

@RyanRies यह केवल मेरी वस्तु लौटाता है, लेकिन जो चल रहा है वह भी वही The specified account does not existत्रुटि देता है। इसके लायक होने के लिए, मैंने \0एक अशक्त बाइट (और इससे बचने) के रूप में इलाज करने की कोशिश की है , साथ ही \A0एक गाड़ी वापसी / लाइन ब्रेक (जैसा कि यह डॉस में है) के रूप में भी, बिना किसी खुशी के साथ। अनुमान लगा और बचने पर विभिन्न प्रयास \A0पात्रों के साथ पूरा किया गया है The object name has bad syntaxऔर Directory object not found। :(
हॉपलेसनब

Bummer ... मैं '*CNF:*'हर समय संघर्ष रिज़ॉल्यूशन ऑब्जेक्ट ( ) पर उस तकनीक का उपयोग करता हूं और यह पूरी तरह से काम करता है।
रयान रीज़

जवाबों:


3

Microsoft समर्थन इंजीनियर के अनुसार, मैंने उसके साथ बात की ... और Microsoft इंजीनियर ने मुझे आगे बढ़ाया ... और उनके प्रबंधक, इसका संक्षिप्त उत्तर यह है कि इस शापित वस्तु से खुद को छुड़ाने का एकमात्र तरीका यह है कि पहले एक आधिकारिक पुनर्स्थापना करें। LostAndFoundकंटेनर में इस वस्तु की उपस्थिति । मुझे विश्वास है कि मैं लाइव डोमेन के लिए सभी डोमेन नियंत्रकों को बूट करके और एडी डेटाबेस को मैन्युअल रूप से संपादित करके खुद को इससे छुटकारा दिला सकता हूं, लेकिन उन दो गैर-विकल्पों में से बहुत कम, मैं इसके साथ फंस गया हूं।


यह कैसे और क्यों होता है:

हमने repadmin /showobjmetaऑब्जेक्ट के विरुद्ध (इसके मेटाडेटा में झांकने के लिए) भाग लिया और ऑब्जेक्ट के isDeletedसंस्करण ( 2) से यह निर्धारित करने में सक्षम थे कि इसे हटा दिया गया था, फिर अप्रत्याशित और असफल / आंशिक रूप से बहाल किया गया, जो कि समस्या पैदा कर रहा है। यह सुझाव दिया गया था, और मुझे संभावना है, कि वस्तु को बहाल करने के बाद, लेकिन इससे पहले कि परिवर्तन पूरी तरह से दोहराया गया था, इसे फिर से हटा दिया गया, साथ ही इसके मूल OU के साथ, जिससे पुनर्स्थापना विफल हो गई, और इसके परिणामस्वरूप इसे एक अनाथ माना गया हमारे कम से कम कुछ डोमेन नियंत्रकों द्वारा वस्तु, LostAndFoundकंटेनर में उतरते हुए ।

आंशिक पुनर्स्थापना के परिणामस्वरूप, इसे पुनर्स्थापित नहीं किया जा सकता है। ऑब्जेक्ट के SAMAccountTypeखाली होने के परिणामस्वरूप , इसे हटाया नहीं जा सकता (या संशोधित)।

SAMAccountTypeविशेषता एक मूल्य है कि किसी भी उपयोगकर्ता द्वारा बदला नहीं जा सकता है, और ऐसा करने का प्रयास त्रुटि नीचे फेंकता है:

यहां छवि विवरण दर्ज करें

Operation failed. Error code: 0x209a
Access to the attribute is not permitted because the attribute is owned by the Security Accounts Manager (SAM).

0000209A: SvcErr: DSID-031A1021, problem 5003
(WILL_NOT_PERFORM), data 0

हम इस विशेषता को सेट करने के लिए सिस्टम (सुरक्षा लेखा प्रबंधक) को प्राप्त करने के लिए ऑब्जेक्ट को पुनर्स्थापित नहीं कर सकते क्योंकि यह आंशिक रूप से बहाल स्थिति में है, और हम उस विशेषता के लिए एक वैध मान के बिना इसे हटा नहीं सकते (या इसे संशोधित कर सकते हैं)।


हालाँकि, चूंकि यह मेरे लिए एक मामले से बहुत दिलचस्प है, बस इससे दूर चलने के लिए, मैं थोड़ी देर के लिए इधर-उधर घूमने जा रहा हूं और यह देखूंगा कि क्या मैं इस रास्ते पर नहीं आ सकता, या कम से कम अपने ज्ञान का विस्तार करूं प्रयास में थोड़ा और अधिक जोड़ें। प्रिंटर की समस्या का निवारण करता है ... और स्पष्ट रूप से, यह पता चलता है कि मुझे "WILL_NOT_PERFORM" बताने वाला कंप्यूटर एक चुनौती है जिसका मैं विरोध नहीं कर सकता।

अरे हाँ आप प्रदर्शन करेंगे, अरे!


1

इस पोस्ट के आधार पर , आपको विशिष्ट डोमेन नियंत्रकों पर ऑब्जेक्ट को हटाने का प्रयास करना पड़ सकता है। यदि ऑब्जेक्ट विशिष्ट DC तक सीमित है, तो यह निर्धारित करने के लिए आप -Server पैरामीटर के साथ अपना Get-ADObject चलाने का प्रयास कर सकते हैं। तब मैं Remove-ADObject के साथ भी ऐसा ही करता।


यह समस्या प्रतीत नहीं होती है, क्योंकि मेरी साइट पर दोनों डीसी में ऑब्जेक्ट शामिल हैं, और प्रतिकृति एक लंबे समय से ठीक से गुनगुना रही है, लेकिन यह पूरी तरह से repadminडायग्नोस्टिक करने के लिए कभी भी दर्द नहीं करता है (जो मैं उम्मीद खोने के बाद से चल रहा हूं यह ऑब्जेक्ट नाम के साथ एक समस्या है), इतना अच्छा जवाब ... बस यहाँ जवाब होने की संभावना नहीं है। जब डाइजेशन पूरा हो जाएगा, तो मैं अपनी पोस्ट अपडेट करूंगा।
होपलेसनब

वैसे भी एक उचित समस्या निवारण चरण की तरह लगता है। वोट के लिए धन्यवाद।
टिम फेरिल

0

मेरे पास एक विचार है कि बस काम कर सकता है, यह थोड़ा सरल या सामान्य लग सकता है, लेकिन अगर मुझे सही ढंग से याद है कि यह अनाथ खातों के साथ अतीत में मेरे लिए काम कर चुका है। यदि आप सटीक खाता नाम निर्धारित कर सकते हैं, तो आप जिस सिस्टम पर काम कर रहे हैं, वह उपयोगकर्ता खाता या पीसी / सर्वर खाता है, अस्थायी रूप से उसी प्रकार और उसी नाम का खाता बनाने का प्रयास करें। तो आप अनिवार्य रूप से रिक्त स्थान को भर रहे हैं, इसलिए बोलने के लिए और सिस्टम को वही देना है जो वह चाहता है।

इसलिए यदि यह एक पीसी / सर्वर खाता है, तो एक मशीन वापस उसी नाम के साथ डोमेन में शामिल हो जाए, जिसे वह ढूंढ रहा है, लेकिन केवल खाता बनाने के उद्देश्य से। या अगर यह एक उपयोगकर्ता खाता है, तो उपयोगकर्ता खाते को ठीक उसी नाम, आदि के साथ फिर से बनाएँ। सर्वर को अनाथ किए गए OU के साथ नए पुनःप्राप्त खाते को फिर से जोड़ने के लिए कमांड प्रॉम्प्ट में कमांड gpupdate / f को चलाने की आवश्यकता हो सकती है।

फिर अनाथ OU को हटाने की कोशिश के साथ आगे बढ़ें जिसे आप मूल रूप से हटाना चाहते थे। एक बार जब आप ओयू को साफ कर लेते हैं, तो आप इस कार्य के लिए आपके द्वारा बनाए गए खाते को हटा सकते हैं।

मुझे आशा है कि इससे आपको चीयर्स आउट करने में मदद मिलेगी

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.