การอัปโหลดข้อมูลจากคอนเทนเนอร์ AD Excel แทน PowerShell: สืบค้นไปยัง AD และรายงานระบบ "ที่หัวเข่า"

0

ฉันมีสคริปต์การทำงานต่อไปนี้ที่จะตรวจสอบว่ารายชื่อผู้ใช้จำนวนมากในไฟล์ CSV เป็นสมาชิกของกลุ่ม AD และเขียนผลลัพธ์ลงใน results.csv หรือไม่

ไม่แน่ใจว่าจะแปลงสคริปต์อย่างไรดังนั้นฉันจึงสามารถเปลี่ยน $group = "InfraLite" เป็น $group = DC .\List_Of_AD_Groups.CSV ได้

ดังนั้นสคริปต์จึงไม่ส่งคืนการจับคู่สำหรับกลุ่ม AD หนึ่งกลุ่มเท่านั้น แต่ยังส่งคืนการจับคู่สำหรับกลุ่ม AD 80 กลุ่มที่อยู่ใน List_of_AD_groups.csv การเขียน YES/NO สำหรับแต่ละกลุ่ม AD ในคอลัมน์ CSV ใหม่ (หรือหากเป็นไปไม่ได้ การสร้างไฟล์ CSV แยกกันสำหรับแต่ละกลุ่มที่มีผลลัพธ์จะทำเช่นเดียวกัน

ฉันสามารถทำได้ด้วยตนเองโดยเปลี่ยนค่าจาก $group และชื่อของไฟล์ส่งออกและรันสคริปต์อีกครั้ง 80 ครั้ง แต่จะต้องรวดเร็วด้วย PS ในการดำเนินการนี้

เช่น results.csv?:

NAME AD_GROUP1 AD_GROUP2 AD_GROUP80 ฯลฯ user1 ใช่ ไม่ ใช่ user2 ไม่ ไม่ ใช่ user3 ไม่ ใช่ ไม่ใช่ echo "UserName`InfraLite" >> results.csv $users = GC .\user_list.csv $group = "InfraLite" $members = Get-ADGroupMember -Identity $group -Recursive |

  • เลือก -ExpandProperty SAMAccountName foreach ($user ใน $users) ( ถ้า ($members -contains $user) ( echo "$user $group`tYes" >> results.csv ) else ( echo "$user`tNo" >> ผลลัพธ์ .csv) )
  • 2 คำตอบ

    การเรียงลำดับ:

0

กิจกรรม

วิธีแก้ไขปัญหาเล็กน้อยของคุณคือการรวมโค้ดที่มีอยู่ของคุณไว้ในลูปอื่นและสร้างไฟล์เอาต์พุตสำหรับแต่ละกลุ่ม:

$groups = รับเนื้อหา "C:\groups.txt" foreach ($กลุ่มใน $groups) ( $members = Get-ADGroupMember ... ... )

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

0

ฉันเล่นกับสิ่งนี้มาระยะหนึ่งแล้วและฉันคิดว่าฉันพบวิธีที่จะทำให้คุณได้รับสิ่งที่คุณต้องการอย่างแน่นอน

ฉันคิดว่า Ansgar มาถูกทางแล้ว แต่ฉันไม่สามารถทำอะไรที่ตามมาได้ เขากล่าวว่าในขณะที่เขียน เขาไม่สามารถเข้าถึงสภาพแวดล้อม AD ได้

นี่คือสิ่งที่ฉันคิดขึ้นมา:

$UserArray = รับเนื้อหา "C:\Temp\Users.txt" $GroupArray = รับเนื้อหา "C:\Temp\Groups.txt" $OutputFile = "C:\Temp\Something.csv" # การตั้งค่าแฮชเทเบิล สำหรับใช้ในภายหลัง $UserHash = New-Object -TypeName System.Collections.Hashtable # วงนอกเพื่อเพิ่มผู้ใช้และความเป็นสมาชิกของ UserHash $UserArray | ForEach-Object( $UserInfo = Get-ADUser $_ -Properties MemberOf # ตัดไวยากรณ์ LPAP เหลือเพียง SAMAccountName ของกลุ่ม $Memberships = $UserInfo.MemberOf | ForEach-Object( ($_.Split(",")) .replace("CN=","") ) #Adding the User=Membership pair to the Hash $UserHash.Add($_,$Memberships) ) #Outer loop to create an object per user $Results = $UserArray | ForEach-Object( # ขั้นแรกให้สร้างอ็อบเจ็กต์แบบง่าย $User = New-Object -TypeName PSCustomObject -Property @( Name = $_ ) # เพิ่มสมาชิกแบบไดนามิกให้กับอ็อบเจ็กต์ โดยยึดตาม $GroupArray $GroupArray | ForEach-Object ( #Checking $UserHash เพื่อดูว่ากลุ่มปรากฏในรายชื่อสมาชิกของผู้ใช้หรือไม่ $UserIsMember = $UserHash.($User.Name) -contains $_ #Adding property to object, and value $User | Add-Member -MemberType NoteProperty -Name $ _ -Value $UserIsMember ) #ส่งคืนอ็อบเจ็กต์ไปยังตัวแปร Return $User ) #แปลงอ็อบเจ็กต์เป็น CSV จากนั้นจึงส่งออก $Results |

หวังว่าทุกอย่างจะสมเหตุสมผล ฉันแสดงความคิดเห็นมากที่สุดเท่าที่จะทำได้ การแปลงเป็น ADSI จะง่ายมากหากคุณไม่ได้ติดตั้ง RSAT บนเครื่องใดก็ตามที่คุณใช้อยู่ หากคุณต้องการ โปรดแจ้งให้เราทราบ แล้วเราจะทำการเปลี่ยนแปลงอย่างรวดเร็ว

ไม่มีความลับว่าตั้งแต่ PowerShell เวอร์ชันแรก Microsoft ได้พยายามทำให้เป็นเครื่องมือการดูแลระบบ Windows หลัก และได้ผลในหลาย ๆ ด้าน! วันนี้ เราจะแสดงความสามารถของ PowerShell ที่สามารถใช้เพื่อรับข้อมูลต่างๆ เกี่ยวกับผู้ใช้ Active Directory และคุณลักษณะของพวกเขาโดยใช้ตัวอย่างง่ายๆ

บันทึก- ก่อนหน้านี้ หากต้องการรับข้อมูลเกี่ยวกับคุณลักษณะของบัญชีผู้ใช้ AD คุณต้องใช้เครื่องมือต่างๆ: คอนโซล ADUC (รวมถึง) ยูทิลิตี้ ฯลฯ การเลือกเครื่องมือมักจะขึ้นอยู่กับงานที่มีอยู่และความสามารถในการเขียนโปรแกรมของผู้ดูแลระบบ

PowerShell 2.0 เปิดตัวโมดูลพิเศษสำหรับการทำงานกับ Active Directory - (แนะนำใน Windows Server 2008 R2) ซึ่ง cmdlets อนุญาตให้คุณดำเนินการต่างๆ กับวัตถุไดเรกทอรี AD cmdlet นี้ใช้เพื่อรับข้อมูลเกี่ยวกับผู้ใช้โดเมน Active Directory และคุณสมบัติของพวกเขา รับ-ADUser- คุณสามารถใช้ Get-ADUser cmdlet เพื่อรับค่าของแอตทริบิวต์ใดๆ ของบัญชีผู้ใช้ที่มีอยู่ใน AD นอกจากนี้ คุณยังสามารถระบุเกณฑ์การเลือกต่างๆ และสร้างรายชื่อผู้ใช้โดเมนและคุณลักษณะของผู้ใช้ได้

ในตัวอย่างนี้ เราจะแสดงวิธีใช้ PowerShell Get-ADUser cmdlet เพื่อดึงข้อมูลเกี่ยวกับเวลาที่เปลี่ยนรหัสผ่านของผู้ใช้ครั้งล่าสุดและหมดอายุเมื่อใด

เปิดหน้าต่าง Powershll ด้วยสิทธิ์ของผู้ดูแลระบบและนำเข้าโมดูล Active Directory ด้วยคำสั่ง:

นำเข้าโมดูล activedirectory

คำแนะนำ- ใน Windows Server 2012 และสูงกว่า คุณสามารถข้ามรายการนี้ได้ เนื่องจากโมดูล PowerShell Active Directory ถูกเปิดใช้งานตามค่าเริ่มต้น

ในระบบปฏิบัติการไคลเอนต์ (เช่น Windows 10) เพื่อให้คำสั่ง Get-AdUser ทำงานคุณจะต้องติดตั้ง RSAT เวอร์ชันที่เหมาะสมและเปิดใช้งานส่วนประกอบในแผงควบคุม โมดูล Active Directory สำหรับ Windows PowerShell(เครื่องมือการดูแลเซิร์ฟเวอร์ระยะไกล -> เครื่องมือการดูแลระบบบทบาท -> เครื่องมือ AD DS และ AD LDS -> เครื่องมือ AD DS)

รายการอาร์กิวเมนต์ Get-ADUser cmdlet ทั้งหมดสามารถรับได้ดังนี้:

ช่วยรับ ADUser

หากต้องการแสดงรายการบัญชีโดเมนทั้งหมด ให้รันคำสั่ง:

รับ ADUser - ตัวกรอง *

รูปแบบของรายการที่ส่งคืนไม่สะดวกในการใช้งานมีเพียงแอตทริบิวต์พื้นฐาน 10 รายการจากมากกว่า 120 รายการและคุณสมบัติของบัญชีผู้ใช้เท่านั้นที่แสดง (DN, SamAccountName, ชื่อ, UPN ฯลฯ ) นอกจากนี้เรายังเห็นว่ามี ไม่มีข้อมูลเกี่ยวกับเวลาที่เปลี่ยนรหัสผ่านครั้งล่าสุด

หากต้องการแสดงข้อมูลที่ครบถ้วนเกี่ยวกับคุณลักษณะที่มีอยู่ทั้งหมดของผู้ใช้ tuser ให้รันคำสั่ง:

รับ ADUser -identity tuser -properties *

ดังนั้นเราจึงเห็นรายการคุณลักษณะผู้ใช้ AD ทั้งหมดและค่าที่เกี่ยวข้องกับบัญชีผู้ใช้ ต่อไป เราจะไปที่การจัดรูปแบบผลลัพธ์ของ Get-ADUser cmdlet เพื่อให้ฟิลด์ที่เราต้องการปรากฏขึ้น เราสนใจคุณสมบัติ:

  • รหัสผ่านหมดอายุ
  • รหัสผ่าน LastSet
  • รหัสผ่านไม่มีวันหมดอายุ

มารันคำสั่งกัน:

รับ ADUser tuser - คุณสมบัติ PasswordExpired, PasswordLastSet, PasswordNeverExpires

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

รับ ADUser -filter * - คุณสมบัติรหัสผ่านหมดอายุ, PasswordLastSet, รหัสผ่านNeverExpires | ft ชื่อ, รหัสผ่านหมดอายุ, รหัสผ่านล่าสุด, รหัสผ่านไม่มีวันหมดอายุ

หากต้องการแสดงข้อมูลผู้ใช้จาก OU เฉพาะ ให้ใช้พารามิเตอร์ ค้นหาฐาน:

รับ ADUser -SearchBase 'OU = มอสโก, DC = winitpro, DC = loc' - ตัวกรอง * - คุณสมบัติ PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft ชื่อ, รหัสผ่านหมดอายุ, รหัสผ่านล่าสุด, รหัสผ่านไม่มีวันหมดอายุ

ผลลัพธ์ของคำสั่งสามารถส่งออกไปยังไฟล์ข้อความ:

รับ ADUser -filter * - คุณสมบัติรหัสผ่านหมดอายุ, PasswordLastSet, รหัสผ่านNeverExpires | ft ชื่อ, PasswordExpired, PasswordLastSet, รหัสผ่านNeverExpires > C:\temp\users.txt

หรือในรูปแบบ CSV ซึ่งจะส่งออกไปยัง Excel ได้อย่างสะดวกในอนาคต (ใช้เพิ่มเติม เรียงลำดับวัตถุมาจัดเรียงตารางตามคอลัมน์ PasswordLastSet และเพิ่มเงื่อนไขด้วย ที่ไหน– ชื่อผู้ใช้จะต้องมีสตริง “Dmitry”):

รับ ADUser -filter * - คุณสมบัติรหัสผ่านหมดอายุ, PasswordLastSet, รหัสผ่านNeverExpires | โดยที่ ($_.name –like “*Dmitry*”) | เรียงลำดับวัตถุ PasswordLastSet | ชื่อวัตถุที่เลือก, PasswordExpired, PasswordLastSet, PasswordNeverExpires | ส่งออก-csv -path c:\temp\user-password-expires-2015.csv

ดังนั้น คุณจึงสามารถสร้างตารางที่มีแอตทริบิวต์ผู้ใช้ Active Directory ที่จำเป็นได้

หากต้องการรับรายการบัญชีผู้ใช้ AD ตามคุณลักษณะเฉพาะ ให้ใช้พารามิเตอร์ –Filter เป็นอาร์กิวเมนต์ของพารามิเตอร์นี้ คุณสามารถระบุค่าของแอตทริบิวต์ผู้ใช้ Active Directory บางอย่างได้ ซึ่งจะทำให้ Get-ADUser cmdlet นำไปใช้กับผู้ใช้ที่ตรงกับเกณฑ์ตัวกรอง

ผลลัพธ์ของผู้ใช้ AD ที่ชื่อขึ้นต้นด้วย Roman:

Get-ADUser -filter (ชื่อเหมือน "Roman*")

รับ-ADUser -Filter (SamAccountName -like "*") | วัด-วัตถุ

รายการบัญชีที่ใช้งาน (ไม่ถูกบล็อก) ทั้งหมดใน AD:

รับ-ADUser -Filter (เปิดใช้งาน -eq "True") | เลือก-วัตถุ SamAccountName,ชื่อ,นามสกุล,GivenName | รูปแบบตาราง

รายชื่อบัญชีที่รหัสผ่านหมดอายุ:

รับ-ADUser -filter (เปิดใช้งาน -eq $True) -รหัสผ่านคุณสมบัติหมดอายุ | โดยที่($_.รหัสผ่านหมดอายุ)

รายชื่อบัญชีที่ใช้งานพร้อมที่อยู่อีเมล:

Get-ADUser -Filter ((mail -ne "null") -และ (Enabled -eq "true") -Properties Surname,GivenName,mail | เลือก-ชื่อวัตถุ,นามสกุล,GivenName,mail | รูปแบบตาราง

งาน: สำหรับรายการบัญชีที่จัดเก็บไว้ในไฟล์ข้อความ (หนึ่งบัญชีต่อบรรทัด) คุณต้องได้รับหมายเลขโทรศัพท์ของผู้ใช้ใน AD และอัปโหลดข้อมูลไปยังไฟล์ข้อความ csv (สามารถนำเข้าสู่ Esxel ได้อย่างง่ายดาย)

นำเข้า-Csv c:\ps\usernsme_list.csv | ForEach ( Get-ADUser -identity $_.user -Properties Name, TelephoneNumber | Select Name, TelephoneNumber | Export-CSV c:\ps\export_ad_list.csv -Append -Encoding UTF8 )

ตัวอย่างต่อไปนี้ช่วยให้คุณสามารถดาวน์โหลดสมุดที่อยู่ขององค์กรเป็นไฟล์ csv ซึ่งสามารถนำเข้าสู่ Outlook หรือ Mozilla Thunderbird ได้ในภายหลัง:

Get-ADUser -Filter ((mail -ne "null") -และ (Enabled -eq "true") -Properties Surname,GivenName,mail | เลือก-ชื่อวัตถุ,นามสกุล,GivenName,mail | ส่งออก-Csv -NoTypeInformation -เข้ารหัส utf8 -ตัวคั่น "," $env:temp\mail_list.csv

ผู้ใช้ที่ไม่ได้เปลี่ยนรหัสผ่านในช่วง 90 วันที่ผ่านมา:

$90_Days = (รับ-วันที่).adddays(-90) รับ-ADUser -filter ((รหัสผ่านlastset -le $90_days))

$user = Get-ADUser winadmin - คุณสมบัติภาพขนาดย่อ $ user.thumbnailPhoto | ตั้งค่าเนื้อหา winadmin.jpg - เข้ารหัสไบต์

รายชื่อกลุ่มที่มีบัญชีผู้ใช้อยู่

รับ AdUser winadmin - คุณสมบัติสมาชิกของ | เลือก memberof -expandproperty memberof

สคริปต์สำหรับการยกเลิกการโหลดผู้ใช้ทั้งหมดจาก MS Active Directory (ITGC)

อีวาน พิสคูนอฟ

หนึ่งในขั้นตอนการตรวจสอบมาตรฐาน ไอทีจีซี สำหรับแค็ตตาล็อก ไดเรกทอรีที่ใช้งานอยู่ คือการรับการดาวน์โหลดของผู้ใช้โดเมนทั้งหมด จากข้อมูลที่ได้รับ ขั้นตอนการทดสอบจะถูกสร้างขึ้น เช่น ศึกษารายชื่อผู้ดูแลระบบหรือระบุผู้ใช้ด้วยรหัสผ่านที่หมดอายุ วิธีที่มีประสิทธิภาพที่สุดในการสร้างการอัปโหลดคือการใช้อินเทอร์เฟซมาตรฐาน พาวเวอร์เชลล์ ตัวอย่างที่เราจะพิจารณาในบทความนี้

1. อัปโหลดด่วนโดยใช้สคริปต์ PowerShell

ด้านล่างนี้คือสคริปต์ PowerShell ซึ่งเป็นหนึ่งในวิธีที่ง่ายและรวดเร็วที่สุดในการรับรายชื่อผู้ใช้โดเมน AD ทั้งหมดในรูปแบบ CSV ซึ่งสามารถเปิดได้อย่างง่ายดายใน Excel

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = "LDAP://ou=Users,ou=Departmets,dc=test,dc=ru" $objSearcher.Filter = "(&(objectCategory=person) (!userAccountControl:1.2.840.113556.1.4.803:=2))" $users = $objSearcher.FindAll() # จำนวนบัญชี $users.Count $users | ForEach-Object ( $user = $_.Properties New-Object PsObject -Property @( ตำแหน่ง = $user.description Department = $user.department เข้าสู่ระบบ = $user.userprincipalname โทรศัพท์ = $user.telephonenumber Room = $user.physicaldeliveryofficename เต็ม ชื่อ = $user.cn ) ) | ส่งออก-Csv -NoClobber -เข้ารหัส utf8 -Path C: list_domain_users.csv

เพื่อให้สคริปต์ทำงานบนระบบของคุณ คุณต้องแก้ไขสคริปต์เล็กน้อย กล่าวคือ ป้อนพารามิเตอร์ที่จำเป็น เช่น ดังในตัวอย่างนี้ นี่คือพารามิเตอร์ ผู้ใช้ ในแผนก หน่วยงาน ในโดเมน Test.ru และยังระบุเส้นทางไปยังตำแหน่งที่บันทึกไฟล์ด้วย list_domain_users.csv

หลังจากขนถ่ายแล้วหากเปิดทันที list_domain_users.csv จะดูอ่านไม่ออก แต่การใช้มาตรฐานหมายความว่าเราสามารถนำมาเป็นรูปแบบที่เราต้องการได้อย่างง่ายดาย เปิดใน Excel list_domain_users.csv เลือกคอลัมน์แรก จากนั้นไปที่แท็บ "ข้อมูล" แล้วคลิก "ข้อความตามคอลัมน์" เลือก "คั่น" และคลิก "ถัดไป" พร้อม!

!จำเป็นต้องทราบว่าสคริปต์นี้จะไม่แสดงผู้ใช้มากกว่า 1,000 ราย ค่อนข้างเหมาะสำหรับบริษัทขนาดเล็ก แต่สำหรับผู้ที่มีผู้ใช้จำนวนมากในโดเมน พวกเขาควรใช้วิธีการที่อธิบายไว้ด้านล่าง

2. PowerShell cmdlet ขั้นสูงสำหรับการอัปโหลดผู้ใช้ Active Directory

เครื่องมือ Active Directory Module สำหรับ Windows PowerShell (เปิดตัวใน Windows Server 2008 R2 และสูงกว่า) ช่วยให้คุณสร้าง cmdlets ที่ดำเนินการต่างๆ กับวัตถุไดเรกทอรี AD cmdlet ใช้เพื่อรับข้อมูลเกี่ยวกับผู้ใช้และคุณสมบัติของพวกเขา รับ-ADUser.

เริ่มต้นด้วย เปิดหน้าต่าง Powershell ด้วยสิทธิ์ของผู้ดูแลระบบและนำเข้าโมดูล Active Directory เพื่อดำเนินการต่อไป:
นำเข้าโมดูล activedirectory

ถึง แสดงรายการบัญชีโดเมนทั้งหมด และมารันคำสั่งกัน:

รับ ADUser - ตัวกรอง *

ถึง แสดงข้อมูลที่สมบูรณ์เกี่ยวกับคุณลักษณะที่มีอยู่ทั้งหมด ผู้ใช้ tuser ให้รันคำสั่ง

รับ ADUser -identity tuser -properties *


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

รับ ADUser -filter * - คุณสมบัติรหัสผ่านหมดอายุ, PasswordLastSet, รหัสผ่านNeverExpires | ชื่อ ft, PasswordExpired, PasswordLastSet, PasswordNeverExpires > C:tempusers.txt

หรือทันที อัปโหลดเป็น CSV ซึ่งในอนาคตจะสะดวกในการส่งออกไปยัง Excel (นอกจากนี้โดยใช้ sort-object เราจะเรียงลำดับตารางตามคอลัมน์ PasswordLastSet และยังเพิ่มเงื่อนไขโดยที่ - ชื่อผู้ใช้ต้องมีสตริง "Dmitry")

รับ ADUser -filter * - คุณสมบัติรหัสผ่านหมดอายุ, PasswordLastSet, รหัสผ่านNeverExpires | โดยที่ ($_.name –like “*Dmitry*”) | เรียงลำดับวัตถุ PasswordLastSet | ชื่อวัตถุที่เลือก, PasswordExpired, PasswordLastSet, PasswordNeverExpires | ส่งออก-csv -path c:tempuser-รหัสผ่าน-expires-2015.csv

ใช้เพื่อสร้าง แก้ไข และลบอ็อบเจ็กต์ไดเร็กทอรี ผู้ใช้ยังสามารถใช้คำสั่ง ldifdeเพื่อขยายสคีมา ส่งออกข้อมูลผู้ใช้และกลุ่ม Active Directory ไปยังแอปพลิเคชันหรือบริการอื่นๆ และเติมบริการ Active Directory Application Mode (ADAM) ด้วยข้อมูลจากบริการไดเรกทอรีอื่นๆ

ไวยากรณ์

ldifde [-ฉัน] [-ฉ ชื่อไฟล์] [-ส เซิร์ฟเวอร์_ชื่อ] [-ค บรรทัดที่ 1 บรรทัดที่ 2] [-v] [-เจ เส้นทาง] [-ที พอร์ต_หมายเลข] [-d DN_ฐาน] [-ร ตัวกรอง_LDAP] [-พี ภูมิภาค] [-ล LDAP_attribute_list] [-o LDAP_attribute_list] [-ก] [-ม] [-n] [-เค] [-ก ] [-ข ] [-? ]

ตัวเลือก

-ฉัน ระบุโหมดการนำเข้า หากไม่ได้กำหนดพารามิเตอร์ โหมดการส่งออกจะถูกใช้ตามค่าเริ่มต้น -ฉชื่อไฟล์ ระบุชื่อของไฟล์นำเข้าหรือส่งออก -สเซิร์ฟเวอร์_ชื่อ ระบุคอมพิวเตอร์ที่ควรดำเนินการนำเข้าหรือส่งออก โปรแกรมเริ่มต้น ldifdeจะถูกดำเนินการบนคอมพิวเตอร์ที่ ldifdeติดตั้งแล้ว -คบรรทัดที่ 1 บรรทัดที่ 2 แทนที่เหตุการณ์ทั้งหมด เส้น1เนื้อหา เส้น2- โดยทั่วไปจะใช้เมื่อคุณนำเข้าข้อมูลจากโดเมนหนึ่งไปยังอีกโดเมนหนึ่ง และจำเป็นต้องเปลี่ยนชื่อที่แตกต่างของโดเมนที่ทำการส่งออก ( บรรทัดที่ 1) การนำเข้าชื่อโดเมน ( บรรทัดที่ 2). -v เปิดใช้งานโหมดการบันทึกแบบละเอียด -เจเส้นทาง ระบุตำแหน่งของไฟล์บันทึก ค่าเริ่มต้นคือเส้นทางปัจจุบัน -ทีพอร์ต_หมายเลข ระบุหมายเลขพอร์ตของ Lightweight Directory Access Protocol (LDAP) พอร์ต LDAP เริ่มต้นคือ 389 พอร์ตแค็ตตาล็อกส่วนกลางคือ 3268 -dDN_ฐาน ระบุชื่อเฉพาะของฐานการค้นหาสำหรับการเอ็กซ์พอร์ตข้อมูล -รตัวกรอง LDAP สร้างตัวกรองการค้นหา LDAP สำหรับการส่งออกข้อมูล ตัวอย่างเช่น ตัวกรองต่อไปนี้จะส่งออกผู้ใช้ทั้งหมดที่มีชื่อกลางเฉพาะ: csvde -r (และ (objectClass=ผู้ใช้)(sn=นามสกุล)) -พีภูมิภาค ระบุพื้นที่การค้นหา พารามิเตอร์ขอบเขตการค้นหาคือ ฐาน, หนึ่งระดับและ ต้นไม้ย่อย. -ลLDAP_attribute_list ระบุรายการแอตทริบิวต์ที่ส่งคืนในผลลัพธ์ของการร้องขอการส่งออก หากละเว้นพารามิเตอร์นี้ แอ็ตทริบิวต์ทั้งหมดจะถูกส่งกลับ -oLDAP_attribute_list ระบุรายการแอ็ตทริบิวต์ที่จะละเว้นจากผลลัพธ์การร้องขอเอ็กซ์พอร์ต โดยทั่วไปตัวเลือกนี้จะใช้เมื่อส่งออกออบเจ็กต์จาก Active Directory แล้วนำเข้าไปยังไดเร็กทอรีอื่นที่เข้ากันได้กับ LDAP หากแค็ตตาล็อกอื่นไม่รองรับแอตทริบิวต์ใดๆ ก็สามารถแยกออกจากชุดผลลัพธ์ได้โดยใช้ตัวเลือกนี้ -ก กำจัดการค้นหาหน้า -ม ละเว้นแอตทริบิวต์ที่ไม่สามารถเขียนได้ เช่น ObjectGUIDและ objectSID. -n ละเว้นการส่งออกค่าไบนารี -เค ละเว้นข้อผิดพลาดระหว่างการดำเนินการนำเข้าและดำเนินการประมวลผลต่อไป ด้านล่างนี้คือรายการข้อผิดพลาดที่ถูกละเว้นทั้งหมด:

  • วัตถุนั้นเป็นสมาชิกของกลุ่มอยู่แล้ว
  • การละเมิดคลาสอ็อบเจ็กต์ (หมายความว่าไม่มีคลาสอ็อบเจ็กต์ที่ระบุ) หากออบเจ็กต์ที่นำเข้าไม่มีคุณลักษณะอื่น ๆ
  • วัตถุมีอยู่แล้ว
  • การละเมิดข้อ จำกัด
  • มีแอตทริบิวต์หรือค่าอยู่แล้ว
  • ไม่มีวัตถุดังกล่าวอยู่
-กแตกต่าง_name_password ระบุการดำเนินการของคำสั่งโดยใช้ที่ระบุ แตกต่าง_name_user_nameและ รหัสผ่าน -ข. -ขชื่อผู้ใช้ รหัสผ่านโดเมน ระบุคำสั่งที่จะดำเนินการโดยใช้ที่ระบุ ชื่อผู้ใช้ โดเมน และรหัสผ่าน- ตามค่าเริ่มต้น คำสั่งจะถูกดำเนินการโดยใช้ข้อมูลประจำตัวของผู้ใช้ที่ล็อกอินเข้าสู่เครือข่ายในปัจจุบัน ไม่สามารถใช้กับพารามิเตอร์ได้ -ก. -? แสดงเมนูคำสั่ง

หมายเหตุ

  • พร้อมพารามิเตอร์ -คคุณสามารถใช้ค่าคงที่ได้ #schemaบริบทการตั้งชื่อและ #configurationการตั้งชื่อบริบทแทนชื่อที่แตกต่างของพาร์ติชันไดเร็กทอรี schema และพาร์ติชันไดเร็กทอรีการกำหนดค่า
  • เมื่อสร้างไฟล์นำเข้าสำหรับคำสั่ง ldifdeให้ใช้ค่า เปลี่ยนประเภทเพื่อกำหนดประเภทของการเปลี่ยนแปลงที่มีอยู่ในไฟล์นำเข้า ค่านิยม เปลี่ยนประเภทระบุไว้ในตารางด้านล่าง

ด้านล่างนี้คือตัวอย่างไฟล์นำเข้า LDAP ในรูปแบบ LDIF ที่ใช้ค่าดังกล่าว เพิ่ม:
DN: ซีเอ็น=เลือกแล้ว_ผู้ใช้,ดีซี=โดเมน_ชื่อ
ประเภทการเปลี่ยนแปลง: เพิ่ม
ซีเอ็น: เลือกแล้ว_ผู้ใช้
คำอธิบาย:file_description
วัตถุคลาส: ผู้ใช้
วัตถุคลาส: เลือกแล้ว_ผู้ใช้

ตัวอย่าง

หากต้องการแยกเฉพาะชื่อจำเพาะ ชื่อสามัญ ชื่อ นามสกุล และหมายเลขโทรศัพท์ของอ็อบเจ็กต์ที่ส่งคืน ให้ป้อน:
-ล โดดเด่น_ชื่อ, ซีเอ็น ชื่อ, เอส.เอ็น. โทรศัพท์
หากต้องการยกเว้น globally Unique identifier (GUID) สำหรับอ็อบเจ็กต์ ให้ป้อน:
-o เมื่อ_สร้าง, เมื่อ_เปลี่ยนแปลง, object_GUID