Solved

Need to modify my powershell script to create event logs or perhaps a time stamp

Posted on 2011-09-29
6
521 Views
Last Modified: 2012-05-12
I got some help a few weeks ago and now use the following scrpt to clean up old .dat files that build up on my sharepoint server. The script works great and I am still thankful for the help I received, but my boss is hoping I can modify it to create event logs when it begins and ends or even a timestamp so we can use our network monitor to see how long it actually runs and be alerted if it stops running for some reason. I run this from a .bat file and it is scheduled to run in SCHEDULED TASKS. Everything runs fine, we just want to be able to monitor how long it takes and be alearted if it does not run. We were thinking we could monitor the event viewer and if a certain message does not appear we get alerted. All advice welcome..thanks

$Path = "D:\WSS_Files\data_realtime_archive\DataVolume\Farm(PTI-SQL#SHAREPOINT_CONFIG_FARM1)\http#80#processing\#"
gci $path -filter *.dat -recurse | ?{$_.lastwritetime -lt ((get-date).adddays(-60))} | Remove-Item -recurse -force
0
Comment
Question by:Thor2923
  • 3
  • 3
6 Comments
 
LVL 16

Expert Comment

by:Dale Harris
ID: 36817584
What if you have it email you every time it finishes?  Set it to kick off at 9AM (or whatever) and then when you get the email, you know two things: how long it ran and that it's done.  If you don't get one, it didn't kick off.

http://blogs.msdn.com/b/powershell/archive/2009/10/30/sending-automated-emails-with-send-mailmessage-convertto-html-and-the-powershellpack-s-taskscheduler-module.aspx

HTH,

Dale Harris
0
 
LVL 1

Author Comment

by:Thor2923
ID: 36817672
interesting idea, I will run it by my boss....I am still hoping this job to create some kind of event log though....thanks
0
 
LVL 16

Accepted Solution

by:
Dale Harris earned 500 total points
ID: 36817943
What you're looking for is New-EventLog.  This can create both a new event log, or a new event in an existing log.

Just type in:

Get-Help New-EventLog


You can easily get the time it ran by doing this:

#This is at the top of your script
$StartTime = Get-Date

#This is at the end of your script
$EndTime = Get-Date

$Difference = $Endtime-$Starttime

"Your script took a total of $($Difference.seconds) seconds to run"

HTH,

Dale Harris
0
Does Powershell have you tied up in knots?

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 1

Author Comment

by:Thor2923
ID: 36894055
your time commands look like they are going to work. I was able to add your commands and copy and paste my script into a powershell window and after running it reported how many seconds it took. The next step would be to get this to create the output in a file if I call the PS1 from a BAT file. Do you know if there is an easy modification for that?? BTW the event comman looks great too, I am playing with that now
0
 
LVL 16

Expert Comment

by:Dale Harris
ID: 36894980
You can hardcode the output:

"Your script took a total of $($Difference.seconds) seconds to run" > "C:\TestTimer.txt"

Good luck!

DH
0
 
LVL 1

Author Closing Comment

by:Thor2923
ID: 36897588
All your advice is working out perfectly!!! I have got much more interested and learned a lot about POWERSHELL from these few posts...THANKS
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

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…
Active Directory replication delay is the cause to many problems.  Here is a super easy script to force Active Directory replication to all sites with by using an elevated PowerShell command prompt, and a tool to verify your changes.
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…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

809 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