Làm cách nào để xuất danh sách chi tiết tab Tab thành viên của người dùng Active Directory?


8

Tôi hiện đang trong quá trình tái cấu trúc danh sách người dùng Active Directory của công ty tôi đang làm việc và người đã làm công việc đó rất tệ và dĩ nhiên, không còn làm việc ở đây nữa.

Câu hỏi của tôi là như sau: Tôi muốn có một bảng tính Excel (lý tưởng) chứa tất cả thông tin có trong tab "Thành viên" của biểu đồ người dùng.

Tôi đã thử tạo một truy vấn, nhưng kết quả chỉ cung cấp cho tôi danh sách người dùng là "thành viên", chứ không phải nội dung thực tế của tab "thành viên".

Có cách nào để làm điều này, thông qua dấu nhắc lệnh hoặc trực tiếp từ Active Directory không?

Cảnh báo công bằng: Tôi không biết gì về VBS và Powershell.

Câu trả lời:


7

Nếu bạn muốn có được tư cách thành viên nhóm của người dùng, hãy chạy lệnh PowerShell này :

Get-ADPrincipalGroupMembership $Username | Select Name | out-file "filepath" nơi bạn muốn lưu tài liệu, bao gồm tên bạn muốn tài liệu "

Trong trường hợp $Usernamelà tên của người dùng mà bạn đang truy vấn.


IMO đây là công cụ chính xác cho công việc.
blaughw 5/11/2015

3

Tôi có cái này, bạn sẽ cần học một chút PowerShell để chuyển nó sang CSV, ngay bây giờ nó chỉ chuyển sang một tệp văn bản.

$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
    $file = $user.Name + '_ACL'        
    (Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Out-File c:\PSResults\$file.txt
    }

Tôi chưa bao giờ dành thời gian để làm cho nó hoạt động cho đầu ra CSV vì điều này đã làm những gì tôi cần.

- Nếu bạn muốn nó xuất sang csv, chỉ cần thay đổi đường dẫn tệp ra thành đường dẫn mà bạn muốn lưu, cộng với tên của document.csv, ví dụ: out-file C: \ PSResults \ $ file.csv sẽ xuất sang tệp CSV có tên $ file


Chỉ cần thấy Josh R đánh tôi với nó. Của anh cũng đơn giản hơn.
mortenya

1
Tuy nhiên, phiên bản của bạn sẽ hoạt động trên các phiên bản thấp hơn của PowerShell.
Josh

Đúng vậy, tôi đã phải ghi nhớ điều đó khi chia sẻ các tập lệnh trong nhóm của mình, vì tôi là người duy nhất có kinh nghiệm về PowerShell, và như vậy là người duy nhất từng nâng cấp qua 2.0
mortenya

Bây giờ tôi nghĩ về nó, tôi tin Get-ADPrincipalGroupMembershiplà trong 2.0. Không chắc tôi đang nghĩ gì.
Josh

Cảm ơn cả hai bạn đã trả lời. Tôi sẽ thử một ngày của Josh R trong khi làm việc, vì nó thực sự trông đơn giản hơn nhiều. Trừ khi tôi hiểu lầm, tôi sẽ phải tạo truy vấn này cho mỗi và mọi người dùng trên miền của tôi? Hoặc nếu tôi sử dụng cái của Mortenya, nó sẽ tạo ra một danh sách đầy đủ ngay lần đầu tiên? Chỉ muốn chắc chắn rằng tôi hiểu chính xác! :)

1

Bạn có thể tạo và xác định Truy vấn mới được áp dụng cho OU có chứa người dùng của bạn trong "Người dùng và máy tính AD" nhập chuỗi truy vấn này:

(&(&(&(&(objectCategory=user)(userAccountControl=512)))))

sau đó xuất kết quả sang csv bằng cách sử dụng "Danh sách xuất" ở đầu cửa sổ AD.


0

Để nhận tệp vào CSV, chỉ cần thay thế "Out-File c: \ PSResults \ $ file.txt" trong mã của bạn bằng "Xuất-CSV -path c: \ PSResults \ $ file.csv -NoTypeInform"

Vì vậy, nó sẽ trông giống như thế này:

$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
$file = $user.Name + '_ACL'        
(Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Export-CSV -path c:\PSResults\$file.csv -NoTypeInformation
}

Tuy nhiên, như những người khác đã đăng, dưới đây là cách tốt nhất để sử dụng vì đây là một cách dễ dàng:

Get-ADPrincipalGroupMembership USERNAME | Select Name | Export-CSV -path C:\Temp\file.csv -NoTypeInformation

điều này sẽ không hoạt động trong trường hợp nếu có những kẻ nhóm lồng nhau .. như một người dùng là thành viên của nhóm 20 thì nó sẽ không hiển thị
user420934
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.