Ich versuche, Dateien zu finden, die nach Mitgliedern einer bestimmten AD-Gruppe mit einer foreach
-Schleife mit dem folgenden Code benannt sind. Das Skript scheint ein Problem zu haben, das dazu führt, dass die Schleife nach der ersten Ausnahme stoppt. Ich denke, ich muss die Ausnahme werfen, weil es scheint, keine Standard-Rückgabewert oder Fehler, wenn keine Datei für eines der Gruppenmitglieder gefunden wird.AD-Benutzer mit Dateinamen vergleichen
$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"
}
}
Ich möchte nur die Gruppenmitglieder anzeigen, die keine gleichnamige Datei haben. (Ein PDF-Formular, das die Mitgliedschaft in der AD-Gruppe rechtlich qualifiziert)
so haben Sie einen Ordner sagen c: \ temp und es gibt mehrere '* .pdf' Dateien und Sie überprüfen wollen, ob es eine PDF-Datei mit dem gleichen ist Name als Gruppe? Müssen Sie auch rekursiv nach diesen Dateien suchen? –
Ihr Bracing scheint ein bisschen aus, ich sehe 3 Starts Klammern aber 4 Ende Klammern ...? –
Die AD-Gruppe ermöglicht ihren Mitgliedern, sich von zu Hause aus mit unserem Firmennetzwerk zu verbinden. Diese Benutzer müssen auch eine Vereinbarung unterzeichnen. Die signierten Formulare werden als PDF-Dateien in einem bestimmten Ordner gespeichert. Dieser spezielle Ordner enthält Unterordner für jede Version der Vereinbarung, was bedeutet, dass ich eine Rekursion verwende. Ich möchte herausfinden, welche Gruppenmitglieder diese Vereinbarung nicht unterzeichnet haben (es wird keine .pdf-Datei gefunden, deren Dateiname den vollständigen AD-Namen eines Gruppenmitglieds enthält). – Dominik