ฉันทำงานจากเวิร์กสเตชัน Windows 7 ที่มี PowerShell v2.0 และพยายามที่จะลบวัตถุ (orphaned?) จากLostAndFound
ภาชนะในฟอเรสต์ 2008 R2 FL ฟอเรสต์และโดเมนที่เปิดใช้งาน Active Directory Recycle Binและไม่มีโชค กับอะไร
ที่สำคัญฉันต้องลบวัตถุนี้และวัตถุนี้เท่านั้น (แทนที่จะลบทุกวัตถุด้วยIsDeleted
คุณสมบัติซึ่งดูเหมือนว่าเป็นทั้งหมดที่ฉันสามารถค้นหาความช่วยเหลือ)
ฉันต้องการลบเพราะเพื่อแก้ไขความสัมพันธ์ที่เชื่อถือไม่ได้คอมพิวเตอร์ถูกตัดขาดจากโดเมน (อาจทำให้วัตถุไปที่ถังรีไซเคิลแล้วไปที่LostAndFound
คอนเทนเนอร์) และเราต้องการให้มัน ชื่อเดิมกลับมา (ซึ่งขึ้นอยู่กับหมายเลขป้ายทรัพยากรบนพีซี) ความพยายามที่จะเข้าร่วมคอมพิวเตอร์อีกครั้งกับโดเมนที่มีชื่อที่ถูกต้องล้มเหลวด้วยข้อความแสดงข้อผิดพลาดด้านล่าง ( The specified account does not exist
)
และพยายามเปลี่ยนชื่อเป็นชื่อที่ถูกต้องเมื่อมีอยู่แล้วในโดเมนล้มเหลวด้วยข้อความแสดงข้อผิดพลาดด้านล่าง ( The account already exists
)
ดังนั้นพีซีจริงกำลังนั่งอยู่ที่นั่นด้วยชื่อที่ไม่ถูกต้องซึ่งฉันต้องแก้ไข
อย่างไรก็ตามความพยายามที่จะลบวัตถุ AD The specified account does not exist
นี่อัตราผลตอบแทนข้อผิดพลาด: ชื่อที่แตกต่างของวัตถุมี\
อักขระ (แบ็กสแลช) อยู่ในนั้นซึ่งฉันคิดว่าเป็นเพราะมันอยู่ในLostAndFound
คอนเทนเนอร์และฉันสงสัยว่านั่นเป็นปัญหา ... และวิธีการแก้ไข ฉันกำลังใช้เปลือกของฉันเป็นdomain admin
ตรวจสอบว่าdomain admins
กลุ่มมีการควบคุมเต็มรูปแบบและเป็นเจ้าของของวัตถุที่เป็นปัญหาและดูเหมือนจะไม่สามารถคิดออกนี้
วัตถุที่เป็นปัญหา (ค่อนข้าง redacted):
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แทนที่จะทำแบบนั้น
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.
จากนั้นผมพูดกับนรกกับทำให้ automatable ฉันจะเป็นเพียงแค่คลิกขวาและลบมันผ่าน ADSIedit
ในที่สุดฉันก็กลืนความภาคภูมิใจของฉันและถามที่นี่ ฉันจะกำจัดวัตถุเจ้ากรรมนี้ได้อย่างไร มันมีอยู่อย่างชัดเจนและการมีอยู่ของมันก่อให้เกิดปัญหา แต่ความพยายามทั้งหมดของฉันที่จะลบมันออกจาก Active Directory จะได้พบกับคำโกหกคำโกหกที่ผิดและข้อความผิดพลาด
ปรับปรุง:
สิ่งอื่น ๆ ที่ไม่ได้ทำงานตามความคิดเห็นคำแนะนำและการสนทนากับ ServerFaulters:
การหลบหนี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
ราวกับว่าเป็นสายการบินคืนหรือขึ้นบรรทัดใหม่เช่นเดียวกับใน DOS (ลองด้วย `n,` r, `n`r และ` r`n) ทั้งหมดกลับข้อผิดพลาดเดียวกันดังนั้นจึงแสดงเพียงครั้งเดียว
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=SomeComputer♀DEL:...MyEmployer,DC=prv:ADObject) [Get-ADObject], ADIdentityNotFoundException
+ FullyQualifiedErrorId : Directory object not found,Microsoft.ActiveDirectory.Management.Commands.GetADObject
จากนั้นฉันคิดว่าฉันควรตรวจสอบว่า \0A
ตัวละครนั้นเป็นปัญหาหรือไม่ดังนั้นฉันจึงเลือกวัตถุอื่นที่ฉันไม่ได้สนใจใน AD Recycle Bin ด้วย\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
$C = Get-ADObject -Filter { Name -Like '*DEL:*' }
กลับเฉพาะเด็กกำพร้าของคุณหรือไม่ ถ้าเป็นเช่นนั้นให้ทำRemove-ADObject -Identity $C.DistinguishedName
นั่น\0
คือตัวสิ้นสุด null
The specified account does not exist
ข้อผิดพลาดเดียวกัน สำหรับสิ่งที่คุ้มค่าฉันได้ลองใช้การ\0
เป็นแบบ null ไบต์ (และหลบหนี) เช่นเดียวกับการปฏิบัติ\A0
เหมือนการขึ้นบรรทัดใหม่ / การขึ้นบรรทัดใหม่ (เช่นเดียวกับใน DOS) และไม่มีความสุข ความพยายามต่างๆที่คาดเดาและหนี\A0
ตัวละครได้รับการพบกับและThe object name has bad syntax
Directory object not found
:(
'*CNF:*'
) ตลอดเวลาและทำงานได้อย่างสมบูรณ์