ค้นหาเว็บไซต์

ฟังก์ชัน 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? ฟอรั่ม=ไอทีซีจี

บทความที่เกี่ยวข้อง