Ich habe ein Stück Code, den ich schrieb, die einige Daten erfasst und in eine CSV-Datei schreiben. Ich habe es in zwei Richtungen geschrieben. 1) Der erste Weg gibt mir nur das letzte Ergebnis und nicht alle Ergebnisse fast so, als ob es sich selbst überschreiben würde. 2) Die zweite Möglichkeit gibt mir einen Fehler, der "Ein Leerrohrelement nicht erlaubt"Export-CSV funktioniert nicht mit meiner foreach-Schleife
WAY 1)
foreach ($Computer in $CompObjToRM)
{
Get-ADComputer -Identity $Computer | Select Name, DistinguishedName | Export-CSV C:\T2\ServersToRemoveFromAD2.csv -NoTypeInformation
}
WAY 2) sagt
foreach ($Computer in $CompObjToRM)
{
Get-ADComputer -Identity $Computer | Select Name, DistinguishedName
} | Export-CSV C:\T2\ServersToRemoveFromAD2.csv -NoTypeInformation
Was mache ich falsch?
Way 1 - Ja, Ihre Annahme ist richtig. Weg 2 - '| Out-File' ist ein Befehl ** für sich **. Ich nehme an, du hast versucht, die 'foreach' in' Out-File' zu pipern, aber so funktionieren diese Klammern '{}' nicht. Die Klammern geben einfach den Beginn und das Ende der 'foreach' an. Es werden keine Daten per se ausgegeben, ohne dass Sie es ihm sagen. – gravity
Ich denke, ich könnte ein Idiot sein Ich denke, ich brauche -NoClobber im Export-CSV-Befehl nach dem Vermitteln der Befehlsergebnisse zu meinem Export-CSV. Lassen Sie mich den Code reparieren und ausführen und bestätigen oder leugnen Sie meine Dummheit. – JRN
Ok, wenn ich das code: foreach ($ Computer in $ CompObjToRM) { Get-ADComputer -Identität $ Computer | Wählen Sie Name, DistinguishedName | Export-CSV -NoClobber C: \ T2 \ ServersToRemoveFromAD2.csv -NoTypeInformation } Ich bekomme und Fehler: Die Datei 'C: \ T2 \ ServersToRemoveFromAD2.csv' existiert bereits. – JRN