﻿<?xml version="1.0" encoding="utf-8"?>
<ScriptExport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.kaseya.com/vsa/2008/12/Scripting">
  <Procedure name="MDwhyIsMonitoringNotWorking" treePres="3" id="1335991172" folderId="402879041946902" treeFullPath="Kaseya PS">
    <Body description="">
      <Statement description="Created by Michael Dixon Version 2" name="GetVariable" continueOnFail="false">
        <Parameter xsi:type="EnumParameter" name="VariableType" value="Prompt" />
        <Parameter xsi:type="StringParameter" name="SourceContent" value="MonitorsetId NUMBER to TEST. This can be found on the &quot;Assign Monitoring&quot; tab" />
        <Parameter xsi:type="StringParameter" name="VariableName" value="MonsetId" />
      </Statement>
      <Statement name="GetVariable" continueOnFail="false">
        <Parameter xsi:type="EnumParameter" name="VariableType" value="AgentTempDirectory" />
        <Parameter xsi:type="StringParameter" name="SourceContent" value="" />
        <Parameter xsi:type="StringParameter" name="VariableName" value="Workingdir" />
      </Statement>
      <Statement name="GetVariable" continueOnFail="false">
        <Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
        <Parameter xsi:type="StringParameter" name="SourceContent" value="#vMachine.agentGuid#" />
        <Parameter xsi:type="StringParameter" name="VariableName" value="AgentGuid" />
      </Statement>
      <Statement name="GetVariable" continueOnFail="false">
        <Parameter xsi:type="EnumParameter" name="VariableType" value="AgentInstallDirectory" />
        <Parameter xsi:type="StringParameter" name="SourceContent" value="" />
        <Parameter xsi:type="StringParameter" name="VariableName" value="AgentInstalldir" />
      </Statement>
      <Statement name="WriteFile" continueOnFail="false">
        <Parameter xsi:type="StringParameter" name="Path" value="#Workingdir#\MDwhyIsMonitoringNotWorking.exe" />
        <Parameter xsi:type="StringParameter" name="ManagedFile" value="VSASharedFiles\MDwhyIsMonitoringNotWorking\MDwhyIsMonitoringNotWorking.exe" />
        <Parameter xsi:type="BooleanParameter" name="DeleteAfter" value="False" />
      </Statement>
      <Statement name="ExecuteFile" continueOnFail="false">
        <Parameter xsi:type="StringParameter" name="Path" value="#Workingdir#\MDwhyIsMonitoringNotWorking.exe" />
        <Parameter xsi:type="StringParameter" name="Arguments" value="#AgentGuid# &quot;#Workingdir#&quot; #MonsetId# #vMachine.machName#  #vMachine.groupName# &quot;#AgentInstalldir#&quot;" />
        <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="System" />
        <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
      </Statement>
      <If description="">
        <Condition name="TestFile">
          <Parameter xsi:type="StringParameter" name="Path" value="#Workingdir#\MDwhyIsMonitoringNotWorking.txt" />
          <Parameter xsi:type="EnumParameter" name="Condition" value="Exists" />
          <Parameter xsi:type="StringParameter" name="Value" value="" />
        </Condition>
        <Then>
          <Statement name="Execute Powershell" continueOnFail="false">
            <Parameter xsi:type="StringParameter" name="Parameter1" value="" />
            <Parameter xsi:type="StringParameter" name="Parameter2" value="Get-Content #Workingdir#\MDwhyIsMonitoringNotWorking.txt | Where-Object { $_.Contains(&quot;\Error:&quot;\) } | Out-File #Workingdir#\monitorerror.txt" />
            <Parameter xsi:type="StringParameter" name="Parameter3" value="False" />
          </Statement>
          <If description="">
            <Condition name="TestFile">
              <Parameter xsi:type="StringParameter" name="Path" value="#Workingdir#\monitorerror.txt" />
              <Parameter xsi:type="EnumParameter" name="Condition" value="Exists" />
              <Parameter xsi:type="StringParameter" name="Value" value="" />
            </Condition>
            <Then>
              <Statement name="GetVariable" continueOnFail="false">
                <Parameter xsi:type="EnumParameter" name="VariableType" value="FileContent" />
                <Parameter xsi:type="StringParameter" name="SourceContent" value="#Workingdir#\monitorerror.txt" />
                <Parameter xsi:type="StringParameter" name="VariableName" value="Error" />
              </Statement>
              <If description="">
                <Condition name="CheckVariable">
                  <Parameter xsi:type="StringParameter" name="VariableName" value="#Error#" />
                  <Parameter xsi:type="EnumParameter" name="Condition" value="DoesNotContain" />
                  <Parameter xsi:type="StringParameter" name="Value" value="Error:" />
                </Condition>
                <Then>
                  <Statement name="UpdateSystemInfo" continueOnFail="false">
                    <Parameter xsi:type="StringParameter" name="ColumnName" value="WhyIsMonitoringNotWorking" />
                    <Parameter xsi:type="StringParameter" name="Value" value="No Problems" />
                  </Statement>
                  <Statement name="WriteScriptLogEntry" continueOnFail="false">
                    <Parameter xsi:type="StringParameter" name="Comment" value="No Monitoring Errors Found" />
                  </Statement>
                </Then>
                <Else>
                  <Statement name="UpdateSystemInfo" continueOnFail="false">
                    <Parameter xsi:type="StringParameter" name="ColumnName" value="WhyIsMonitoringNotWorking" />
                    <Parameter xsi:type="StringParameter" name="Value" value="#Error#" />
                  </Statement>
                  <Statement name="WriteScriptLogEntry" continueOnFail="false">
                    <Parameter xsi:type="StringParameter" name="Comment" value="#Error#" />
                  </Statement>
                </Else>
              </If>
            </Then>
          </If>
        </Then>
        <Else>
          <Statement name="UpdateSystemInfo" continueOnFail="false">
            <Parameter xsi:type="StringParameter" name="ColumnName" value="WhyIsMonitoringNotWorking" />
            <Parameter xsi:type="StringParameter" name="Value" value=".NET is likely not installed." />
          </Statement>
          <Statement name="WriteScriptLogEntry" continueOnFail="false">
            <Parameter xsi:type="StringParameter" name="Comment" value=".NET is likely not installed." />
          </Statement>
        </Else>
      </If>
      <Statement name="DeleteFile" continueOnFail="false">
        <Parameter xsi:type="StringParameter" name="Path" value="#Workingdir#\MDwhyIsMonitoringNotWorking.exe" />
      </Statement>
    </Body>
  </Procedure>
</ScriptExport>