Vraag : De Actieve Folder van PowerShell

Hallo daar, probeert

I om ADVERTENTIE te vragen gebruikend de Zoektocht ActiveRoles Mgmt Shell - de boete van de vraagwerken, maar ik kan niet de resultaten in een dataset met teksten door buizen leiden. Hier is wat ik:

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

foreach ($user in $users) {
get-qaduser $User | formaat-lijst samaccountname, gehandicapten, description, memberof | reeks C:\tmp\query.txt
}

or een andere poging:


$Users=gc C:\tmp\GetADAccountInfos\U sers.txt
f
oreach ($user in $users) {
get-qaduser $User | uitgezocht-voorwerp samaccountname, gehandicapten, description, memberof | C:\tmp\query.csv uit uitvoer-csv-voer
}

What is verkeerd? Thx buddies

Antwoord : De Actieve Folder van PowerShell


Herinner dat ForEach geen voorwerpen aan de pijpleiding terugkeert waar het forEach-Voorwerp.

U kunt alternerende actie het probleem als de lijn ForEach binnen een manuscriptblok wordt uitgevoerd. Hoewel de omzetting in forEach-Voorwerp over het algemeen gemakkelijker is op de ogen.


Inhoud c:\tmp\GetADAccountInfos\Users.txt | ForEach-voorwerp {
  $ Krijgen-QADUser _ | Uitgezocht-voorwerp SamAccountName, Gehandicapten, Beschrijving, MemberOf
} | Uitvoer-Csv c:\tmp\query.csv


U zou het zelfde probleem met System.String [] nog kunnen hebben. Als u u PS moet onderwijzen hoe te om de serie te behandelen. Één optie is dit:


Inhoud c:\tmp\GetADAccountInfos\Users.txt | ForEach-voorwerp {
  $ Krijgen-QADUser _ | Uitgezocht-voorwerp SamAccountName, Gehandicapten, Beschrijving,
    @ {n='MemberOf'; e= {„$ ($_.MemberOf)“}}
} | Uitvoer-Csv c:\tmp\query.csv


Het gebruikt de Separator Gebied van het standaard van de Output, een ruimte, om zich bij de koordserie (System.String [] aan te sluiten) zodat kunt u de inhoud zien. U kunt het karakter met voeten treden toe te treden door een waarde die voor gereserveerde veranderlijke $OFS wordt gebruikt te plaatsen (b.v. $OFS = „; “).

HTH

Chris
Andere oplossingen  
 
programming4us programming4us