Gimme the codes!
quyền hạn, kích hoạt!
$Groups = Get-ADGroup -Properties * -Filter * -SearchBase "OU=Groups,DC=corp,DC=ourcompany,DC=Com"
Foreach($G In $Groups)
{
Write-Host $G.Name
Write-Host "-------------"
$G.Members
}
Vấn đề là, chỉ cần dành thời gian của bạn và chia nó thành các bước. Tôi biết rằng thật thú vị khi cố gắng để mọi thứ và bồn rửa trong nhà bếp phù hợp với một lớp lót với Powershell, nhưng không có nghĩa là bắt buộc.
Một vài lưu ý:
Bạn không cần phải làm Get-ADGroupMember
nếu bạn thu thập tài sản Thành viên trong Get-ADGroup
Cmdlet ban đầu . Điểm hay của việc này là nó giảm một nửa số lượng cuộc gọi bạn phải thực hiện với AD, điều này sẽ giúp tập lệnh của bạn chạy nhanh hơn và giảm bớt gánh nặng cho bộ điều khiển miền.
$ G.Members sẽ hiển thị tất cả các thành viên của nhóm $ G ... trong Powershell 3. Trong Powershell 2, bạn vẫn có thể cần phải đưa một Foreach khác vào Foreach ở đó để liệt kê thông qua các thành viên của nhóm. ( Yo dawg, tôi nghe thấy bạn như vòng lặp ... )
Tôi sử dụng Write-Host
ở đây, đó là tổng. Bạn không bao giờ nên thực sự sử dụng Write-Host
. Thay vào đó, bạn nên xây dựng và xuất ra các đối tượng, không phải văn bản, nhưng đó là một chủ đề hoàn toàn khác và tôi đã quá lười biếng để làm điều đó cho câu trả lời này.
% { "GroupName: $($_.Name)"; "==========" ; Get-ADGroupMember $_ } | ft name
thì bạn cũng có thể nhận được những gì bạn đang theo đuổi. Câu trả lời của Ryan vẫn tốt hơn, nhưng đó là một dòng duy nhất nếu bạn muốn.