Write-EventLog from a command line using a variable for -Message

My apologies for the possibly confusing title of this post, so let me explain...
My ultimate goal is to capture log information during the execution of a batch script and write it to the Application log.  Simple, you might think?  I couldn't figure it out in batch so gave up and moved on to try using PowerShell via
the @powershell command.
I started with the following test, which worked like a charm:
@PowerShell -NoProfile -command "Write-EventLog -LogName Application -Source MyApp -EntryType Information -EventID 99 -Message "Test1" -ComputerName MyServer"
Great I thought, now how to capture multiple "events" as my batch script executes so that I can write them all in one go to the Application log using a single @powershell command.  Capturing multiple lines of text in an environment variable
was a struggle and I wasn't even sure if I could then use the environment variable in the PowerShell command, so I tried writing the events to a text file with the intend of reading that text file using Get-Content, and then writing it to the event log.
So test #2 went like this:
@PowerShell -NoProfile -command "$OutText = 'Some text';Write-EventLog -LogName Application -Source MyApp -EntryType Information -EventID 99 -Message $OutText -ComputerName MyServer"
This worked, and "Some text" was successfully written to the event log entry, so the last step was to read my entries from the text file and write them instead:
For reference, the text file looked like this:
Test Entry 1
Test Entry 2
Test Entry 3 
@PowerShell -NoProfile -command "$OutText = Get-Content .\TestLog.txt;Write-EventLog -LogName Application -Source MyApp -EntryType Information -EventID 99 -Message $OutText -ComputerName MyServer"
Unfortunately I failed at the last hurdle as PowerShell didn't seem to like, I am guessing, the CRLFs in the text file?
Write-EventLog : Cannot convert 'System.Object[]' to the type 'System.String'
required by parameter 'Message'. Specified method is not supported.
At line:1 char:211
+ ... yServer -Message $OutText
+                    ~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Write-EventLog], Parameter
   BindingException
    + FullyQualifiedErrorId : CannotConvertArgument,Microsoft.PowerShell.Comma
   nds.WriteEventLogCommand
Any suggestions on how to solve my dilemma, either by solving the last step, or maybe by taking a different approach?
Many thanks, in advance,
Andy

Here is how we write to the event log from a batch file.  It is easy and more flexible than howyou are doing this:
eventcreate /?
eventcreate /L application /SO MyApp /ID 99 /D %messagetext% /S MyServer
Adding one big block of text to the event log is not how the EL can work.  The message size is limited.
The Event Log should not be used as a general tracing log on a regular basis.  It should be used to log errors that are critical and to log critical small pieces of information.
Why use batch if you have access to PowerShell. It is far less flexible and muc harder to manage.
¯\_(ツ)_/¯

