ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Powershell Filter Data and Copy Data to new .csv file

    Scheduled Pinned Locked Moved IT Discussion
    13 Posts 3 Posters 3.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ObsolesceO
      Obsolesce @stess
      last edited by

      @stess

      This site uses Markdown: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet

      To post code, you use three ``` before and after your code. Single line or above and below your block of code.

      S LakshmanaL 2 Replies Last reply Reply Quote 2
      • S
        stess @Obsolesce
        last edited by

        @tim_g
        Thanks! site bookmarked

        1 Reply Last reply Reply Quote 1
        • LakshmanaL
          Lakshmana
          last edited by

          If there is any possibility to copy the new content of the data from. csv to smtp mail by powershell???

          S 1 Reply Last reply Reply Quote 0
          • LakshmanaL
            Lakshmana @Obsolesce
            last edited by

            @tim_g said in Powershell Filter Data and Copy Data to new .csv file:

            @stess

            This site uses Markdown: https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet

            To post code, you use three ``` before and after your code. Single line or above and below your block of code.

            This git hub is for?

            1 Reply Last reply Reply Quote 0
            • S
              stess @Lakshmana
              last edited by

              @lakshmana

              You mean send mail using whatever the data in the CSV is?

              $SmtpServer = "smtp.com"
              $SmtpServerPort = "25 or 587"
              $SmtpFrom = "[email protected]"
              $SmtpTo = "[email protected]"
              $SmtpBody = "$csvArray"
              $SmtpSubject = "Subject"
              
              Send-MailMessage -SmtpServer $SmtpServer -Port $SmtpServerPort -From $SmtpFrom -To $SmtpTo -subject $SmtpSubject -body $SmtpBody
              
              LakshmanaL 1 Reply Last reply Reply Quote 0
              • LakshmanaL
                Lakshmana @stess
                last edited by

                @stess said in Powershell Filter Data and Copy Data to new .csv file:

                @lakshmana

                You mean send mail using whatever the data in the CSV is?

                $SmtpServer = "smtp.com"
                $SmtpServerPort = "25 or 587"
                $SmtpFrom = "[email protected]"
                $SmtpTo = "[email protected]"
                $SmtpBody = "$csvArray"
                $SmtpSubject = "Subject"
                
                Send-MailMessage -SmtpServer $SmtpServer -Port $SmtpServerPort -From $SmtpFrom -To $SmtpTo -subject $SmtpSubject -body $SmtpBody
                

                Thank you so much

                S 1 Reply Last reply Reply Quote 0
                • S
                  stess @Lakshmana
                  last edited by

                  @lakshmana
                  You should look more into technet articles. There are plenty of guide, tips and tricks, etc.

                  1 Reply Last reply Reply Quote 0
                  • LakshmanaL
                    Lakshmana @stess
                    last edited by

                    @stess said in Powershell Filter Data and Copy Data to new .csv file:

                    @stess

                    Hmmm.. I don't know how to post code here. 😛

                    $csvFile = ".\etc.csv" #dummy file. Change it to whereevery your file is at.
                    $csvImport = Import-Csv $csvFile
                    
                    # Create Array for Exporting out data
                    $csvArray = "" #this clear for testing purpose. But it works in production environment as well.. so I didn't bother to remove it.
                    $csvArray = [System.Collections.ArrayList]@()
                    
                    # Entry count
                    $lineCounter = 1
                    
                    # Foreach Loop
                    Foreach ($csvImportedItem in $csvImport){
                    $lineCounter++ #this let me know which line in the entry is the problem.
                    $importedName = $csvImportedItem.Name
                    $importedID = $csvImportedItem.ID
                    $importedDept = $csvImportedItem.Department
                    $importedNote = $csvImportedItem.Note
                    if($importedNote -eq "C"){
                    $csvArray += $csvImportedItem
                    "[$lineCounter] $importedName $importedID $importedDept $importedNote`n" #For outputing result. Testing purpose
                    $csvImportedItem #For outputing result. Testing purpose
                    
                    
                    }
                    }
                    $csvArray #For outputing result before exporting to new CSV
                    #$csvArray | Export-Csv $NEWPATH -NoTypeInformation #destinate new path.
                    
                    Name ID Department Note
                    Caroline Bates 10035 Sales A
                    Danny Harrison 11523 Customer Service B
                    Armando Kelley 16423 Sales C
                    Dorothy Colon 10245 HR B
                    Joanna Sutton 19853 Accounting C

                    Neat!

                    if there "ticket id" and "Assigned date" is there in heading means??

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      stess @Lakshmana
                      last edited by

                      @lakshmana said in Powershell Filter Data and Copy Data to new .csv file:

                      @stess said in Powershell Filter Data and Copy Data to new .csv file:

                      @stess

                      Hmmm.. I don't know how to post code here. 😛

                      $csvFile = ".\etc.csv" #dummy file. Change it to whereevery your file is at.
                      $csvImport = Import-Csv $csvFile
                      
                      # Create Array for Exporting out data
                      $csvArray = "" #this clear for testing purpose. But it works in production environment as well.. so I didn't bother to remove it.
                      $csvArray = [System.Collections.ArrayList]@()
                      
                      # Entry count
                      $lineCounter = 1
                      
                      # Foreach Loop
                      Foreach ($csvImportedItem in $csvImport){
                      $lineCounter++ #this let me know which line in the entry is the problem.
                      $importedName = $csvImportedItem.Name
                      $importedID = $csvImportedItem.ID
                      $importedDept = $csvImportedItem.Department
                      $importedNote = $csvImportedItem.Note
                      if($importedNote -eq "C"){
                      $csvArray += $csvImportedItem
                      "[$lineCounter] $importedName $importedID $importedDept $importedNote`n" #For outputing result. Testing purpose
                      $csvImportedItem #For outputing result. Testing purpose
                      
                      
                      }
                      }
                      $csvArray #For outputing result before exporting to new CSV
                      #$csvArray | Export-Csv $NEWPATH -NoTypeInformation #destinate new path.
                      
                      Name ID Department Note
                      Caroline Bates 10035 Sales A
                      Danny Harrison 11523 Customer Service B
                      Armando Kelley 16423 Sales C
                      Dorothy Colon 10245 HR B
                      Joanna Sutton 19853 Accounting C

                      Neat!

                      if there "ticket id" and "Assigned date" is there in heading means??

                      use " "
                      So

                      $importedID = $csvImportedItem.ID
                      

                      becomes

                      $importedID = $csvImportedItem."ticket id"
                      

                      Keep the variable simple and easy to understand.

                      LakshmanaL 1 Reply Last reply Reply Quote 0
                      • LakshmanaL
                        Lakshmana @stess
                        last edited by

                        @stess i get error as "Warning: one or more headers were not specified. Defaults names starting with H have been used in place of any missing headers"

                        there is no data copied here to. csv

                        1 Reply Last reply Reply Quote 0
                        • 1 / 1
                        • First post
                          Last post