Blending PowerShell and Windows Commands

Recently I had a requirement to obtain tracert (traceroute) information for all of my ConfigMgr 2012 servers. Here’s a quick (and crude) example of how to capture tracert information for each system, and then write the info to its own file for each server.

Systems.txt is a file that has each system listed, one per line. gc is the alias for get-content. We then run a foreach loop to run tracert on each system, capturing the value into $a, then display the output, as well as pipe it to a file.


gc .\systems.txt | % { $a = tracert $_; $a; $a>@($_ + ".txt")}

Happy scripting!

Greg

About Greg Ramsey
Greg Ramsey is a systems engineer specializing in global systems management for Dell IT. He has a B.S. in Computer Sciences and Engineering from the Ohio State University and is a Microsoft Most Valuable Professional (MVP) for Microsoft System Center Configuration Manager. Greg coauthored SMS 2003 Recipes: A Problem-Solution Approach (Apress, 2006), Microsoft System Center Configuration Manager Unleashed (Sams, 2009), Microsoft System Center 2012 Configuration Manager Unleashed (Sams, 2012), and Microsoft System Center 2012 Configuration Manager: Administration Cookbook (Packt Publishing, 2012), and Microsoft System Center 2012 Configuration Manager R2 Unleashed (Sams, 2012). Greg is cofounder of the Ohio SMS Users Group, and the Central Texas Systems Management User Group.

2 Responses to Blending PowerShell and Windows Commands

  1. Aleksandar says:

    gc .\servers.txt | % { tracert $_ | tee -var a; $a>@($_ + “.txt”)}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: