Solved

Powershell: How to pull txt logs off remote server and parse text?

Posted on 2011-03-11
8
833 Views
Last Modified: 2012-08-13
I would like to retrieve text file logs off network servers (all in the same application path on remote servers), parse the text for the last 20 lines of the file and put that all in to one local csv file.

I need a starting point.

Thanks.
mug
0
Comment
Question by:Kris Montgomery
  • 4
  • 2
  • 2
8 Comments
 
LVL 12

Accepted Solution

by:
FDiskWizard earned 250 total points
ID: 35111542
I think you want: GET-CONTENT, and Export-CSV at a minimum
http://technet.microsoft.com/en-us/library/ee176843.aspx

I think this will do it... Just add: "| Export-csv MyFile.csv" on the end.

[PS] C:\>  foreach ($server in ("Server01","Sevrer02")) {dir \\$server\c$\Logs\*.log | foreach-object {$_ | get-content | select-object -last 20}}
0
 
LVL 5

Assisted Solution

by:daveTechSearch
daveTechSearch earned 250 total points
ID: 35111602
one similar one i've used in the past.
$comps = get-content c:\temp\servers.txt
$filepath = '\c$\path\to\file.txt'

@(foreach($comp in $comps){
(get-content \\$comp$filepath)[-20 .. -1]
}) | export-csv -notype c:\temp\output.csv

Open in new window

0
 
LVL 12

Expert Comment

by:FDiskWizard
ID: 35111699
Looks like Dave came up with the same answer basically, just a little more elegant :)
Mine is meant as a single line straight from the command line, and his is meant to be saved in a .PS1 file and executed.

Enjoy. I just started playing with Powershell in December.
0
 
LVL 6

Author Comment

by:Kris Montgomery
ID: 35111736
Yep.  Both are great.  

Exactly what I needed.

Thanks.
mug
0
Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

 
LVL 6

Author Closing Comment

by:Kris Montgomery
ID: 35111834
These are both perfect answers.  The first one is just a bit easier to follow for a newbie.
0
 
LVL 6

Author Comment

by:Kris Montgomery
ID: 35112584
Can one of you guys add the code on how to get only the most recent log file from that folder/location?

I appreciate it.

Thanks.
mug
0
 
LVL 5

Expert Comment

by:daveTechSearch
ID: 35112937
get-childitem | sort -prop LastWriteTime | select -last 1
0
 
LVL 6

Author Comment

by:Kris Montgomery
ID: 35112940
Thank you, thank you.

mug
0

Featured Post

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Are you one of those front-line IT Service Desk staff fielding calls, replying to emails, all-the-while working to resolve end-user technological nightmares? I am! That's why I have put together this brief overview of tools and techniques I use in o…
Create and license users in Office 365 in bulk based on a CSV file. A step-by-step guide with PowerShell script examples.
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
CodeTwo Sync for iCloud (http://www.codetwo.com/sync-for-icloud?sts=6554) automatically synchronizes your Outlook 2016, 2013, 2010 or 2007 folders with iCloud folders available via iCloud Control Panel. This lets you automatically sync them with…

911 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now