Write to logfile and to file

This topic contains 0 replies, has 1 voice, and was last updated by Profile photo of Forums Archives Forums Archives 5 years, 4 months ago.

  • Author
    Posts
  • #6059

    by rcjay272 at 2013-03-21 07:30:27

    All,

    I am working on a script to ping a list of devices and then get the file version. I have that part down, but I am having problems with the logging. When running the script I would like to have it output the results to both the console window and to separate log files. For the logfiles, I would like to have a "pingable" logfile with the file versions and a separate logfile for the "not reachables".

    The script I have going below doesn't seem to write each device to the logfile, only the last entry it processed. It does create both a goodversion.txt and a NotReachables.txt file.
    My questions are:

    Can I use write-host and out-file to output to the console and logfile at the same time?

    Thanks for looking.

    $servers = Get-Content -Path C:\Load_Stuff\MonitoringScripts\EndPoints.txt
    ForEach ($server in $servers) {
    if (Test-Connection $server -quiet) {
    gwmi -computername $server -query "select * from cim_datafile where name = 'c:\\Windows\\system32\\notepad.exe' " |
    Sort name,CSName |
    Select Version,CSName|
    Out-File C:\Load_Stuff\MonitoringScripts\PowerShell\GoodVersions.txt
    }
    else {
    write-warning "Failed to ping $server"|
    Out-File C:\Load_Stuff\MonitoringScripts\PowerShell\NotReachables.txt
    }
    }

    by mjolinor at 2013-03-21 07:38:06

    Would Start-Transcript be appropriate?

    by ArtB0514 at 2013-03-21 11:03:33

    Also look at Tee-Object

    by rcjay272 at 2013-03-22 09:41:39

    [quote="ArtB0514"]Also look at Tee-Object[/quote]

    Thank you.......Tee-Object rocks.....Testing it seems straight forward. Will add it to the script and let you know.

    Thank you,
    ROb

    by rcjay272 at 2013-03-22 12:35:34

    Guys,

    I am trying to get this to write to 2 different log files. Goodversions and badversion. It is not outputting anything in the badversion txt file.

    Do I have a format wrong here?

    $servers = Get-Content -Path C:\Load_Stuff\MonitoringScripts\130.txt
    ForEach ($server in $servers) {
    if (Test-Connection $server -quiet) {
    gwmi -computername $server -query "select * from cim_datafile where name = 'c:\\Program Files\\eof\\SoftClient\\TiSoftClient.exe' " |
    Sort name,CSName |
    Select Version,CSName|
    #Out-Host
    Out-File C:\Load_Stuff\MonitoringScripts\PowerShell\GoodVersions.txt -Append | Format-Table
    }
    else {
    write-warning "Failed to ping $server"|
    Out-File C:\Load_Stuff\MonitoringScripts\PowerShell\BadVersions.txt -Append
    }
    }

    by ArtB0514 at 2013-03-22 13:05:18

    Look at the OUTPUTS section of Get-Help Write-Warning -Full (or -Online). Then try this:

    else {
    write-warning "Failed to ping $server"
    "Failed to ping $Server" | Out-File C:\Load_Stuff\MonitoringScripts\PowerShell\BadVersions.txt -Append
    }

You must be logged in to reply to this topic.