Saya bekerja dari workstation Windows 7, dengan PowerShell v2.0, dan mencoba untuk menghapus objek (yatim?) Tertentu dari LostAndFound
wadah di hutan 2008 R2 FL dan domain dengan Active Recycle Bin direktori diaktifkan, dan tidak memiliki keberuntungan dengan apa pun .
Yang penting, saya perlu menghapus objek ini, dan objek ini saja (daripada menghapus setiap objek dengan IsDeleted
properti, yang tampaknya menjadi satu-satunya yang dapat saya temukan bantuannya).
Saya perlu menghapusnya, karena untuk menyelesaikan hubungan kepercayaan yang rusak, komputer dipisahkan dari domain (mungkin menyebabkan objek untuk pergi ke Keranjang Sampah, dan kemudian ke LostAndFound
wadah), dan kami ingin memberikannya nama aslinya kembali (yang didasarkan pada nomor tag aset pada PC). Mencoba bergabung kembali dengan komputer ke domain dengan nama yang benar gagal dengan pesan kesalahan di bawah ini ( The specified account does not exist
)
dan mencoba mengubah nama menjadi nama yang benar setelah itu sudah ada di domain gagal dengan pesan kesalahan di bawah ini ( The account already exists
)
jadi PC yang sebenarnya saat ini duduk di sana dengan nama yang salah, yang perlu saya koreksi.
Namun, mencoba untuk menghapus objek AD ini menghasilkan kesalahan: The specified account does not exist
. Nama objek yang dibedakan memiliki karakter \
(garis miring terbalik) di dalamnya, yang saya asumsikan karena berada di dalam LostAndFound
wadah, dan saya bertanya-tanya apakah itu masalahnya ... dan bagaimana cara memperbaikinya. Saya menjalankan shell saya sebagai domain admin
, memverifikasi bahwa domain admins
grup memiliki kontrol penuh dan kepemilikan objek yang bersangkutan, dan sepertinya tidak dapat menemukan yang ini.
Objek yang dimaksud (agak dihapus):
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
Tidak ada yang saya coba tampaknya berhasil, dan saya sudah mencoba banyak. Pada catatan itu, apa yang saya coba, di bawah.
Pertama, dengan cmdlet PowerShell polos, satu baris:
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
Kemudian, hal yang sama, merujuk pada 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
Lalu, baca nilainya menjadi variabel terlebih dahulu. (Dicoba dengan GUID dan DN, hanya menunjukkan satu, karena mereka menghasilkan kesalahan yang sama).
$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
Kemudian saya pikir saya bisa hidup dengan harus memanggil DSRM daripada melakukannya secara asli.
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.
Lalu saya berkata sangat keras dengan membuatnya otomatis, saya hanya akan klik kanan dan menghapusnya melalui ADSIedit .
Jadi, akhirnya, aku menelan harga diriku dan bertanya di sini. Bagaimana saya bisa menyingkirkan benda sialan ini? Jelas ada, dan keberadaannya menyebabkan masalah, namun semua upaya saya untuk menghapusnya dari Active Directory bertemu dengan kebohongan, kebohongan terkutuk dan pesan kesalahan.
Memperbarui:
Hal-hal lain yang tidak berfungsi, berdasarkan komentar, saran dan diskusi dengan ServerFaulters:
Melewati 0
, seolah-olah \0
mewakili byte nol.
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
Lolos dari keseluruhan \0A
, seolah-olah itu carriage return atau baris baru, seperti pada DOS (dicoba dengan `n,` r, `n`r dan` r`n). Semua mengembalikan kesalahan yang sama, jadi hanya ditampilkan sekali.
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
Melarikan diri \0A
sebagai umpan formulir (ya, semakin putus asa).
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
Kemudian saya pikir saya harus menentukan apakah \0A
karakter itu bahkan masalahnya, jadi saya memilih objek yang berbeda yang tidak saya pedulikan di AD Recycle Bin dengan \0A
string di dalamnya dan mencoba meledakkannya. Itu berhasil.
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
sumber
$C = Get-ADObject -Filter { Name -Like '*DEL:*' }
hanya mengembalikan anak yatim Anda? Jika demikian, lakukanRemove-ADObject -Identity $C.DistinguishedName
Itu\0
adalah terminator nol.The specified account does not exist
kesalahan yang sama . Untuk apa nilainya, saya juga mencoba memperlakukan\0
sebagai byte nol (dan menghindarinya), serta memperlakukan\A0
sebagai carriage return / line break (seperti di DOS), juga tanpa sukacita. Berbagai upaya menebak dan melarikan diri\A0
karakter telah dipenuhiThe object name has bad syntax
danDirectory object not found
. :('*CNF:*'
) sepanjang waktu dan berfungsi dengan baik.Jawaban:
Menurut insinyur pendukung Microsoft yang saya ajak bicara ... dan insinyur Microsoft yang ia tingkatkan untuk saya ... dan manajer mereka, jawaban singkatnya adalah satu-satunya cara untuk membebaskan diri dari objek terkutuk ini adalah dengan melakukan pengembalian otoritatif sebelum penampilan objek ini dalam
LostAndFound
wadah. Saya yakin saya juga bisa membebaskan diri dari itu dengan mem-boot semua pengontrol domain ke LiveCD dan secara manual mengedit database AD, tetapi singkat dari kedua non-opsi, saya terjebak dengannya.Tentang bagaimana dan mengapa hal ini terjadi:
Kami berlari
repadmin /showobjmeta
melawan objek (untuk mengintip metadata-nya) dan dapat menentukan dariisDeleted
versi objek (2
) bahwa itu dihapus, kemudian secara tak terduga dan tidak berhasil / sebagian dipulihkan, yang merupakan penyebab masalah. Disarankan, dan tampaknya bagi saya, bahwa setelah objek dipulihkan, tetapi sebelum perubahan telah sepenuhnya direplikasi, itu dihapus lagi, bersama dengan induknya OU, menyebabkan pengembalian gagal, dan mengakibatkannya dianggap sebagai yatim piatu. objek dengan setidaknya beberapa pengontrol domain kami, mendarat diLostAndFound
wadah.Sebagai hasil dari pemulihan parsial, itu tidak dapat dikembalikan. Sebagai hasil dari objek
SAMAccountType
yang kosong , itu tidak dapat dihapus (atau dimodifikasi).The
SAMAccountType
atribut adalah nilai yang tidak dapat diubah oleh setiap pengguna, dan mencoba untuk melakukannya melempar kesalahan di bawah ini:Kami tidak dapat memulihkan objek untuk mendapatkan sistem (Security Accounts Manager) untuk mengatur atribut ini karena keadaan yang sebagian dipulihkan, dan kami tidak dapat menghapusnya (atau memodifikasinya) tanpa nilai yang valid untuk atribut tersebut.
Namun, karena ini adalah kasus yang terlalu menarik bagi saya untuk dijauhi, saya akan melihat-lihat sebentar dan melihat apakah saya tidak dapat menemukan jalan keluarnya, atau setidaknya memperluas pengetahuan saya tentang AD sedikit lagi dalam upaya. Mengalahkan printer pemecahan masalah ... dan terus terang, ternyata komputer yang memberi tahu saya "WILL_NOT_PERFORM" adalah tantangan yang tidak bisa saya tolak.
Oh ya Anda akan tampil, sial!
sumber
Berdasarkan posting ini , Anda mungkin harus mencoba menghapus objek pada pengontrol domain tertentu. Anda dapat mencoba menjalankan Get-ADObject dengan parameter -Server untuk menentukan apakah objek terbatas pada DC tertentu. Lalu saya akan melakukan hal yang sama dengan Remove-ADObject.
sumber
repadmin
diagnosa menyeluruh (yang telah saya jalankan sejak kehilangan harapan itu menjadi masalah dengan nama objek), jawaban yang sangat bagus ... sepertinya tidak akan menjadi jawaban di sini. Ketika diags selesai, saya akan memperbarui posting saya.Saya punya ide yang mungkin berhasil, mungkin terlihat agak sederhana atau di luar kebiasaan, tetapi jika saya ingat dengan benar ini telah berhasil bagi saya di masa lalu dengan akun yatim. Jika Anda dapat menentukan nama akun yang tepat, sistem yang sedang Anda cari sedang mencari, baik itu akun pengguna atau akun PC / Server, cobalah untuk sementara membuat akun dengan tipe dan nama yang sama. Jadi pada dasarnya Anda mengisi bagian yang kosong, sehingga untuk berbicara dan memberikan sistem persis apa yang diinginkannya.
Jadi jika itu adalah akun PC / server, mintalah mesin bergabung kembali ke domain dengan nama persis yang dicari, tetapi hanya untuk tujuan membuat akun. Atau jika itu adalah akun pengguna buat ulang akun pengguna dengan nama yang sama persis, dll. Anda mungkin perlu menjalankan perintah gpupdate / f di command prompt untuk mendapatkan server untuk menghubungkan kembali akun yang baru dibuat kembali dengan OU yatim.
Kemudian lanjutkan dengan mencoba menghapus OU yatim yang Anda ingin hapus. Setelah OU dibersihkan, Anda dapat menghapus akun yang Anda buat untuk tugas ini.
Saya harap ini membantu Anda bersorak
sumber