title: Format-List w/ No Headers
body: <p>I am looking for a way to do the same thing as <code>Format-Table -HideTableHeaders</code>, except with <code>Format-List</code>, I have looked all around... but haven't found any solutions.</p>
  
  <p>Background, I am importing the same csv over and over, but over time, new rows will be added. When they are, I am sending an email with the new information. Here are the various parts of the puzzle that I have come up with on my own:</p>
  
  <pre><code>##### send email-workorder.ps1 #####
  $smtpServer = "smtp.acme.com"
  $current = import-csv .\current.csv -Delimiter "|" -header 'WO#', 'WO Cat', 'EQ#', 'EQName', 'EQLoc', 'Remark', 'Date', 'Time', 'Requestor'
  $master = import-csv .\master.csv -Delimiter "|" -header 'WO#', 'WO Cat', 'EQ#', 'EQName', 'EQLoc', 'Remark', 'Date', 'Time', 'Requestor'
  $compared = Compare-Object $current $master -Property  "WO#" -PassThru |  Where-Object{$_.SideIndicator -eq '&lt;='} | Select-Object 'EQName', 'EQLoc', 'Remark', 'Time' | Format-List | Out-String
  
  if ($compared) {
  # Send E-Mail
  $msg = new-object Net.Mail.MailMessage
  $smtp = new-object Net.Mail.SmtpClient($smtpServer)
  
  $msg.From = "workorder@acme.com"
  $msg.To.Add("mechanic@acme.com")
  $msg.Subject = "New WO Submitted"
  $msg.Body = $compared
  
  $smtp.Send($msg) }
  </code></pre>
  
  <p>Batch file that will call the powershell script:</p>
  
  <pre><code>##### email-workorder.bat #####
  ##### this will be called by a scheduled task, set to run every five minutes #####
  cd c:\scripts
  sqlcmd -E -S acme-workorder-server -d WORDERDB -i worec.sql -h-1 -o "current.csv" -W -s "|"
  powershell.exe -command .\email-workorder.ps1
  move /y current.csv master.csv
  exit
  </code></pre>
  
  <p>The worec.sql file that is referenced in the batch file:</p>
  
  <pre><code>##### worec.sql #####
  set nocount on;
  SELECT * FROM (
  SELECT top 1000 [WONUMB]
        ,[WORKCAT]
        ,[EQNUMB]
        ,[EQNAME]
        ,[EQLOC]
        ,[REMARK]
        ,CAST([DATEISSUED] As DATE) As DATEISSUED
        ,CAST([TIMEISSUED] As TIME(0)) As TIMEISSUED
        ,[REQUESTEDBY]
    FROM [WORDERDB].[dbo].[WHREC]
    WHERE ( WORKCAT = 'BRK' Or
          WORKCAT = 'SAF' Or
          WORKCAT = 'CPU' Or      
          WORKCAT = 'COR' ) And
          WOCLOSED = 'N'
    ORDER BY [WONUMB] desc ) x
    ORDER BY [WONUMB] asc
  </code></pre>
  
  <p>Right now the email it is sending out is something like this:</p>
  
  <pre><code>EQName : PREP           
  EQLoc  : NULL
  Remark : need blown bulbs replaced@checkers 
  Time   : 16:40:00
  
  EQName : LIFT TRUCK 9         
  EQLoc  : PREP 
  Remark : guard obstructing view and probe no
  Time   : 17:57:00
  
  EQName : WASHER #2            
  EQLoc  : PREPARATION 
  Remark : sat 1 has 2 leaks and sat 2 has 2 l
  Time   : 22:38:00
  
  EQName : FINISHING 
  EQLoc  : NULL
  Remark : Need to repair pump on first statio
  Time   : 19:05:00
  
  EQName : FINISHING  
  EQLoc  : NULL
  Remark : SKY BAR NEEDS CLEANING 
  Time   : 13:12:00
  </code></pre>
  
  <p>Which is fine, except I would like to get rid of the headers on the left and just have the actual information. This will be sent via text message on hand-held radios, so I want to keep the message as minimal as possible. I would like to get rid of the Hh:mm:00 as well, but haven't been able to figure that out yet. (Programming is  not my thing and let me know if I need to go back and add additional comments.)</p>