Frage : PowerShell Active-Verzeichnis

Hallo dort,

I Versuch, zum der ANZEIGE using die Suche ActiveRoles Mgmt Shell zu fragen - die Frage adaequat ist, aber ich kann die Resultate nicht in eine Textdatei leiten. Ist hier, was ich tue:

$Users=gc C:\tmp\GetADAccountInfos\U sers.txt

foreach ($user in $users) {
get-qaduser $User | Formattabelle samaccountname, gesperrt, description, memberof | Einstelleninhalt C:\tmp\query.txt
}

or andere Versuch:


$Users=gc C:\tmp\GetADAccountInfos\U sers.txt
f
oreach ($user in $users) {
get-qaduser $User | Vorwählengegenstand samaccountname, gesperrt, description, memberof | C:\tmp\query.csv
}

What exportieren-csv ist falsch? Thx buddies

Antwort : PowerShell Active-Verzeichnis


Daran erinnern, dass ForEach Gegenstände nicht zur Rohrleitung zurückbringt, in der ForEach-Gegenstand tut.

Sie können Work-around das Problem, wenn die ForEach Schleife innerhalb eines Indexblockes durchgeführt. Obgleich Umwandlung zum ForEach-Gegenstand im Allgemeinen auf den Augen einfacher ist.


Erhalten-Inhalt c:\tmp\GetADAccountInfos\Users.txt | ForEach-Gegenstand {
  $ _ Erhalten-QADUser | Vorwählen-Gegenstand SamAccountName, gesperrt, Beschreibung, MemberOf
} | c:\tmp\query.csv Exportieren-Csv


Sie konnten das gleiche Problem mit System.String noch haben []. Wenn Sie Sie PS unterrichten müssen, wie man die Reihe beschäftigt. Eine Wahl ist diese:


Erhalten-Inhalt c:\tmp\GetADAccountInfos\Users.txt | ForEach-Gegenstand {
  $ _ Erhalten-QADUser | Vorwählen-Gegenstand SamAccountName, gesperrt, Beschreibung,
    @ {n='MemberOf'; e= {„$ ($_.MemberOf)“}}
} | c:\tmp\query.csv Exportieren-Csv


Es benutzt den Rückstellung Ausgangs-Feld-Separator, einen Raum, um der Schnurreihe (System.String []) anzuschließen, also können Sie den Inhalt sehen. Sie können den Buchstaben aufheben, der benutzt, um zu verbinden, indem Sie einen Wert für die reservierte Variable $OFS einstellen (z.B. $OFS = „; ").

HTH

Chris
Weitere Lösungen  
 
programming4us programming4us