<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle26
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle27
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle28
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle29
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Scott and David, I’m not finding any .net call that will produce the “StartupType” for a service that is already installed. There is a documented way to do it from a Win32 API; but, that involves using P/Invoke.
 See here: <a href="http://www.leeholmes.com/blog/2009/01/19/powershell-pinvoke-walkthrough/">
http://www.leeholmes.com/blog/2009/01/19/powershell-pinvoke-walkthrough/</a>  and here:
<a href="http://pinvoke.net/default.aspx/advapi32/QueryServiceConfig.html">http://pinvoke.net/default.aspx/advapi32/QueryServiceConfig.html</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Ray<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> Scot Kreienkamp [mailto:SKreien@la-z-boy.com]
<br>
<b>Sent:</b> Wednesday, June 01, 2011 11:03 AM<br>
<b>To:</b> Storer, Raymond; David Baldwin<br>
<b>Cc:</b> xymon@xymon.com<br>
<b>Subject:</b> RE: [Xymon] Windows PS client svcs data missing<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">This is what I have so far:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">function XymonSvcsNET2<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">{<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                $result = [reflection.Assembly]::LoadWithPartialName("System.ServiceProcess")<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                $Services = [System.ServiceProcess.ServiceController]::GetServices()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                $COLUMNNAME="Name"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                $COLUMNSTATUS="Status"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                $COLUMNDESCRIPTION="Description"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                #[Reflection.Assembly]::Load(‘System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                #get all the services installed on the local machine<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                $serviceController = [System.ServiceProcess.ServiceController]::GetServices()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                "[svcs]"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                "--------------------------------------------------------------------------------------------------------------"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                "{0,-50} {1,-20} {2,-20}" -f `<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                $COLUMNNAME, $COLUMNSTATUS, $COLUMNDESCRIPTION<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                "--------------------------------------------------------------------------------------------------------------"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                foreach ($svc in $serviceController) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                "{0,-50} {1,-20} {2,-20}" -f `<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                $svc.Name, $svc.Status, $svc.DisplayName<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I did get the formatting figured out finally after about 6 hours.  The only piece that I cannot figure out is the service startup type, if I can get some help on that I think this is workable. 
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I'm a complete newbie at powershell, so comments/help appreciated. 
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:#1F497D">Scot Kreienkamp<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:#1F497D">Senior Systems Engineer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:#1F497D"><a href="mailto:skreien@la-z-boy.com">skreien@la-z-boy.com</a><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> xymon-bounces@xymon.com [mailto:xymon-bounces@xymon.com]
<b>On Behalf Of </b>Storer, Raymond<br>
<b>Sent:</b> Monday, May 16, 2011 10:38 AM<br>
<b>To:</b> David Baldwin<br>
<b>Cc:</b> xymon@xymon.com<br>
<b>Subject:</b> Re: [Xymon] Windows PS client svcs data missing<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">David, you can also use the “Load” method instead as follows:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">[Reflection.Assembly]::Load(‘System.ServiceProcess, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><br>
Ray<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> David Baldwin [mailto:David.Baldwin@ausport.gov.au]
<br>
<b>Sent:</b> Monday, May 16, 2011 12:39 AM<br>
<b>To:</b> 'Scot Kreienkamp'; Storer, Raymond<br>
<b>Cc:</b> xymon@xymon.com<br>
<b>Subject:</b> RE: [Xymon] Windows PS client svcs data missing<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-AU" style="color:#1F497D">Ray,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-AU" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-AU" style="color:#1F497D">Thanks for the code. I’m a bit wary of using something with such a version specific path though – is that seriously a “standard” interface to a .Net DLL that can be expected to have some degree of
 persistence?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-AU" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-AU" style="color:#1F497D">I’m offsite this week, will try to take a look next week.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-AU" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-AU" style="color:#1F497D">Thanks, David.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-AU" style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> Scot Kreienkamp [mailto:SKreien@la-z-boy.com]
<br>
<b>Sent:</b> Saturday, 14 May 2011 5:54 AM<br>
<b>To:</b> Storer, Raymond; David Baldwin<br>
<b>Cc:</b> xymon@xymon.com<br>
<b>Subject:</b> RE: [Xymon] Windows PS client svcs data missing<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-AU"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Thank you Raymond… If I knew how to implement it I would.  Hopefully David or Henrik can find the time to experiment with it. 
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I'm seeing all kinds of problems with the PS client…. If this keeps up I'll have to remove it.  It pegged one of my servers at 100% for over an hour, stuck on the WMI yesterday. 
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:#1F497D">Scot Kreienkamp<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:#1F497D">Senior Systems Engineer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Arial","sans-serif";color:#1F497D"><a href="mailto:skreien@la-z-boy.com">skreien@la-z-boy.com</a><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> Storer, Raymond [mailto:storerr@nibco.com]
<br>
<b>Sent:</b> Friday, May 13, 2011 12:58 PM<br>
<b>To:</b> David Baldwin; Scot Kreienkamp<br>
<b>Cc:</b> xymon@xymon.com<br>
<b>Subject:</b> RE: [Xymon] Windows PS client svcs data missing<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Opps… I missed the “.” in the [Reflection.Assembly]. Also, you can pipe it to out-null to avoid any unwanted output. So:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">[Reflection.Assembly]::LoadFile(‘C:\WINDOWS\Microsoft.Net\Framework\v2.0.50727\System.ServiceProcess.dll’) | out-null<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Ray<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> xymon-bounces@xymon.com [mailto:xymon-bounces@xymon.com]
<b>On Behalf Of </b>Storer, Raymond<br>
<b>Sent:</b> Friday, May 13, 2011 11:40 AM<br>
<b>To:</b> David Baldwin; Scot Kreienkamp<br>
<b>Cc:</b> xymon@xymon.com<br>
<b>Subject:</b> Re: [Xymon] Windows PS client svcs data missing<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Scot and David, if you’d prefer to implement a .net pure call for services you can try the following:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"># your path to the file may very<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">[ReflectionAssembly]::LoadFile(‘C:\WINDOWS\Microsoft.Net\Framework\v2.0.50727\System.ServiceProcess.dll’)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">#get all the services installed on the local machine<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">$serviceController = [System.ServiceProcess.ServiceController]::GetServices()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">foreach ($svc in $serviceController) {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                # should indicate: Stopped, Running, or Paused … others???<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                write-host $svc.Status<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                # the service name<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                write-host $svc.Name<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                # the service display name<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">                write-host $svc.DisplayName<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Ray<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">[snip]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt;font-family:"Arial","sans-serif";color:gray"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman","serif";color:windowtext"><o:p> </o:p></span></p>
<div class="MsoNormal" align="center" style="text-align:center"><span style="font-size:12.0pt;font-family:"Times New Roman","serif";color:windowtext">
<hr size="2" width="100%" align="center">
</span></div>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial","sans-serif";color:gray">CONFIDENTIALITY NOTICE: This email and any attachments are for the<br>
exclusive and confidential use of the intended recipient. If you are not<br>
the intended recipient, please do not read, distribute or take action in<br>
reliance upon this message. If you have received this in error, please<br>
notify us immediately by return email and promptly delete this message<br>
and its attachments from your computer system. We do not waive<br>
attorney-client or work product privilege by the transmission of this<br>
message.</span><span style="font-size:12.0pt;font-family:"Times New Roman","serif";color:windowtext"><o:p></o:p></span></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:8.0pt;font-family:"Arial","sans-serif";color:gray">This message is intended only for the individual or entity to which it is addressed.  It may contain privileged, confidential information which is exempt from disclosure
 under applicable laws.  If you are not the intended recipient, please note that you are strictly prohibited from disseminating or distributing this information (other than to the intended recipient) or copying this information.  If you have received this communication
 in error, please notify us immediately by e-mail or by telephone at the above number. Thank you.
<o:p></o:p></span></p>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1">CONFIDENTIALITY NOTICE: This email and any attachments are for the<br>
exclusive and confidential use of the intended recipient. If you are not<br>
the intended recipient, please do not read, distribute or take action in<br>
reliance upon this message. If you have received this in error, please<br>
notify us immediately by return email and promptly delete this message<br>
and its attachments from your computer system. We do not waive<br>
attorney-client or work product privilege by the transmission of this<br>
message.<br>
</font>
</body>
</html>