ฟังก์ชัน PowerShell: รับ-ADGroupMembershipperDepartment
ในสภาพแวดล้อมที่โตแล้ว มักจะเกิดความสับสนโดยสิ้นเชิง พนักงานในแผนกคือสมาชิกกลุ่มในกลุ่มที่ไม่ควรเป็นสมาชิก
หากมีสภาพแวดล้อม Active Directory ที่สะอาดและเป็นระเบียบ คุณสามารถใช้ฐานข้อมูลสำหรับการสืบค้นได้อย่างสมบูรณ์แบบ ตัวอย่างเช่น หากชื่อของแผนกอยู่ในฟิลด์แผนก ก็สามารถสอบถามความเป็นสมาชิกกลุ่มของผู้ใช้รายนี้ได้ บทความนี้จะแนะนำฟังก์ชันขั้นสูงและช่วยให้คุณสามารถสืบค้นการเป็นสมาชิกกลุ่มตามแผนกได้
คุณสมบัติผู้อำนวยการฝ่ายที่ใช้งานอยู่
สิ่งที่ฉันกำลังพูดถึงคือ:
มาดูตัวอย่างฟังก์ชันของฉันกันดีกว่า
รับ-ADGroupMembershipperDepartment
ฟังก์ชันขั้นสูงนี้สามารถนำไปใช้ในสภาพแวดล้อม PowerShell ของคุณได้ ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ในส่วนสุดท้าย
คำสั่งในการดำเนินการ โดยจะแสดงผู้ใช้ทั้งหมดของแผนกที่กำหนดและความเป็นสมาชิกกลุ่ม รวมถึงกลุ่มที่ซ้อนกัน
กำหนดพารามิเตอร์เดียวเท่านั้น: แผนก ในตอนท้ายคุณจะถูกขอให้พิมพ์สิ่งนี้ ตรวจสอบให้แน่ใจว่าได้ติดตั้งเครื่องพิมพ์เริ่มต้นในระบบของคุณ
ฟังก์ชั่น
function Get-ADGroupMembershipperDepartment {
[CmdletBinding()]
param
(
[Parameter(Position=0)]
[String]$Department
)
$user=Get-ADUser -filter {department -eq $Department} -Properties name,department
$result=@()
foreach ($u in $user)
{
$userdn = $u.DistinguishedName
$Nested = "(member:1.2.840.113556.1.4.1941:=$userdn)"
$a=Get-ADGroup -LDAPFilter $Nested -ResultPageSize 1000
$x=($a.Name) -join "`r`n"
$result+=New-Object -TypeName PSObject -Property ([ordered]@{
'User'=$u.Name
'Department'=$u.department
'Groups'=$x
})
}
$result | Format-Table -AutoSize -Wrap
$read=Read-Host -Prompt 'Do you want to print this? (Y/N)'
If ($read -eq 'Y')
{$result | Format-Table -AutoSize -Wrap | Out-Printer}
}
ถ้าชอบก็ทำให้มันถาวร
ทำให้มันถาวร
ถ้าคุณชอบแนวทางของฉัน ให้เปิด PowerShell ISE คัดลอกฟังก์ชันลงในเซสชัน ISE ของคุณ สร้างโฟลเดอร์ใน C:\Program Files\Windows PowerShell\Modules และบันทึกโค้ดเป็นไฟล์ psm1 ตรวจสอบให้แน่ใจว่าชื่อไฟล์และชื่อโฟลเดอร์ของคุณตรงกัน
จากนี้ไป PowerShell จะโหลดโมดูลแบบกำหนดเองทุกครั้งที่ PowerShell เริ่มทำงาน
การรับทราบ
ขอขอบคุณคนดีๆ ที่ช่วยฉันให้พ้นจากหายนะด้วยกลุ่มที่ซ้อนกันบนเทคเน็ต ขอขอบคุณเป็นพิเศษสำหรับ Richard Mueller สำหรับโพสต์ของเขาที่ช่วยฉันได้มาก
https://social.technet.microsoft.com/Forums/ie/en-US/f238d2b0-a1d7-48e8-8a60-542e7ccfa2e8/recursive-retrieval-of-all-ad-group-memberships-of-a-user? ฟอรั่ม=ไอทีซีจี



