ข้อผิดพลาด "การพารามิเตอร์ไม่ถูกต้อง" พยายามนำเข้า LDF แฟ้มสำหรับการคืนค่าที่มีสิทธิ์

การแปลบทความ การแปลบทความ
ปิด ปิด
หมายเลขบทความ (Article ID): 2014074 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

อาการ

เมื่อวัตถุ Active Directory ในตัวควบคุมโดเมนจะถูกลบ หรือเสียหาย คุณอาจต้องการคืนค่าแฟ้มโดยใช้การสำรองข้อมูลสถานะระบบที่ประกอบด้วยฐานข้อมูล Active Directory จากนั้นคุณอาจมีใช้เครื่องมือ Ntdsutil.exe รุ่นออบเจ็กต์เหล่านี้ตามที่มีสิทธิ์ที่คืนค่าการทำเครื่องหมาย

ในตัวควบคุมโดเมนที่กำลังเรียกใช้น้อย Windows Server 2003 ด้วย Service Pack 1 หรือ Windows รุ่นที่ใหม่กว่า เครื่องมือ Ntdsutil เขียนกลับสำหรับออบเจ็กต์ที่จะคืนค่าการเชื่อมโยง authoritatively ลงในแฟ้ม LDF

ถ้าคุณได้กำหนดให้ใช้ข้อมูลประจำตัวที่ใช้งานข้ามเขตสำหรับผู้ใช้บางอย่างที่จำเป็นต้องกู้คืน ข้อผิดพลาดต่อไปนี้อาจเกิดขึ้น:

ldifde -i ar_xxxx.ldf -f -k
การเชื่อมต่อกับ "dc01.contoso.com"
เข้าสู่ระบบในฐานะผู้ใช้ปัจจุบันใช้ SSPI
การนำเข้าไดเรกทอรีจากแฟ้ม "ar_20090710 084606_links_adb.contoso.com.ldf" 
กำลังโหลดรายการ...............................
เพิ่มข้อผิดพลาดบนบรรทัด <xxx>: ไวยากรณ์ไม่ถูกต้อง
มีข้อผิดพลาดด้านเซิร์ฟเวอร์ "พารามิเตอร์ไม่ถูกต้อง"
แก้ไขรายการที่ 28 เสร็จเรียบร้อยแล้ว
เกิดข้อผิดพลาดในโปรแกรม
ไม่มีแฟ้มบันทึกถูกเขียนขึ้นเมื่อต้องการสร้างแฟ้มบันทึก กรุณาระบุเส้นทางของแฟ้มบันทึกโดยใช้ตัวเลือก -j

สาเหตุ

ปัญหาที่เกิดจากการจัดรูปแบบไม่ถูกต้องของแฟ้ม LDF ที่สร้างขึ้นเมื่อทำการคืนค่าที่มีสิทธิ์ในการใช้เครื่องมือ Ntdsutil

แฟ้ม LDF ประกอบด้วยข้อผิดพลาดทางไวยากรณ์ในบรรทัดการแก้ไขต่อไปนี้คุณลักษณะ:

  • msPKIDPAPIMasterKeys
  • msPKIAccountCredentials
  • msPKIRoamingTimeStamp

แอตทริบิวต์เหล่านี้สามารถพบได้บนวัตถุที่ให้ผู้ใช้ การที่ใช้งานข้ามเขตข้อมูลประจำตัวถูกเปิดใช้งาน

การแก้ไข

คุณสามารถใช้สคริปต์ต่อไปนี้เพื่อลบแอททริบิวต์ msPKI ที่เป็นสาเหตุของปัญหาจากแฟ้ม LDF

----remove_msPKI_entries.vbs----

