Welcome to TechNet Blogs Sign in | Join | Help

Can Xplat monitor Linux Monitoring Device?

Source: Cnet News.com

Plat'Home, a Linux company from Japan that specializes in combining eco-friendly, small, tough hardware with their own version of Linux, is announcing another in their series of MicroServers. Kanshi BlockS Pro, made to monitor servers and various network applications, is now available in North America.”

Picture by Plat'Home Kanshi Blocks Pro

Features

Monitoring and Alerts
  • Server alive monitoring by ping
  • Port monitoring
  • Network device monitoring by SNMPv3
  • Network traffic, server monitoring (CPU load, physical memory, virtual memory, and hard disk load and usage) with MRTG (open software)
  • Protocol message monitoring for SMTP, POP and IMAP
  • Monitor up to 255 servers, regardless of the manufacturer
  • Two Ethernet connectors to provide surveillance over different networks, such as a dedicated line and the Internet
  • Receive scheduled status messages and emergency alerts
  • Customize notifications according to recipient (administrator, users)
  • SMTP authentication

Would it be possible to use Cross Platform Extentions to monitor this Linux monitoring box? An Linux agent for their SSD/Linux distribution should be created first ;-)

SSD/Linux is the Linux distribution developed by Plat'Home, for use with the MicroServer series. The distribution is optimized to fit on a small internal ROM, while offering all necessary functions for networking and peripheral devices.

The name of the distribution is derived from its place of development, Sotokanda in Tokyo, in imitation of BSD. It is published under a BSD-style open license.

Posted by stefstr | 1 Comments
Filed under: ,

Email Alert Notification based on Alert Descriptions

Have you ever wanted to create email notifications for Alerts based on Alert Descriptions? This cannot be done using the E-mail Notification Channel and Subscriptions settings.

This can be done however with the use of the Notification Command Channel with uses a vbscript that sends an email based on the information in the Alert Description. All the logic and sending of the emails is done by a script.

This is probably my last blog post for some weeks because I'm going to enjoy a long holiday ;-)

Here are the steps:

  1. Create a vbscript and save this script in a folder on the RMS.
    (example of script is at end of article and attached)
  2. Create new Command Notification Channel
    image 

    Full path to file:
    c:\windows\system32\cmd.exe
  3. Command line parameters:
    /c d:\scripts\notificationalertdescriptionv0.1.vbs /desc:"$Data/Context/DataItem/AlertDescription$" /alert:"$Data/Context/DataItem/AlertName$"  /source:"$Data/Context/DataItem/ManagedEntityDisplayName$" /sev:"$Data/Context/DataItem/Severity$" /prio:"$Data/Context/DataItem/Priority$" /state:"$Data/Context/DataItem/ResolutionStateName$"

    Remark: Don’t forget the " " for the OpsMgr parameters.
    desc is used in the vbscript as an argument
    image

  4. Create Notification Subscription
    image
    image
  5. Create Notification Device
    image
    image
  6. Add Notification Device to Recipient
    image
  7. Done!

And now the vbscript that makes this all possible:

'Example script to use in the OpsMgr Command Notification Channel to
'send Email Notifications based on Alert Description to Solution groups.
'Some info for this script is taken from Script: Notification Logfile weblog article by Anders Bengtsson
'http://contoso.se/blog/?p=265

Option Explicit 
Dim colNamedArguments
 
Dim AlertDescription

Dim AlertSource
Dim AlertName
Dim AlertSev
Dim AlertPrio
Dim AlertState
Dim objEmail
Dim objShell
Dim strContents
Dim strEventCreate
Dim strEventDescription
Dim strFrom
Dim strSub
Dim strBody
Dim strSMTP
Dim strTo

Set colNamedArguments = Wscript.Arguments.Named
Set objShell = CreateObject("Wscript.Shell")

' ******************************************
'  GET PARAMETERS INTO SCRIPT
' ******************************************

AlertDescription = colNamedArguments("desc")
'Use:  /desc:"$Data/Context/DataItem/AlertDescription$" in Notification Command Channel Command Line parameters
AlertName =  colNamedArguments("alert")

