Ich habe Probleme mit einem Skript in Powershell mit AD-Modul.Active Directory PowerShell Filter
Ich kenne die allgemeine Faustregel, wie AD-Befehle seine Abfragen erhalten möchten, also habe ich dieses Skript geschrieben (was ich dachte) würde inline mit diesen Richtlinien fallen.
$CSV=Import-Csv "c:\temp\deleteduserlist.csv"
foreach ($entry in $CSV)
{
$filter = "{SamAccountName -like ""$($entry.username)""}"
Get-ADObject -filter $filter
}
Ich muß grundsätzlich in der Lage sein, eine der Benutzer abfragen und wiederherstellen, die gelöscht wurden aber es scheitert mit:
Error Message: 'syntax error' at position: '1'
Zuerst war ich mit einzelnen Zitaten durch die Filter zu senden, wie so :.
{SamAccountName -like 'xxx' "}
jedoch habe ich das jetzt behoben haben
Eine Sache, die mich verwirrt, ist, dass ich die Ergebnisse von $ filter buchstäblich anzeigen kann, kopiere sie auf Get-ADObject -Filter (einfügen) manuell und es funktioniert. Deshalb kann ich nicht verstehen, warum Powershell nicht gefällt ..
Whole Fehler:
Get-ADObject : Error parsing query: '{SamAccountName -like "xxxx"}' Error M essage: 'syntax error' at position: '1'. At C:\temp\GetDeleted.ps1:5 char:14 + Get-ADObject <<<< -filter $filter + CategoryInfo : ParserError: (:) [Get-ADObject], ADFilterParsing Exception + FullyQualifiedErrorId : Error parsing query: '{SamAccountName -like "xxx "}' Error Message: 'syntax error' at position: '1'.,Microsoft.ActiveD irectory.Management.Commands.GetADObject
'-Filter' erwartet * entweder * ein String oder ein Script - kein Script Definition in einer Zeichenkette. '$ filter = {SamAccountName -like" $ ($ entry.username) "}' ist ausreichend, keine Notwendigkeit für Anführungszeichen –
Ah ok heißt das, dass selbst die Änderungen, die Sie vorschlagen, nicht möglich sind, wegen was -Filter erwartet zu sehen? – CharlesH
Ah ok also, wenn ich die äußeren Anführungszeichen wegnehme, dann bekomme ich SamAccountName - wie "$ ($ entry.username)" was am Skript funktioniert aber natürlich gibt mir keine Ergebnisse :) – CharlesH