User Tools

Site Tools


en:powershell:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:powershell:start [2021/03/07 22:05] – created lonclegren:powershell:start [2021/03/16 21:48] (current) lonclegr
Line 3: Line 3:
 ===== Basics ===== ===== Basics =====
  
-According to me, the first thing we need to deal with is CSV file.+To me, the first thing we need to learn is to deal with is CSV file. First let's read a CSV file, loop across the lines. 
 + 
 +Here is an example of CSV input file. 
 + 
 +<csv> 
 +Samaccountname,Mail 
 +abc123,abc123@domain.com 
 +def123,def123@domain.com 
 +ghi123,ghi123@test.com 
 +</csv> 
 + 
 +<file csv input.csv> 
 +Samaccountname,Mail 
 +abc123,abc123@domain.com 
 +def123,def123@domain.com 
 +ghi123,ghi123@test.com 
 +</file> 
 + 
 + 
 +<file powershell csvLevel1.ps1> 
 +Import-Csv -Path input.csv | foreach { 
 + 
 +    # save current object into a local variable 
 +    $currentLine = $_ 
 + 
 +    # deal with columns 
 +    $mail = $currentLine.Mail 
 + 
 +    # test mail domain name 
 +    # we add a property with the result of our test 
 +    if ($mail -match "domain.com$") { 
 +        $currentLine | Add-Member -MemberType NoteProperty -Name "domainCheck" -Value "valid" 
 +    } else { 
 +        $currentLine | Add-Member -MemberType NoteProperty -Name "domainCheck" -Value "invalid" 
 +    } 
 +    # return updated currentLine with new column 
 +    $currentLine 
 +} |  
 +# export result line by line to CSV 
 +# -NoTypeInformation prevents metadata from being exported 
 +Export-Csv -Path preCheck.csv -NoTypeInformation 
 +</file> 
 + 
 +This script will output CSV file with a new column. 
 + 
 +<file csv preCheck.csv> 
 +"Samaccountname","Mail","domainCheck" 
 +"abc123","abc123@domain.com","valid" 
 +"def123","def123@domain.com","valid" 
 +"ghi123","ghi123@test.com","invalid" 
 +</file> 
 + 
 +<csv> 
 +"Samaccountname","Mail","domainCheck" 
 +"abc123","abc123@domain.com","valid" 
 +"def123","def123@domain.com","valid" 
 +"ghi123","ghi123@test.com","invalid" 
 +</csv>
en/powershell/start.1615172716.txt.gz · Last modified: 2021/03/07 22:05 by lonclegr