'Use:  /alert:"$Data/Context/DataItem/AlertName$" in Notification Command Channel Command Line parameters
AlertSource =  colNamedArguments("source")

'Use:  /source:"$Data/Context/DataItem/ManagedEntityDisplayName$" in Notification Command Channel Command Line parameters
AlertSev = colNamedArguments("sev")

'Use:  /sev:"$Data/Context/DataItem/Severity$" in Notification Command Channel Command Line parameters
AlertPrio = colNamedArguments("prio")

'Use:  /prio:"$Data/Context/DataItem/Priority$" in Notification Command Channel Command Line parameters
AlertState = colNamedArguments("state")

'Use:  /state:"$Data/Context/DataItem/ResolutionStateName$" in Notification Command Channel Command Line parameters

'Complete Notification Command Channel Command Line parameter:
' /c d:\scripts\notificationalertdescriptionv0.1.vbs /desc:"$Data/Context/DataItem/AlertDescription$" /alert:"$Data/Context/DataItem/AlertName$"  /source:"$Data/Context/DataItem/ManagedEntityDisplayName$" /sev:"$Data/Context/DataItem/Severity$" /prio:"$Data/Context/DataItem/Priority$" /state:"$Data/Context/DataItem/ResolutionStateName$"

'Alert Description from OpsMgr Alert
strContents = AlertDescription


' ******************************************
'  TRANSLATE SEVERITY AND PRIORITY
' ******************************************

if AlertSev = "1" Then
   
AlertSev = "Critical"
elseif AlertSev = "2" then

   
AlertSev = "Warning"
elseif AlertSev = "3" then

   
AlertSev = "Information"
End If


if AlertPrio = "1" Then
   
AlertPrio = "High"
elseif AlertPrio = "2" then

   
AlertPrio = "Medium"
elseif AlertPrio = "3" then

   
AlertPrio = "Low"
End If


' ******************************************
'  SCRIPT LOGIC
' ******************************************
' Configure on "serverx" the string which determines to which email address an email notification should be sent.

'Change the search string
If InStr(strContents, "serverx") Then

   
'Configure email address Solution Group X
    strTo =
"solutiongroupx@contoso.local"
   
'Send email
    Call SendEMail(strTo)

End If

'Change the search string
If InStr(strContents, "servery") Then

    
'Configure email address Solution Group Y
    strTo =
"solutiongroupy@contoso.local"
   
'Send email
    Call SendEMail(strTo)

End If    

' ******************************************
'  MAIL CONFIGURATION
' ******************************************

strFrom = "opsmgrnotification@contoso.local"
strSub = "Notification from Operations Manager 2007. Severity: " & AlertSev & ". Priority: " & AlertPrio & ". State: " & AlertState

strBody = "Notification from Operations Manager" & VBCRLF & VBCRLF & "Alert Name: " & AlertName & VBCRLF & "Alert Source: " & AlertSource & VBCRLF & "Alert Description: " & AlertDescription
strSMTP = "mail.contoso.local"

' ******************************************
'  SEND MESSAGE
' ******************************************
Public Function SendEmail(strTo)

   
set objEmail = CreateObject("CDO.Message")
   
objEmail.From = strFrom
   
objEmail.To = strTo
   
objEmail.Subject = strSub
   
objEmail.Textbody = strBody
   
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
   
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTP
   
objEmail.Configuration.Fields.Update
   
objEmail.Send
End Function

OpsMgr Scripting explained

Source: SCOMNIVORE at myITforum.com

Vin DiPippo  has written a great article about about some important concepts regarding how scripts are processed by OpsMgr.

“Returning to the main topic, anyone that is a script developer has a particular paradigm in mind.  The script is written and runs as written.  If you've ever seen constructions that use the $...$ selectors inline (e.g. SomeVar = "$MPElement...$"), you might have assumed that there was something special about the script execution environment that somehow resolves those.  The reality is that those resolutions are done before the script is ever executed.  Therefore, we have a very tricky paradigm on our hands: the execution environment is completely standard, but the script body itself is "refined" by OpsMgr before it is embodied in an actual file and run. “

All together a great article that I’ve put in in my OneNote OpsMgr KB articles Notebook. As you should do too!

Posted by stefstr | 0 Comments
Filed under: ,

Thinking about buying a EEE PC

I know this is not a topic you normally find on this weblog, but I’m thinking about buying a new EEE PC for some days now. Even had  some discussion on Twitter about the EEE PC and the MSI Wind. Still haven’t made up my mind, but today I stumbled on this funny cartoon from XKDC about a New Pet.

Do you think I need a new pet? We already got some gold fishes and I always have to clean the aquarium. Maybe not such a good idea after all.

Posted by stefstr | 0 Comments
Filed under:

TechNet Magazine: Windows PowerShell in System Center Operations Manager

Marco Shaw, has published an article about how Windows PowerShell can be used with System Center Operations Manager 2007 on the August Technet Magazine.

Go read this great article about PowerShell and OpsMgr 2007.

He even mentions my PowerShell Event Creator script  in his article :-)

I know Marco form my first experiences with PowerShell and PowerGadgets.

Marco Shaw is an IT System Analyst for a Canadian telecommunications company. He has been working in the IT industry for more than 10 years, and he recently received a Windows PowerShell MVP award. Marco is also the Assistant Community Director of the new PowerShell Community Web site at powershellcommunity.org. He blogs at marcoshaw.blogspot.com.

Posted by stefstr | 0 Comments
Filed under: ,

New Management Packs for OpsMgr 2007

In the last couple of days new or updated Management Packs for OpsMgr 2007 are released.

Posted by stefstr | 0 Comments

PowerShell CMDLets for WebSphere MQ - administer queues on Windows or Linux

Source: All About Interop

Dino Chiesa is writing about PowerShell CMDLets for WebSphere.

“It seems IBM have been busy doing CmdLets for MQ, and somehow this escaped my attention. Starting back in December 2007, Dale Lane at IBM published a series of posts about the topic of PowerShell CmdLets for MQ.  There is also now an official SupportPac for this stuff, it goes by the catchy name of mo74. (direct FTP link here).    In IBM-speak, a SupportPac is an add-on to the IBM product (in this case WMQ).  Very good to see!  Keep in mind that there are different categories of SupportPac  and just because it says "support" in the name does not mean it is a "supported" part of the IBM product in the sense that you can call up their support engineers and ask for bugfix on it.  mo74 is listed as Category 2, which means it is AS-IS software.  SupportPacs can transition from "AS-IS" to a supported part of the product; this happens when customers demand it.  Last updated April 16th, mo74 is currently at version 1.6.”

Maybe handy for people looking for way to monitor WebSphere MQ with OpsMgr 2007.

Another source for using PowerShell with remote queue managers can be found here.

Posted by stefstr | 0 Comments

Overrides in separate management packs

I saw this question in one of our internal maillists and I sometimes also get the question why you aren’t able to select another MP than the one where the custom monitor has been saved.

clip_image001

Why is this and is there a way to place them in a separate MP?

Answer:

This is happening because the monitors are defined in an unsealed MP. When you create an override for a monitor and store it into a separate MP, under the covers there is a reference created from the override MP to the MP which defined the monitor. There can only be references created to sealed MPs. In order to create overrides in a separate MP, you need to first seal the MP which contains the monitor.

Posted by stefstr | 0 Comments

Goaaaal! MPViewer with export to Excel

Source: Boris Yanusholsky

Update:  I found that the that the MPViewer export to HTML functionality didn’t work with the latest version of the E12 MP (Silect MPStudio Lite also has an issue with this MP when you want to document this MP). This was caused by a bug in MPViewer and Boris corrected it ;-) He also added some more minor features such as frequency for performance monitors as well breaking out the monitors by type (unit, dependency, aggregate).

Download new version on blogpost.

We (the Dutch) are still in the Euro Soccer Championship as you can see in the subject ;-) But this is what I always wanted to see in the MPviewer and now Boris added exporting to Excel!

image

Read for more info on source.

Posted by stefstr | 1 Comments
Filed under: ,

OpsMgr Lineage Explorer

Source: SCOMNIVORE

Thanks to Rod Trent I found this tool called OpsMgr Lineage Explorer from Vin DiPippo.