Similar Messages

  • I would like to open an .htm file from the command line using firefox. Firefox responds by trying to open a URL (adding WWW to front of file name)

    firefox is located on unix box and I would like to use it to open report generated. After script creats report I would like to call firefox to read report. "firefox report.htm"

    I have solved this problem. All I needed was to follow firefox with the filename

  • Perform NetBeans build steps from command-line using Ant

    If I build a project using NetBeans, it creates the lib directory and populates it with dependant .jar's. It also puts the class-path in the manifest file.
    If I build using Ant ("ant jar" from build.xml folder), it creates the .jar without the class-path and without the lib folder.
    I want to build a simple project from the command-line, using Ant (or anything else that can process the build.xml file without having to modify it outside of NetBeans), and have it produce the same output as NetBeans.
    The project is a simple Swing app.
    How do I do it?

    Yes, I'm aware of that - there doesn't seem to be much participation in the NetBeans forum. I did actually ask the same question there with no (timely) response, so I thought I'd ask here as there seems to be far more people here who could answer my question.

  • Is there a way to switch between workspaces in Spaces from the command line?  I want to write a script to set up certain applications in certain workspaces (without having to do it manually each time)...

    Is there a way to switch between workspaces in Spaces from the comnand line?  I use several workspaces from Spaces, each workspace having a certain number of fixed applications running.  Rather than set all this up each time I log on, I'd like to write a script from the command line (I use gawk) to automate this. Currently I have a gawk script that, given a directory, opens a few xterms whose working directory is the given directory, and opens "preview" applied to a certain file in that directory.  However, at present I have to manually move an xterm through each workspace and run my gawk script in each workspace (applied to each directory that I'm working on).
    There must be a better way...

    Addendum: Can this be done via:   open -a Spaces --args xxx  , where xxx is some set of arguments (or something like this)?

  • How do shutdown the weblogic server from the command line prompt using web logic 8.1

    I%u2019m currently using weblogic 6.1, but I will upgrade to weblogic 8.1. In weblogic 6.1, the following statements will shutdown the weblogic instance from the command line:
    java weblogic.Admin -url t3://hostname:port -username system -password abc SHUTDOWN
    How do I shutdown the weblogic server from the command line prompt using web logic 8.1.
    Any help will be greatly appreciated.
    Maria

    Maria <[email protected]> wrote:
    How do I shutdown the weblogic server from the
    command line prompt using weblogic 8.1?Greetings Maria! Use this document, located here:
    http://edocs.bea.com/wls/docs81/admin_ref/cli.html#1131733
    Hope this helps...
    Brian J. Mitchell
    Systems Administrator, TRX
    email: [email protected]
    office: +1 404 327 7238
    mobile: +1 678 283 6530

  • I used to beable to push firefox with sccm using setup.exe from the command line , this no longer works i want to be able to have a silent install run for all,

    In the past I have always created a deployment with sccm and installed firefox.exe with the /s switch from the command line what is the new switch for silent installation ?

    hello, have you tried it with the full installers that are available at https://www.mozilla.org/firefox/all yet?

  • Calling an ExtendScript script from the command line

    Hi! I can call an ExtendScript script from a command line just by using its path, but is there a way to pass parameters to the script? Thanks. -Rick

    Hi Rick,
    Well, a scan of the documentation certainly provides no evidence of this capability. If it exists, someone else will have to fill us in.
    I did have an idea, although it's a bit of a roundabout approach. A windows batch file can accept parameters and can write a text file. So, maybe Mif2Go can call a batch file instead that writes the folder to some file, then runs the script that reads the file. Although, I'm not familiar with a command line call to ES, so I'm not sure that a batch file can launch an ES script too. If not, can Mif2Go make more than one command line call?
    Russ

  • Running report from command line with multiple value for same parameter

    Hey,
    I know how to run a report from the command line specifying parameters values each time but I was wondering if someone could tell me how I would go about running the same report multiple times in a batch program but specifying a list of values to pass to a parameter each time.
    So for example if a parameter was 'School Number', how could I run a report in a batch program that would pass a school number to the report as a parameter using a list of school numbers generated for a sql statement or something. So if I had 300 school numbers in my list then I would get 300 different reports when the batch program finished.
    This leads me to another question. How can I dynamically change the name of the report generated by the batch to use the school number value passed in, so for example if the value 3 was passed in the name would be something like School 3.pdf, if 4 was passed in the name would be School 4.pdf....etc
    Any help on this?
    Thanks

    Hello,
    Bursting and Distribution may help you ....
    37 Bursting and Distributing a Report
    http://download-uk.oracle.com/docs/cd/B14099_17/bi.1012/b13895/orbr_dist.htm
    Regards

  • Launching Rescue & Recovery from a Command Line

    Question - I would like to know how I can launch Rescue & Recovery from a command line.
    Issue that is prompting the question -  My laptop was sitting in my computer bag overnight. The battery was fully charged. I BELIEVE that it was in suspend mode at the time. When I opened it in the morning, there was a message on the screen saying that a backup had not completed successfully. I then noticed that the battery had run down completely.
    My Plan - I would like to launch Rescue & Recovery (as well as the Defrag utility) from Windows Task Scheduler. If I do, then all schedule tasks will be launched and controlled using the same process. Windows Task Scheduler also provides two key scheduling criteria that the IBM Rescue & Recoverry or the IBM Maintenance Manager utilities do not provide -
    #1 - Run this task only when the PC is on AC power.
    #2 - Run this task ony when the computer is idle (so that it doesn't slow down the PC if I happen to be working on it)
     Background Concerns -
    - Having a backup job automatically start when the computer is in my computer bag will run down my battery when I least expect it.
    - The PC may could also be damaged due to overheating, since the sides of the computer bag  block the ventilation holes.
    Additional Info
    - If I go to the ThinkVantage Productivity Center and select the Quick Link for "Backup Now" this will indeed launch a backup on demand. I assume that selecting this option is calling a specific executable file.
    - However, the only two applicable executable files that I see in the C:\Program Files\Lenovo\Rescue and Recovery directory are "mr_gui.exe" and "wizrr.exe". Both of these files launch an interface that requires the user to make a selection. As a result, it doesn't look as if either of these files would work for unattended operation, unless there is some sort of switch that I can put in that will automatically start the backup process.
    - I called the support line (only once so far), but that particular rep did not know of any way to launch Rescue & Recovery other than from the standard R&R user interfaces.
     Any help is greatly appreciated,
    Mathew

    The correct way to invoke a JSP is to make a request to the Server.
    Normally you would use your browser to do this.
    On a unix system, you can use the wget command to invoke a url without using a browser.

  • How to reset the network IP address from terminal/command line in Mac OSX?

    Do anyone knows how to set the network IP address from terminal/command line in Mac OS X?

    how about a GUI, ever heard of a GUI? it's this really neat thing, where you don't have to worry about remembering long strings of text to do something. Mac OS X actually has a rather decent one (that was sarcasm by the way, Mac is the best) you could have it done in like 30 sec, if you use the network pane of system preferences.

  • Run javascript (not in a jsx file) from the command line extendscript

    Hi all,
    I was wondering if anyone knew how to run javascript from the command line in Extendscript (meaning Extendscript would be the target application). I know about the -run command line flag in which allows you to run a .jsx script from the command line but what I'm looking for similar syntax to run a script directly without needing to put it in a file. For example I have tried (obviously unsuccessfully):
    C:\Program Files (x86)\Adobe\Adobe ExtendScript Toolkit CC\ExtendScript Toolkit.exe -run "alert('Hello World');"
    Thanks!

    You might be looking for something like this: javascript - Is it possible to execute JSX scripts from outside ExtendScript? - Stack Overflow
    Although that one is about executing JSX files, the solutions given (Applescript as well as COM/VBScript) can be adapted to simply run a javascript code snippet rather than JSX file because the solutions simply call the Adobe app's Applescript/COM API to "execute javascript" (actually execute ExtendScript technically), and in the solution, they using includes to pull in the JSX file. You'd simply replace the include with actual javascript code snippet inserted in.
    Though this would then require you to run a VBScript, Applescript, or other script (that calls the COM/Applescript API) rather than the ESTK command line option.

  • I want to set password security on a pdf from the command line

    I have a pdf file that is created and placed on a report server.  I would like to run a batch cmd to set the security for that pdf based on a saved security policy.  I will call the batch cmd file from a batch application.  Can Acrobat XI handle this operation or do I need a third party tool.  The pdf is created by BI Publisher (Peoplesoft).
    Thanks,
    Jay

    You need to invoke your cmd manually, don't you? So, instead of opening the Terminal application, enter the command and press "Enter" you open Acrobat and click a button. It's a different manual step to start the process, but you need a manual step to start the process anyway. I do realize that you may have a bash/perl/python script that does more than just apply encryption but that's the capability that Acrobat has.
    Regretfully, Acrobat JavaScript API does not provide functionality to encrypt with password. You can use JS to encrypt with certificates but [for unknown to me reason] not with passwords. Otherwise it could've written a JS script that encrypts, embed this JS in a separate PDF, open that PDF from a command line with your JS script executing on Open and have this LS script do all the work you need. Well, you can do that for certificate encryption but not for password encryption. I don't know why. And you cannot invoke an action from  a JS either. Oh, well...

  • How can I print the test page with the Arabic type from the command line

    Hi,
    I have been trying to make the tool for printing the test page from the command line on the Arabic OS. I used "rundll32 printui dll printuientry" with "/k /n" options. My tool is to print the test page in all OS when pushing the
    button.
    Normally, in the Arabic Windows, the test page is printed with RTL type when printing the test page in the "Devices and Printers". But in my tool, the test page is printed with LTR type. I'm confused because of this result.
    Is it possilbe to print the test page with RTL type when using the "rundll32 printui dll printuientry"? If it is possible, could anyone give me the hint or information for resolving?
    Please check for me.

    Hello,
    Thank you for your post.
    Your issue is out of support range of Test Tools in Visual Studio 2010 and 2012 forum which discusses Visual Studio Test issues.
    I am moving your question to the moderator forum ("Where is the forum for..?"). The owner of the forum will direct you to a right forum.
    Best regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How I can set my default browser mozilla firefox from the command line in Windows 7?

    I need to set my default browser mozilla firefox from the command line, ie without using the GUI.

    '''-setDefaultBrowser''' is the correct command - you need the two capital letters.
    Why Firefox 17.0.1? You would be missing a number of important security updates. Firefox 17.0.'''9''' is the current ESR release version.

  • How to burn CD's from the command line in 2009?

    I've always managed to burn CDs and DVDs from the command line but I haven't done it in a long time. cdrecord wasn't working as root and I noticed it was just a symlink pointing to wodim.
    I tried the following command as root in a directory with some wav files:
    # cdrecord -dev=/dev/sr0 -driveropts=burnfree -audio -pad *.wav
    Which gives me:
    Mar 6 08:43:18 wilco ata7.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen
    Mar 6 08:43:18 wilco ata7.00: cmd a0/00:00:00:00:00/00:00:00:00:00/a0 tag 0
    Mar 6 08:43:18 wilco cdb 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Mar 6 08:43:18 wilco res 40/00:02:00:0c:00/00:00:00:00:00/a0 Emask 0x4 (timeout)
    Mar 6 08:43:18 wilco ata7.00: status: { DRDY }
    Mar 6 08:43:18 wilco ata7: hard resetting link
    Mar 6 08:43:19 wilco ata7: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
    Mar 6 08:43:19 wilco ata7.00: configured for UDMA/100
    Mar 6 08:43:19 wilco ata7: EH complete
    This worked for me in 2008, so has anything big changed?

    Rasi wrote:
    Wilco wrote:
    Dieter@be wrote:I did not follow the discussion, but I just use wodim as specified on http://wiki.archlinux.org/index.php/CD_Burning_Tips, and that works great for me.
    Hmm strange, I tried the same command as in my first post and it works fine with the real cdrtools but not with wodim (I also tried k3b and that failed too). So I just stick with cdrtools
    Hooray, one more convert
    I haven't really followed the discussion either but why choose an "emulated cdrecord" that doesn't work instead of the real program that works great?

Maybe you are looking for

  • Three way matches

    I need to check configuration setting to check if three way matches have been activated for 1) Vendor Order, Good Receipt and Payment to Vendor 2) Customer Order, Customer Invoice and Customer Payment How do I do check this, what is the path.

  • Socket

    I have an application in which java program (client)communicates with IBM mainframe (server) using socket. when server writes about 16k data as reply, sometime java program receives all 16k data. sometimes it does not receive all data. After certain

  • Icons on navigation panel

    HI Everyone, If anyone know how we can configure to get icons on dynamic navigation panel. I appreciate if any can help. Thanks, Vinay

  • HT204053 We had 2 phones 1 computer my x has made password same

    2 phones 1 computer. His username comes up when I want to download anything He made an apple Id for me but that's not what comes up when I try to things on my phone He refuses to give me his password What do I do to ensure my apple id comes up not Hi

  • No alarm with shared calendars

    Hi! My wife and i share our calendars, and we both use alarms. Is it possible in ios to switch on my iphone the alarm of my wifes calendar off? So i woun't have a alarm and my wife will. Sorry about my english, i am german