forReading const = 1
forWriting const = 2
insideEntry const = 0
foundNewEntry const = 1
deleteEntry มืด
strNextLine มืด
สถานะที่มืด
state1 มืด
strPath มืด
strLdifdeFileName มืด
strLdifdeFileFullPath มืด
strNewLdifdeFileName มืด
strNewLdifdeFileFullPath มืด
strtempFileName มืด
strtempFileFullPath มืด
ถ้า wscript.Arguments.Count <> 2 แล้ว
wscript.echo( "=======================================================================================" )
wscript.echo ("การใช้งาน: cscript เอา-msPKI-attrs.vbs <old_ldifde_back_links_file> <new_ldifde_back_links_file>")
wscript.echo ("")
wscript.echo ("ตัวอย่าง: cscript เอา msPKI attrs.vbs ar_20091102-135937_links_mydom.com.ldf new_ar_20091102-135937_links_mydom.com.ldf ")
wscript.echo ("")
wscript.echo ("msPKIDPAPIMasterKeys, msPKIAccountCredentials, msPKIRoamingTimeStamp กลับไปที่เชื่อมโยงจะถูกลบจาก")
wscript.echo (" <old_ldifde_back_links_file> และรายการที่เหลืออยู่จะสามารถเขียนลงใน <new_ldifde_back_links_file>")
wscript.echo ("")
wscript.echo ("หมายเหตุ: ถ้าที่อยู่ <new_ldifde_back_links_file>มีอยู่แล้วในไดเรกทอรีปัจจุบัน...เนื้อหาจะถูกเขียนทับ")
wscript.echo( "=======================================================================================" )
wscript.Quit -1
End If
การตั้งค่า objFSO = CreateObject("Scripting.FileSystemObject")
' แฟ้มทั้งหมดสันนิษฐานอยู่ในไดเรกทอรีปัจจุบัน
strPath = ""
strLdifdeFileName = wscript.Arguments(0)
strLdifdeFileFullPath = objFSO.BuildPath (strPath, strLdifdeFileName)

strNewLdifdeFileName = wscript.Arguments(1)
strNewLdifdeFileFullPath = objFSO.BuildPath (strPath, strNewLdifdeFileName)
strtempFileName = objFSO.GetTempName
strtempFileFullPath = objFSO.BuildPath (strPath, strtempFileName)
' เปิดแฟ้ม ldifde ที่กำหนดสำหรับการอ่าน
objLdifdeFile ชุด = objFSO.OpenTextFile (strLdifdeFileFullPath, forReading)
' เปิดแฟ้มชั่วคราวสำหรับเขียน
objNewLdifdeFile ชุด = objFSO.OpenTextFile (strNewLdifdeFileFullPath, forWriting จริง)
สถานะ = foundNewEntry
ดำเนินการจนกว่าจะ objLdifdeFile.AtEndOfStream

strNextLine = objLdifdeFile.Readline
ถ้าสถานะ = foundNewEntry แล้ว
สถานะ = insideEntry
การตั้งค่า objtempFile = objFSO.OpenTextFile (strtempFileFullPath, forWriting จริง)
End If
objtempFile.WriteLine (strNextLine)
ถ้า StrComp (strNextLine "-") = 0 แล้ว
สถานะ = foundNewEntry
objtempFile.Close
การตั้งค่า objtempFile = objFSO.OpenTextFile (strtempFileFullPath, forReading)
state1 = foundNewEntry
deleteEntry = 0
ดำเนินการจนกว่าจะ objtempFile.AtEndOfStream
strNextLine = objtempFile.ReadLine
ถ้า state1 = insideEntry แล้ว
state1 = foundNewEntry
ถ้า Instr (strNextLine, "msPKIDPAPIMasterKeys") <> 0 แล้ว
deleteEntry = 1
ElseIf Instr (strNextLine, "msPKIAccountCredentials") <> 0 แล้ว
deleteEntry = 1
ElseIf Instr (strNextLine, "msPKIRoamingTimeStamp") <> 0 แล้ว
deleteEntry = 1
End If
ElseIf InStr (strNextLine, " ChangeType: ") = 0 แล้ว
state1 = insideEntry
End If
Loop
objtempFile.Close
การตั้งค่า objtempFile = objFSO.OpenTextFile (strtempFileFullPath, forReading)
ถ้า deleteEntry = 0 แล้ว
ดำเนินการจนกว่าจะ objtempFile.AtEndOfStream
StrNextLine = objtempFile.ReadLine
objNewLdifdeFile.WriteLine (strNextLine)
Loop
End If
objtempFile.Close
objFSO.DeleteFile (strtempFileFullPath)
End If
Loop
objLdifdeFile.Close
objNewLdifdeFile.Close

--------

Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

คุณสมบัติ

หมายเลขบทความ (Article ID): 2014074 - รีวิวครั้งสุดท้าย: 17 มกราคม 2554 - Revision: 2.0
ใช้กับ
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 R2 Enterprise Edition (64-Bit x86)
  • Windows Server 2008 Enterprise
  • Windows Server 2008 R2 Enterprise
Keywords: 
kbmt KB2014074 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:2014074

ให้ข้อเสนอแนะ

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com