Vinnaren i pepparkakshustävlingen!
2017-02-16, 14:05
  #1
Medlem
Hej,

Jag är inte så inne på powershell, men behöver få till en funktion. Det är så att jag redan har ett script som plockar ut data ur Active Directory och exporterar till en CSV-fil. Jag vill till detta lägga till ytterligare ett värde, men vet inte hur. För att förklara så klistrar jag här in det jag har.

Kod:
Get-ADUser -Filter * -SearchBase "OU=Test3,OU=Test2,OU=Test1,DC=test,DC=abc,DC=com" -Properties sei-global-id,givenName,sn,EmailAddress,employeeType | Select-object sei-global-id,givenName,sn,EmailAddress,employeeType | Export-Csv -Path result.csv -NoTypeInformation

Detta resulterar i en CSV fil med diverse värden som jag behöver. Attributet som heter "employeeType" kan resultera i några få värden, som t.ex. 0, 110, 125, 190. Det jag vill är att om värdet är 0, så ska 0 skrivas ut precis som det gör, men är värdet något annat än noll, så ska istället en 1:a skrivas ut.

Hur lyckas jag med det?
Citera
2017-02-17, 17:39
  #2
Medlem
splitfaces avatar
Citat:
Ursprungligen postat av JohnBlund
Hej,

Jag är inte så inne på powershell, men behöver få till en funktion. Det är så att jag redan har ett script som plockar ut data ur Active Directory och exporterar till en CSV-fil. Jag vill till detta lägga till ytterligare ett värde, men vet inte hur. För att förklara så klistrar jag här in det jag har.

Kod:
Get-ADUser -Filter * -SearchBase "OU=Test3,OU=Test2,OU=Test1,DC=test,DC=abc,DC=com" -Properties sei-global-id,givenName,sn,EmailAddress,employeeType | Select-object sei-global-id,givenName,sn,EmailAddress,employeeType | Export-Csv -Path result.csv -NoTypeInformation
Detta resulterar i en CSV fil med diverse värden som jag behöver. Attributet som heter "employeeType" kan resultera i några få värden, som t.ex. 0, 110, 125, 190. Det jag vill är att om värdet är 0, så ska 0 skrivas ut precis som det gör, men är värdet något annat än noll, så ska istället en 1:a skrivas ut.

Hur lyckas jag med det?
Vill du lägga till ytterligare en kolumn eller ändra värden i nuvarande?
För ändring i nuvarande lägg till en foreach loop (här i egen oneliner):
Kod:
Import-Csv result.csv | ForEach-Object {if ($_.employeeType -gt 0) {$_.employeeType = 1} else {$_.employeeType = 0} $_} | Export-Csv result2.csv -NoTypeInformation
Citera
2017-02-17, 22:15
  #3
Medlem
Citat:
Ursprungligen postat av splitface
Vill du lägga till ytterligare en kolumn eller ändra värden i nuvarande?
För ändring i nuvarande lägg till en foreach loop (här i egen oneliner):
Kod:
Import-Csv result.csv | ForEach-Object {if ($_.employeeType -gt 0) {$_.employeeType = 1} else {$_.employeeType = 0} $_} | Export-Csv result2.csv -NoTypeInformation

Tackar!
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback