2行のPowerShellを一緒にステッチしようとしていますが、構文を理解できません。 a postが必要なように聞こえますが、-LDAPFilter
を使用していません。最後の100日間に作成ADユーザーのリストを生成するget-ADUserの出力をLDAPフィルタを使用してGet-ADGroupにパイプする
、私は
$now = ((Get-Date).AddDays(-100)).Date
$users = Get-ADUser -Filter {whenCreated -ge $now} -Searchbase "OU=staff,OU=SMUC_Users,DC=stmarys,DC=ac,DC=ie" |
Where-Object { $_.Enabled -eq 'True' }
を使用して、"How to get ALL AD user groups (recursively) with Powershell or other tools?"から、このコードは、ユーザーがメンバーであるすべてのグループを見つけることである次のステップを行いますof:
$username = 'd.trump'
$dn = (Get-ADUser $username).DistinguishedName
Get-ADGroup -LDAPFilter ("(member:1.2.840.113556.1.4.1941:={0})" -f $dn) |
select -Expand Name
しかし、私は全体のリストを取得するために最初の出力を2番目にパイプすることはできません。
Get-ADUser -Filter {whenCreated -ge $now} -Searchbase "OU=staff,OU=SMUC_Users,DC=stmarys,DC=ac,DC=ie" |
Where-Object { $_.Enabled -eq 'True' } |
Select-Object DistinguishedName |
Get-ADGroup -LDAPFilter ("(member:1.2.840.113556.1.4.1941:={0})" -f $_) |
select -expand Name
エラーメッセージは次のとおりです。
は、Get-広告グループを:検索フィルタが
を認識することができない私は、2番目のコードスニペットはdistingushed名を抽出し、フィルタにそれを与え思いましたそれが私がパイプラインでやろうとしたことです。
未テスト: 'ゲット-広告グループ-LDAPFilterを( "..." -f $ _) ' - >' Get-ADGroup -LDAPFilter {"..." -f $ _} 'となります。それ以外の場合: 'Get-ADGroup -LDAPFilter(" ... "-f $ _)' - > '%{Get-ADGroup -LDAPFilter(" ... "-f $ _)}' –
補遺: Select-Object DistinguishedName' - > 'Select-Object -Expand DistinguishedName'を実行します。そうでなければ、後で' $ _。DistinguishedName'を使う必要があります。 –