image

This tool allows you to explore the lineage of OpsMgr MP elements. This tool loads your OpsMgr environment from the database and then allows you to inspect the class types, relationship types, and module types installed.  It allows you to expand them to see their lineage (either their parentage for class types and relationship types or in the case of module types, their composition tree down to the underlying native or managed modules).

Download and read more on source.

Posted by stefstr | 1 Comments
Filed under: ,

Updated OpsMgr Toolbox

Today I updated the OpsMgr Toolbox with the latest version of the Module Explorer v2 from Boris Yanushpolsky. He added another view which instead groups modules by the MP in which the module is defined. This should help in some scenarios where you just want to find a particular module and see its settings and configuration.

image

I wished I was a programmer too ;-) Maybe soon more on this “I’m not a programmer” topic. Because I’ve been busy with trying to create a new OpsMgr Connector for my own learning experiences. Did you know you can even find a small program I’ve written in Delphi on Sourceforge for a opensource monitoring tool?

Posted by stefstr | 0 Comments
Filed under: ,

Infrastructure Planning and Design Guides - Now in Beta!

System Center Virtual Machine Manager 2008; System Center Operations Manager 2007; Microsoft Internet Information Services 7.0

We are pleased to announce that the Infrastructure Planning and Design (IPD) Beta has been updated! We have added the System Center Virtual Machine Manager 2008, System Center Operations Manager 2007, and Microsoft Internet Information Services 7.0 guides to our beta. Beta members can download the content now.

If you aren't currently an IPD beta member, follow the instructions below or visit the Infrastructure Planning and Design Website.
Infrastructure Planning and Design streamlines the planning process by:

  • Defining the technical decision flow through the planning process.
  • Listing the decisions to be made and the commonly available options and considerations.
  • Relating the decisions and options to the business in terms of cost, complexity, and other characteristics.
  • Framing decisions in terms of additional questions to the business to ensure a comprehensive alignment with the appropriate business landscape.

Join the Beta

Additional Infrastructure Planning and Design series guides are available as beta releases on the Connect Web site. They are open beta downloads. See below for instructions on how to access the beta guides.
To join the Infrastructure Planning and Design Beta, follow these steps:

  1. Visit the Infrastructure Planning and Design Beta on the Microsoft Connect Web site.
  2. Sign in using a valid Windows Live ID to continue to the Invitations page.
  3. Scroll down to Infrastructure Planning and Design.
If you have not previously registered with Microsoft Connect, you might be required to register before continuing with the invitation process.
If the link in step 1 does not work for you, copy the link and paste it into the Web browser address bar.
Posted by stefstr | 0 Comments
Filed under: ,

OpsMgr 2007 Event 21402

A colleague of mine Dirk van Coeverden has written an excellent article about troubleshooting OpsMgr 2007 Event 21402. With this article you can see how you can use the Workflow name from the Event details to trace which rule/discovery/monitor is causing the error.

Introduction

This article describes how to troubleshoot OpsMgr 2007 Event 21402, which indicates a script error or warning. However the article is intended to be an example for other events, since a lot of details are also in other events (like Workflow name).

        Event Type: Warning
        Event Source: Health Service Modules
        Event ID: 21402
        Description:
                Forced to terminate the following process started 
                at 12:08:50 PM because it ran past the configured 
                timeout 120 seconds.
 

With this article you will find

  • The discovery, monitor or rule which causes the event
  • Retrieve the script content in a SQL table (limited by SQL2005 Studio)
  • How it looks in XML and understand the workflow

The query to find the discovery, monitor or rule should work for every event where the workflow name is listed. The script content is more specific to 21402 but might give an impression on how to retrieve content from an XML columns (of NVARCHAR type).

The queries aren't tested for performance, so the best course is to import the MP of the customer in your test environment and run them on your own machine.

 

21402 details

