Skip to main content

Writing Event Log Entries with PowerShell

PowerShell contains a cmdlet, Write-EventLog that will allow you to place custom events generated by your scripts into the clients event logs.  One problem that I have had with this approach is that the source that is generating the event log entry needs to be registered with the log you are writing to.  In other words, an extra procedure on each client/server that needs to be completed before the script can be used.  Another option is to use the Windows PowerShell event log itself.  Take a look at this code:

Write-EventLog -Source PowerShell -LogName "Windows PowerShell" -EventId 10000 -EntryType Information -Message "This is a test"

 

Here you can see that we are using the Source of PowerShell with the event log of Windows PowerShell.  The key to using the Windows PowerShell event log for your own purposes is to make sure that you are using event IDs that are unique. Using this code, I was able to get an idea for the Event IDs being used by the Windows PowerShell event log.

 

Get-WinEvent -LogName "Windows PowerShell" |

 Select-Object -Property ID -Unique

It appeared that anything over 10000 was available.  When developing code that you want to make entries in the Windows PowerShell event log, make an Excel spread sheet of your scripts and the event ID numbers it will use.  Allow for some room for growth so separate blocks by sizes of 25 or 50.  That way as you add new code to the script in the future, your event IDs for that script will be sequential.  Having this list will also help you understand which IDs that you need to look up.  When you need to recover all the events from a particular script, you simply provide the Event ID range for that script.

$LogHash = @{LogName = "Windows PowerShell"; ID = 10000..10024}

Get-WinEvent -FilterHashtable $LogHash

A parameter that may help you clarify what you are writing in the event log is –EntryType.  EntryType has the following values:

  • Error
  • Warning
  • Information
  • SuccessAudit
  • FailureAudit

Using this parameter will help you to further filter your search results. It will also allow you to reuse event IDs because they will have different EventTypes.

For those of you who wish to create a custom event log for your scripts, take a look at the help file for New-EventLog.

Comments

Popular posts from this blog

With the AD Recycle Bin Turned on, What Happens when you Create a User Account with a Password that does not meet the Password Policy?

This was an interesting observation from one of my Windows Server 2012 classes.  While working with the AD Recycle bin in a lab, one of my students discovered some interesting accounts that were created. When he created user accounts that did not meet password complexity requirements, an account is temporarily made and then deleted.  When a new password is provided that meets the password requirements, then a new account is made. We discovered this in two places.  First off in the Active Directory Administrative Center.  This is what caused the initial confusion.  Take a look.  This is in the Deleted Objects OU. You can see multiple deleted accounts for Test2 and one for Test3.  Test3 is a valid, functioning user account.  Using the PowerShell command Get-ADObject –IncludeDeletedObjects –Filter * –Properties ObjectSID we can see that indeed, two accounts were created, with one of them deleted. Notice the RID portion of the SID is different. ...

Sticky Key problem between Windows Server 2012 and LogMeIn

This week I instructed my first class using Windows Server 2012 accessed via LogMeIn and discovered a Sticky Key problem every time you press the Shift key. Here is my solution to resolve this.  First off, in the Preferences of LogMeIn for the connection to the Windows Server, click General . Change the Keyboard and mouse priority to Host side user and click Apply at the bottom. On the Windows 2012 server, open the Control Panel – Ease of Access – Change how your keyboard works . Uncheck Turn on Sticky Keys . Click Set up Sticky Keys . Uncheck Turn on Sticky Keys when SHIFT is pressed five times . Click OK twice. If you are using Windows Server 2012 as a Hyper-V host, you will need to redo the Easy of Use settings on each guest operating system in order to avoid the Sticky Key Problem. Updated Information: March 20, 2013 If you continue to have problems, Uncheck Turn on Filter Keys .

Backup and Restore AD LDS with DSDBUTIL.exe

Active Directory Lightweight Directory Services allow you to create a directory service that allows applications to have access to user accounts, groups, and authentication similar to Active Directory Domain Services.  The big advantage here is that the schema of the directory service will not be bound by the rules of an Active Directory database.  Exchange 2007/2010, for example, use an instance of AD LDS on the Edge Transport Server to provide for user authentication from the internet.  Because your Active Directory database is not exposed to the internet, this is more secure. Applications will handle most of the dirty work should they require AD LDS.  You may want to make sure the database is being backed up and also have a restore plan in place.  Should the database become corrupt, the application that uses that database will fail.  This document will walk you through backing up and restoring an instance of AD LDS using the dsdbutil.exe command. Fi...