Quantcast
Channel: Forums - Recent Threads
Viewing all articles
Browse latest Browse all 30534

Re: Reliable FTP Checking Ability?

$
0
0

Give this a try if all you want to do is a scripted ftp connection test. It will create a log file called FTPCheck.log in the Agent's Working directory that you can log parse or do a scripted check on for failures.

Just make sure not to use credentials with too much control as this procedure puts the username and password into a text file that somebody could open up and read. It does delete this FTP script file once it is done.


<?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="FTP Test" treePres="3" id="766355600" folderId="51162471274112775229742171">
    <Body description="Description: FTP Test Script example&#xA;Type: Example Procedure&#xA;Created by: HardKnoX (18/12/2012)&#xA;">
      <Statement description="Create a named procedure variable and assign a value retrieved from the managed machine by the agent." name="GetVariable" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
        <Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
        <Parameter xsi:type="StringParameter" name="SourceContent" value="[insert your ftp server address here example(ftp.acme.com)]" />
        <Parameter xsi:type="StringParameter" name="VariableName" value="FTPServer" />
      </Statement>
      <Statement description="Create a named procedure variable and assign a value retrieved from the managed machine by the agent." name="GetVariable" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
        <Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
        <Parameter xsi:type="StringParameter" name="SourceContent" value="[insert your username here]" />
        <Parameter xsi:type="StringParameter" name="VariableName" value="USERNAME" />
      </Statement>
      <Statement description="Create a named procedure variable and assign a value retrieved from the managed machine by the agent." name="GetVariable" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
        <Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
        <Parameter xsi:type="StringParameter" name="SourceContent" value="[insert your password here]" />
        <Parameter xsi:type="StringParameter" name="VariableName" value="PASSWORD" />
      </Statement>
      <Statement description="Create a named procedure variable and assign a value retrieved from the managed machine by the agent." name="GetVariable" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
        <Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
        <Parameter xsi:type="StringParameter" name="SourceContent" value="FTPCheck.log" />
        <Parameter xsi:type="StringParameter" name="VariableName" value="LOG" />
      </Statement>
      <If description="">
        <Condition name="TestFile">
          <Parameter xsi:type="StringParameter" name="Path" value="#vAgentConfiguration.AgentTempDir#\FTPTest.ftp" />
          <Parameter xsi:type="EnumParameter" name="Condition" value="Exists" />
          <Parameter xsi:type="StringParameter" name="Value" value="" />
        </Condition>
        <Then>
          <Statement description="Delete the specified file - full path to the filename required." name="DeleteFile" continueOnFail="false">
            <Parameter xsi:type="StringParameter" name="Path" value="#vAgentConfiguration.AgentTempDir#\FTPTest.ftp" />
          </Statement>
        </Then>
      </If>
      <If description="">
        <Condition name="True" />
        <Then>
          <Statement description="Use the user logon credentials set for the machine ID to execute a file or shell command - Windows 2000 and above only." name="UseCredential" continueOnFail="false" />
          <Statement description="Create a named procedure variable and assign a value retrieved from the managed machine by the agent." name="GetVariable" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
            <Parameter xsi:type="StringParameter" name="SourceContent" value="#vAgentConfiguration.AgentTempDir#\LastCheck.Log" />
            <Parameter xsi:type="StringParameter" name="VariableName" value="TestFile" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO %DATE:~-4%/%DATE:~-7,-5%/%DATE:~-10,-8%&gt;&gt;&quot;#TestFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO %time:~0,2%:%time:~3,2%:%time:~6,2%&gt;&gt;&gt;&gt;&quot;#TestFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO ::FTP -s:#DataFile# #FTPServer#&gt;&gt;&quot;#TestFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Create a named procedure variable and assign a value retrieved from the managed machine by the agent." name="GetVariable" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="EnumParameter" name="VariableType" value="ConstantValue" />
            <Parameter xsi:type="StringParameter" name="SourceContent" value="#vAgentConfiguration.AgentTempDir#\FTPTest.ftp" />
            <Parameter xsi:type="StringParameter" name="VariableName" value="DataFile" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO. &gt;&gt;&gt;&gt;&quot;#DataFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO user #USERNAME#&gt;&gt;&gt;&gt;&quot;#DataFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO #PASSWORD#&gt;&gt;&gt;&gt;&quot;#DataFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO. &gt;&gt;&gt;&gt;&quot;#DataFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO prompt&gt;&gt;&gt;&gt;&quot;#DataFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO cd public&gt;&gt;&gt;&gt;&quot;#DataFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO ascii&gt;&gt;&gt;&gt;&quot;#DataFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO mput #TestFile# /y&gt;&gt;&gt;&gt;&quot;#DataFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
          <Statement description="Execute the specified file - full path to file required." name="ExecuteFile" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
            <Parameter xsi:type="StringParameter" name="Path" value="%COMSPEC%" />
            <Parameter xsi:type="StringParameter" name="Arguments" value="/C ECHO quit&gt;&gt;&gt;&gt;&quot;#DataFile#&quot;" />
            <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
            <Parameter xsi:type="BooleanParameter" name="WaitComplete" value="True" />
          </Statement>
        </Then>
      </If>
      <If description="">
        <Condition name="TestFile">
          <Parameter xsi:type="StringParameter" name="Path" value="#vAgentConfiguration.AgentTempDir#\FTPTest.ftp" />
          <Parameter xsi:type="EnumParameter" name="Condition" value="Exists" />
          <Parameter xsi:type="StringParameter" name="Value" value="" />
        </Condition>
        <Then>
          <If description="">
            <Condition name="Windows 32 or 64 Bit Check">
              <Parameter xsi:type="EnumParameter" name="Condition" value="NotExists" />
              <Parameter xsi:type="StringParameter" name="Value" value="" />
            </Condition>
            <Then>
              <Statement description="Execute the given command as if it were typed in at a command prompt." name="ExecuteShellCommand" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
                <Parameter xsi:type="StringParameter" name="Command" value="CD #vAgentConfiguration.AgentTempDir# &amp;&amp; FTP -s:FTPTest.ftp #FTPServer# &gt;&gt;#vAgentConfiguration.AgentTempDir#\#LOG#" />
                <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
                <Parameter xsi:type="BooleanParameter" name="Is64Bit" value="False" />
              </Statement>
            </Then>
          </If>
          <If description="">
            <Condition name="Windows 32 or 64 Bit Check">
              <Parameter xsi:type="EnumParameter" name="Condition" value="Exists" />
              <Parameter xsi:type="StringParameter" name="Value" value="" />
            </Condition>
            <Then>
              <Statement description="Execute the given command as if it were typed in at a command prompt." name="ExecuteShellCommand" continueOnFail="false" osType="NT4|2000|XP|2003|Vista|2008">
                <Parameter xsi:type="StringParameter" name="Command" value="CD #vAgentConfiguration.AgentTempDir# &amp;&amp; FTP -s:FTPTest.ftp #FTPServer# &gt;&gt;#vAgentConfiguration.AgentTempDir#\#LOG#" />
                <Parameter xsi:type="EnumParameter" name="ExecuteAccount" value="User" />
                <Parameter xsi:type="BooleanParameter" name="Is64Bit" value="True" />
              </Statement>
            </Then>
          </If>
          <Statement description="Pause this procedure for N seconds to give a previous action time to complete." name="PauseScript" continueOnFail="false">
            <Parameter xsi:type="IntegerParameter" name="Seconds" value="20" />
          </Statement>
          <Statement description="Delete the specified file - full path to the filename required." name="DeleteFile" continueOnFail="false">
            <Parameter xsi:type="StringParameter" name="Path" value="#vAgentConfiguration.AgentTempDir#\FTPTest.ftp" />
          </Statement>
        </Then>
        <Else>
          <Statement description="Write an Entry into the Procedure Log" name="WriteScriptLogEntry" continueOnFail="false">
            <Parameter xsi:type="StringParameter" name="Comment" value="ERROR LOG: Failed to generate FTP script file, Agent Procedure Failed!" />
          </Statement>
          <Statement description="Create a named procedure variable and assign a value retrieved from the managed machine by the agent." name="GetVariable" continueOnFail="false">
            <Parameter xsi:type="EnumParameter" name="VariableType" value="FileContent" />
            <Parameter xsi:type="StringParameter" name="SourceContent" value="ERROR" />
            <Parameter xsi:type="StringParameter" name="VariableName" value="ERROR" />
          </Statement>
        </Else>
      </If>
    </Body>
  </Procedure>
</ScriptExport>

Viewing all articles
Browse latest Browse all 30534

Trending Articles