Formatting Output from two command help needed

Welcome Forums General PowerShell Q&A Formatting Output from two command help needed

Viewing 0 reply threads
  • Author
    Posts
    • #5276
      Participant
      Topics: 1562
      Replies: 0
      Points: 0
      Rank: Member

      by link12 at 2012-11-14 10:23:04

      I’m running into issues with formatting the output of this script in particular to the FullName property of a
      get-childitem cmdlet. The first couple of variables formats the full path to just a small set of info, just the samaccount name
      of the predefined file. I then take that $filename variable and loop to get the primary smtp address. This all works.
      What I want for out is the following.

      Read through a directory that has PST files, pull out the name, get the smtp address, and then get the full path to the pst file.

      I have the username@domain.com, but can’t get the fullname path

      Format should output to a text file that looks like the following.

      username01@domain.com, c:\folder\username01.pst
      username02@domain.com, c:\folder\username02.pst
      username03@domain.com, c:\folder\username03.pst

      Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010
      Set-ADServerSettings -ViewEntireForest $true

      $filepath = "C:\testfile"

      $filename = get-childitem $filepath | foreach-object {($_.BaseName -split "-")[3]}
      $filenamepath = get-childitem $filepath | ForEach-Object {$_.FullName}

      foreach ($i in $filename){
      $smtpaddress = get-mailbox $i | select primarysmtpaddress
      $smtpaddress,filenamepath (the filenamepath is not working)
      }

      Remove-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010

      by DonJ at 2012-11-15 04:18:32

      So, I think you just may have a few logic errors.


      Get-ChildItem c:\testfile |
      Select @{n='Filename';e={$_.Name},@{n='Path';e={$_.FullName},@{n='SMTP';e={Get-Mailbox $_.Name | Select -Expand PrimarySMTPAddress}}

      Is that not what you’re after? Or am I not understanding the question?

      In your code, within the ForEach loop, $filenamepath is a collection of objects, but you’re treating it like a single object. I think that might be why this isn’t working for you – you’re kind of mixing and matching bits. What I tried to do is put all of that into a single consistent command. I don’t have Exchange so I can’t test it, and I’m not 100% clear on what you’re after, but hopefully it’ll help a bit…

      by link12 at 2012-11-15 05:54:37

      Basically I’m building a manifest file to ingest PST files to an archive system. We’re going to have a central file server that stores the PST files with a common name. I need to first parse that name so that I can do a get-mailbox on it to get the PrimarySMTPAddress. I also need the FullName to get the path.

      Folder example PST format (This will have hundreds)
      c:\test\pst_storage\Something-Something-Something-samaccountname.pst

      Output needed for a text file.
      username01@domain.com, c:\test\pst_storage\Something-Something-Something-samaccountname1.pst
      username02@domain.com, c:\test\pst_storage\Something-Something-Something-samaccountname2.pst
      username03@domain.com, c:\test\pst_storage\Something-Something-Something-samaccountname3.pst

      I tried your example on a file and go the following. Thanks for the help.

      The hash literal was incomplete.
      At C:\Users\usertest01\Desktop\test.ps1:2 char:155
      + Get-ChildItem $path | Select @{n=’Filename’;e={$_.Name},@{n=’Path’;e={$_.FullName},@{n=’SMTP’;e={Get-Mailbox $_.N
      | Select -Expand PrimarySMTPAddress}} <<<<
      + CategoryInfo : ParserError: (CloseBraceToken:TokenId) [], ParseException
      + FullyQualifiedErrorId : IncompleteHashLiteral

Viewing 0 reply threads
  • The topic ‘Formatting Output from two command help needed’ is closed to new replies.