An example of 21402 is

        Event Type: Warning
        Event Source: Health Service Modules
        Event Category: None
        Event ID: 21402
        Date: 7-4-2008
        Time: 4:05:34
        User: N/A
        Computer: server01
        Description:
        Forced to terminate the following process started at 
        04:05:04 because it ran past the configured timeout 30 
        seconds.


        Command executed: "C:\WINDOWS\system32
        \cscript.exe" /nologo "C:\Program Files\System Center 
        Operations Manager 2007\Health Service State\Monitoring Host 
        Temporary Files 297\177
        \CheckVirtualMachineNameMatchComputerName.vbs"


        Working Directory: C:\Program Files\System Center Operations 
        Manager 2007\Health Service State\Monitoring Host Temporary 
        Files 297\177\ 


        One or more workflows were affected by this.  


        Workflow name: Microsoft.Virtualization.VirtualServer.2005R2.VirtualMachineName_does_not_match_computer_name.rule 
        Instance name: servern01.contoso.com 
        Instance ID: {3B3FA6E2-BB6B-CD49-274A-8722250C3D0C} 
        Management group: OpsMgrdemo


        For more information, see Help and Support Center at 
        http://go.microsoft.com/fwlink/events.asp.

Important Event Elements

Command Executed:

"C:\WINDOWS\system32cscript.exe" /nologo "C:\Program Files\System Center Operations Manager 2007\Health Service State\Monitoring Host Temporary Files 297\177\CheckVirtualMachineNameMatchComputerName.vbs"

Working Directory:

C:\Program Files\System Center Operations Manager 2007\Health Service State\Monitoring Host Temporary Files 297\177\

Script:

CheckVirtualMachineNameMatchComputerName.vbs

Workflow:

Microsoft.Virtualization.VirtualServer.2005R2.VirtualMachineName_does_not_match_computer_name.rule

Which discovery monitor or rule?

To find out which discovery monitor or rule the script belongs to run the following SQL script (based on the example event above) on the OperationsManager database.

 DECLARE @ObjectName NVARCHAR(256)


 SET @ObjectName = 'Microsoft.Virtualization.VirtualServer.2005R2.VirtualMachineName_does_not_match_computer_name.rule'


 IF EXISTS (SELECT 1 FROM DiscoveryView WITH (NOLOCK) WHERE Name = @ObjectName) 
        SELECT 
                'Discovery' As 'Object Type',
                d.DisplayName AS 'Displayname in Console',
                d.Name AS 'Internal Monitor Name',
                d.Id AS 'MonitorId',
                p.Displayname AS 'ManagementPack',
                p.Version AS 'ManagementPack Version',
                p.Name AS 'Management Pack Library Name'
        FROM DiscoveryView d WITH (NOLOCK)
        INNER JOIN ManagementPackView p WITH (NOLOCK) ON d.ManagementPackId = p.Id
        WHERE d.Name = @ObjectName
 ELSE IF EXISTS (SELECT 1 FROM MonitorView WITH (NOLOCK) WHERE Name = @ObjectName) 
        SELECT 
                'Monitor' AS 'Object Type',
                m.DisplayName AS 'Displayname in Console',
                m.Name AS 'Internal Monitor Name',
                m.Id AS 'MonitorId',
                p.Displayname AS 'ManagementPack',
                p.Version AS 'ManagementPack Version',
                p.Name AS 'Management Pack Library Name'
        FROM MonitorView m WITH (NOLOCK) 
        INNER JOIN ManagementPackView p WITH (NOLOCK) ON m.ManagementPackId = p.Id
        WHERE m.Name = @ObjectName
 ELSE IF EXISTS (SELECT 1 FROM RuleView WITH (NOLOCK) WHERE Name = @ObjectName) 
        SELECT 
                'Rule' AS 'Object Type',
                r.DisplayName AS 'Displayname in Console',
                r.Name AS 'Internal Rule Name',
                r.Id AS 'RuleId',
                p.Displayname AS 'ManagementPack',
                p.Version AS 'ManagementPack Version',
                p.Name AS 'Management Pack Library Name'
        FROM RuleView r WITH (NOLOCK) 
        INNER JOIN ManagementPackView p WITH (NOLOCK) ON r.ManagementPackId = p.Id
        WHERE r.Name = @ObjectName

This will give the following results

Object Type Displayname_in_Console Internal Rule Name RuleId ManagementPack ManagementPack Version Management Pack Library Name
Rule Virtual Machine: Virtual machine name does not match computer name Microsoft.Virtualization.VirtualServer.2005R2. VirtualMachineName.rule E465679D-BC55-C4D3-FEF0-C108DF37DFD9 Microsoft Virtual Server 2005 R2 1.0.2627.0 Microsoft.Virtualization.VirtualServer.2005R2

In the OpsMgr Console / Authoring you can find the Discovery, Monitor or Rule (depending on Object Type) in Management Pack Objects.

Retrieve the script content

To retrieve the script you can run the following SQL query on the OperationsManager database.

 SELECT 
         ManagementPackId,
         ScriptName,
         ScriptFile
 FROM (        
         SELECT 
                 ManagementPackId,
                 Script.Col.value('(Name/text())[1]', 'NVARCHAR(128)') AS ScriptName,
                 Script.Col.value('(Contents/text())[1]', 'NVARCHAR(MAX)') AS ScriptFile
         FROM (SELECT ManagementPackId, CONVERT(XML, MPXML) AS MPXMLFormat, MPName FROM ManagementPack) p 
         CROSS APPLY p.MPXMLFormat.nodes('//File') Script(Col)
         WHERE p.MPName LIKE '%2005R2%') s
 WHERE s.ScriptName = 'CheckVirtualMachineNameMatchComputerName.vbs'

Take note that SQL 2005 Studio has a limit of (about) 8000 char for its return results. Also since the MPXML field of the ManagementPack table is not of type XML but NVARCHAR, the formatting isn't really fancy. However it might give you a quick impression of what the script is about.

If people find this a useful query, I can work out one which gives a nice formatted output of the script content.

In XML

If you want to see how it is build up and configured in XML than

  • Export MP (Powershell Export-ManagementPack)
  • In .xml search for <Rule ID="Microsoft.Virtualization.VirtualServer.2005R2.VirtualMachineName_does_not_match_computer_name.rule"

This looks like

       <Rule ID="Microsoft.Virtualization.VirtualServer.2005R2.VirtualMachineName_does_not_match_computer_name.rule" Enabled="true" Target="Windows! Microsoft.Windows.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
         <Category>AvailabilityHealth</Category>
         <DataSources>
           <DataSource ID="DS" TypeID="Microsoft.Virtualization.VirtualServer.2005R2.CheckVirtualMachineName">
            <IntervalInSeconds>60</IntervalInSeconds>
             <Expression>
               <And>
                 <Expression>
                   <SimpleExpression>
                     <ValueExpression>
                       <XPathQuery Type="String">Property[@Name='IsVirtualMachine']</XPathQuery>
                     </ValueExpression>
                     <Operator>Equal</Operator>
                     <ValueExpression>
                       <Value Type="String">True</Value>
                     </ValueExpression>
                   </SimpleExpression>
                 </Expression>
         ...

Here you find all the properties of the (in this case) the rule. Actually you can read the workflow of this object here. One part of the workflow is the Databasource ModuleType

 <DataSource ID="DS" TypeID="Microsoft.Virtualization.VirtualServer.2005R2.CheckVirtualMachineName">

This points to the ModulesType part of the XML file

      <ModuleTypes>
       <DataSourceModuleType ID="Microsoft.Virtualization.VirtualServer.2005R2.VirtualServerVirtualMachineDiscovery" Accessibility="Internal" Batching="false">
       <DataSourceModuleType ID="Microsoft.Virtualization.VirtualServer.2005R2.RelVirtualMachineComputerDiscovery" Accessibility="Internal" Batching="false">
       <DataSourceModuleType ID="Microsoft.Virtualization.VirtualServer.2005R2.VirtualMachineComputerDiscovery" Accessibility="Internal" Batching="false">
       <DataSourceModuleType ID="Microsoft.Virtualization.VirtualServer.2005R2.VirtualMachineState" Accessibility="Internal" Batching="false">
       <DataSourceModuleType ID="Microsoft.Virtualization.VirtualServer.2005R2.CheckVirtualMachineName" Accessibility="Internal" Batching="false">
        <Configuration>
          <IncludeSchemaTypes>
            <SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
          </IncludeSchemaTypes>
          <xsd:element name="IntervalInSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Expression" type="ExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalInSeconds" Selector="$Config/IntervalInSeconds$" ParameterType="int" />
        </OverrideableParameters>
       ....

