We help IT Professionals succeed at work.

not able to export result in csv - powershell

jack jones
jack jones asked
on
321 Views
Last Modified: 2018-12-14
$a = Get-Content C:\xyz\test.txt
foreach($b in $a)
{
Get-Mailbox -Identity $b | Select-Object name, Database
}
$b | Export-Csv C:\xyz\result.csv 

Open in new window


It gives output as ""PSPath","PSParentPath","PSChildName","PSDrive","PSProvider","ReadCount","Length.. and so on"
Comment
Watch Question

Chris DentPowerShell Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
You're exporting b, which comes from your file. It's breaking the interpreter a bit.
Get-Content C:\xyz\test.txt | ForEach-Object {
    Get-Mailbox -Identity $_ | Select-Object name, Database
} | Export-Csv C:\xyz\result.csv 

Open in new window

Author

Commented:
Supply values for the following parameters:
Process[0]:
Anyway you could modify my script not able to get yours..
Chris DentPowerShell Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
$results = @()
$a = Get-Content C:\xyz\test.txt
foreach($b in $a)
{
    $results += Get-Mailbox -Identity $b | Select-Object name, Database
}
$results | Export-Csv C:\xyz\result.csv

Open in new window

Author

Commented:
now the script is giving error operation could not be performed
Chris DentPowerShell Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
You're going to have to share a bit more detail because the errors you're getting and the code I'm posting are not joining up.

What, exactly, does the error message say and where is it being thrown?

Author

Commented:
what my script does is it gets all user from list and find their mailboxes and shows results.
I want this result in csv
Chris DentPowerShell Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
I'm quite capable of reading the script and determining its intent. I've given you two versions which will achieve that result. The scripts aren't long, there's not a huge margin for error here.

I'm unclear how you're managing to end up with errors. You'll have to share more if I'm to help further.

Author

Commented:
$a = Get-Content C:\xyz\test.txt
foreach($b in $a)
{
Get-Mailbox -Identity $b | ft name, Database
}
$b | Export-Csv C:\xyz\result.csv 

Open in new window


I have modified my script it gives output in the console however it generates a csv file with no output in it
PowerShell Developer
CERTIFIED EXPERT
Top Expert 2010
Commented:
This problem has been solved!
(Unlock this solution with a 7-day Free Trial)
UNLOCK SOLUTION

Author

Commented:
Im getting this ou put in csv
#TYPE Microsoft.PowerShell.Commands.Internal.Format.FormatStartData
"ClassId2eaqwere99d3c952918aff9cd","pageHeaderEntry","pageFooterEntry","autosizeInfo","shapeInfo","groupingEntry"

May be some with exchange expertise can solve this ...
Chris DentPowerShell Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
You've added format-list or format-table...

Author

Commented:
format-table ft ... i tried both but none succeed
Chris DentPowerShell Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
That's why its broken now. You cannot send output created by the format commands to export-csv.

Author

Commented:
Yes thats what i m looking to solve.
Chris DentPowerShell Developer
CERTIFIED EXPERT
Top Expert 2010

Commented:
You showed code with a bug caused by you passing the wrong value to Export-Csv.

I gave you two solutions which deal with that.

At no point have I used Format-*, so why are you?

I cannot help you, you change the things you're given, then complain they don't work.

Good luck.

Author

Commented:
Both didnt work :(
Jeff GloverSr. Systems Administrator
CERTIFIED EXPERT

Commented:
I hate to ask this but are you running this on an Exchange server or at least opening a  remote powershell session to one? I.E. loading the Exchange modules? I only ask this because, out of curiosity, I tried both of the scripts that Chris posted and they run like a champ ). As long as your text file is just  a list of users, you have valid paths, and have the Exchange module loaded in powershell these run perfectly.

Author

Commented:
Yes i have loaded an exchange module in powershell ..

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions