PowerShell「白帯」はこちら、初回ポスター。私がここにいる間、このような有益なコミュニティの集合的 IQ を下げないようにします! :) QuestがインストールされたPowerShell 3.0を実行しています。
私の組織には、VPN アクセスをすべて制御するいくつかのセキュリティ グループを持つ Active Directory OU があります。これらは、命名規則が確立される前に作成されたものです (うーん!)
「X と Y と Z のメンバーを取得する」という名前に頼るのではなく、代わりに「OU XXX 内の任意のメンバーを取得する」と言います。
理想的には、最後にもカウントが必要です。これは、最終的には「VPN アクセスを持っているユーザーの数」を監査するためです (複雑すぎる場合は、結果を .CSV などにバーフすることもできます)。
だから私はこれの一部を行ういくつかの部分を持っていますが、それらをすべて組み合わせる方法を完全に視覚化することはできません. どんな助けでも大歓迎です。ここに私の可動部分があります:
1 つの特定のグループのユーザーを返します。
get-adgroupmember "group_of_coolness" -recursive | Select name
「検索ベース」を使用して、ユーザーが入力した OU から結果を返します。
Get-ADUser -Filter * -SearchBase 'ou=XXX,ou=XXX,dc=XXX,dc=XXX,dc=org' -Properties GivenName, Surname, EmailAddress, Office, Company, Title, distinguishedname |
select GivenName, Surname, EmailAddress, Office, Company, Title, distinguishedname | Out-GridView
いくつかの特定のグループからの結果を返しますが、カウントも提供します (これまでで最も高度なパッチワーク ^^):
$GroupMembers=(get-ADGroup -filter {(Name -eq "XXXX") -or (Name -eq "YYYY")} |
get-adgroupmember -Recursive | select distinguishedname -Unique)
$Users=foreach ($user in $GroupMembers.distinguishedname) {
Get-ADUser $user
}
$Users | Sort-Object DistinguishedName |
select name, DistinguishedName
Write-Host
Write-Host "Total Users = " $Users.count
最後のコード スニペットは、「name -eq XXXX または YYYY」を「-searchbase "ou=XXX..." に置き換えることができれば、私に最も近いと思われます。
賢い人はどう思いますか?私は答えに近づいていますか?繰り返しになりますが、アドバイスをありがとうございます。私が馬鹿で、これがすでに回答されているスレッドを見落としているかどうかを教えてください(私はいくつかの緊密な電話を見つけましたが、まったくお金に見合ったものはありませんでした)。
私はここで何が欠けているかを見ることに興奮しています:)