Dies macht mich verrückt.For-EachObject Schleife iterative Variable Problem
Ich möchte ein Skript erstellen, das für alle Benutzer, deren Name mit "John" beginnt, eine Textdatei mit dem Benutzernamen und dem Namen des Benutzers erstellt. Hier
ist das Skript:
Get-ADUser -Filter {name -like "John*"} -Property Name, SamAccountName |
ForEach-Object {
Get-ADUser -Filter {name -eq $_.Name} |
Select-Object -Property Name, SamAccountName |
Out-File "c:\PS\$_.Name.txt"
}
Dies funktioniert aber die out-Datei (en) Name ist nicht der Benutzer Name, sondern es ist seine ADsPath; CN=John Doe,OU=Users,DC=contoso,DC=local.Name.txt
Aus irgendeinem Grund löst die $_.Name
nicht korrekt in der Out-Datei CMD-Let. $_
refrences das Objekt richtig, aber die .Name
als nur String interpretiert
WriteHost $_.Name
so funktioniert, warum nicht Out-File "C:\PS\$_.Name.txt"
?
Das war genau was ich wollte, wusste nur nicht, wie es geht :) Danke! –