foreach
ループを持つ特定のADグループのメンバーにちなんだ名前のファイルを見つけるには、以下のコードを使用しています。スクリプトには、最初の例外の後でループを停止させる問題があるようです。グループメンバのいずれかのファイルが見つからない場合、デフォルトの戻り値やエラーがないように見えるので、例外をスローする必要があると思います。ADユーザーとファイル名の比較
$ErrorActionPreference = "Stop"
$BVAU = Get-ADGroupMember ADGroupName | Select-Object -Property Name
foreach($entry in $BVAU) {
trap [System.IO.DirectoryNotFoundException]{
Write-Host $_.Exception.Message
continue
}
}
if (-not (Get-ChildItem "\\samplepath" -Recurse | Where-Object FullName -like "*$entry*")) {
throw [System.IO.DirectoryNotFoundException] "$entry not found"
}
}
同じ名前のファイルを持たないグループメンバーだけを表示したいとします。 (ADグループメンバーシップを合法的に受けるPDFフォーム)
あなたがCと言うフォルダを持っている:それ以外の場合
Where-Object
フィルタは、もう少し複雑になる\ tempにすると、いくつかの '* .pdf'ファイルがあるとあなたは同じとpdfファイルがあるかどうか、確認したいですグループとしての名前?また、そのファイルを再帰的にスキャンする必要がありますか? –あなたのブレースは少し外れているようですが、私は3つのスタートブレースを見ていますが、4つのエンドブレースは...? –
ADグループは、メンバーが自宅から当社のネットワークに接続できるようにします。これらのユーザーはまた、これに同意する必要があります。署名されたフォームは、特定のフォルダに.pdfファイルとして保存されます。この特定のフォルダには、契約の各バージョンのサブフォルダがあります。つまり、再帰を使用しています。どのグループメンバーがその同意書に署名していないかを知りたい(ファイル名にグループメンバーのADフルネームが含まれているところに.pdfファイルはありません)。 – Dominik