Here you will find the Module itself which is executed

             <MemberModules>
               <DataSource ID="DS" TypeID="System!System.CommandExecuterPropertyBagSource">
                 <IntervalSeconds>$Config/IntervalInSeconds$</IntervalSeconds>
                 <ApplicationName>%windir%\system32\cscript.exe</ApplicationName>
                 <WorkingDirectory />
                 <CommandLine>/nologo $file/CheckVirtualMachineNameMatchComputerName.vbs$</CommandLine>
                 <TimeoutSeconds>30</TimeoutSeconds>
                 <RequireOutput>true</RequireOutput>
                 <Files>
                   <File>
                     <Name>CheckVirtualMachineNameMatchComputerName.vbs</Name>
                     <Contents>        
 ' Copyright (c) Microsoft Corporation. All rights reserved.
 ' VBScript source code
 ' CheckVirtualMachineNameMatchComputerName.vbs
 ' Arg 0 : SourceID
 Option Explicit 


 Const StrVMMManagementGroupInstallationRegKey = "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager 2007 Server\Setup\InstallPath"
 Const StrVirtualServerRegKey = "HKLM\System\CurrentControlSet\Services\Virtual Server\Start"
 Const StrVMMServerInstallationRegKey = "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager 2007 Server\Setup\InstallPath"
 Const StrVMMServerVersionRegKey = "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager 2007 Server\Setup\ProductVersion"
 Const StrVMMSelfServiceServerInstallationRegKey = "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager 2007 Self-Service  Portal\Setup\InstallPath"
 Const StrVMMSSsiteEngineMachineRegKey = "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager 2007 Self-Service  Portal\Settings\VmmServerName"
 Const StrVMMDatabaseServerRegKey = "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager 2007 Server\Settings\Sql\OnRemoteServer"
 Const StrVMMDatabaseNameRegKey = "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager 2007 Server\Settings\Sql\DatabaseName"
 Const StrVMMDatabaseInstanceRegKey = "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager 2007 Server\Settings\Sql\InstanceName"
 Const StrVMMRemoteDatabaseMachineFQDNRegKey = "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager 2007  Server\Settings\Sql\MachineFQDN"
 Const StrVMMConsoleInstallationRegKey = "HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager 2007 Administrator Console\Setup\InstallPath"
 Const StrVMNameRegKey = "HKLM\SOFTWARE\Microsoft\Virtual Machine\Guest\Parameters\VirtualMachineName"


 Const StrWebsitDisplayName = "Microsoft System Center Virtual Machine Manager 2007 Self-Service Portal"
 Const StrSQLServerDefaultInstance = "MSSQLSERVER"
 Const StrEmpty = ""
 Const StrFolderSeparator = "\"
 Const StrLocationHost = "Host"
 Const StrLocationLibrary = "Library"


 '=============
 ' Method:       ReadRegistry
 ' Description:  This function read the regiestry, return true if the registry exit; otherwise return false
 '=============
 Function ReadRegistry(ByVal regString, ByRef regValue)
     Dim bHasRegistry
     Dim oReg
     Set oReg = CreateObject("WScript.Shell")   


     On Error Resume Next    
     regValue = oReg.RegRead(regString)
     If Err.number &lt;> 0 Then
         bHasRegistry = False
     Else
         bHasRegistry = True
     End If
     On Error Goto 0 


     ReadRegistry = bHasRegistry
 End Function 


 Call Main()


 ... 
Posted by stefstr | 1 Comments

Savision ready for Microsoft Teched Orlando

Today I got an email from Douwe and Dennis from Savision with their first impression on TechEd Orlando. There are ready to show their product so if you have some time visit their booth.

SavisionOnOrlando

I really like their Dutch orange jackets ;-) Did you know the Dutch won from Italy yesterday with 3 – 0 in the European Football Championship?

Posted by stefstr | 0 Comments
Filed under: ,
More Posts Next page »
 
Page view tracker