TcXaeMgmt-Help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <!-- Cmdlet: Restart-AdsComputer -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Restart-AdsComputer</command:name>
      <command:verb>Restart</command:verb>
      <command:noun>AdsComputer</command:noun>
      <maml:description>
        <maml:para>Restarts ("reboots") the operating system on local and remote TwinCAT computers.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Restart-AdsComputer cmdlet restarts the operating system on the local and remote TwinCAT computers. You can use the parameters of Restart-AdsComputer to specify available ADS target systems to restart. The restart can be done delayed if Users are logged into the target system (existant Session UI) or forced immediatly. You can wait for the restart to complete before you run the next command and specify a waiting time-out. This feature makes it practical to use Restart-AdsComputer in scripts and functions.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Restart-AdsComputer</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>NetId(s) of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Wait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Wait</maml:name>
          <maml:description>
            <maml:para>Activates a wait until the rebooted system is available again. The parameter -WaitTimeout specifies how long the script waits for the reboot.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The Wait time for the reboot of the target system (default 120 Seconds). This parameter is used in conjunction with the -Wait parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>120</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Restart-AdsComputer</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The ADS routes to shutdown/reboot.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Wait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Wait</maml:name>
          <maml:description>
            <maml:para>Activates a wait until the rebooted system is available again. The parameter -WaitTimeout specifies how long the script waits for the reboot.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The Wait time for the reboot of the target system (default 120 Seconds). This parameter is used in conjunction with the -Wait parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>120</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Restart-AdsComputer</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Wait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Wait</maml:name>
          <maml:description>
            <maml:para>Activates a wait until the rebooted system is available again. The parameter -WaitTimeout specifies how long the script waits for the reboot.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The Wait time for the reboot of the target system (default 120 Seconds). This parameter is used in conjunction with the -Wait parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>120</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Restart-AdsComputer</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session(s) to use for addressing the target systems.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Wait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Wait</maml:name>
          <maml:description>
            <maml:para>Activates a wait until the rebooted system is available again. The parameter -WaitTimeout specifies how long the script waits for the reboot.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The Wait time for the reboot of the target system (default 120 Seconds). This parameter is used in conjunction with the -Wait parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>120</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Restart-AdsComputer</maml:name>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Sessions (with unique ID) to use for addressing the target systems.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Wait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Wait</maml:name>
          <maml:description>
            <maml:para>Activates a wait until the rebooted system is available again. The parameter -WaitTimeout specifies how long the script waits for the reboot.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The Wait time for the reboot of the target system (default 120 Seconds). This parameter is used in conjunction with the -Wait parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>120</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Wait -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Wait</maml:name>
        <maml:description>
          <maml:para>Activates a wait until the rebooted system is available again. The parameter -WaitTimeout specifies how long the script waits for the reboot.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: WaitTimeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WaitTimeout</maml:name>
        <maml:description>
          <maml:para>The Wait time for the reboot of the target system (default 120 Seconds). This parameter is used in conjunction with the -Wait parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>120</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Delay -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Delay</maml:name>
        <maml:description>
          <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>NetId(s) of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The ADS routes to shutdown/reboot.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The ADS routes to shutdown/reboot.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The ADS routes to shutdown/reboot.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. This parameter supports wildcards.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. This parameter supports wildcards.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session(s) to use for addressing the target systems.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Sessions (with unique ID) to use for addressing the target systems.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The ADS routes to shutdown/reboot.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session(s) to use for addressing the target systems.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Restart-AdsComputer CX_1111,CX_2222 -force</dev:code>
        <dev:remarks>
          <maml:para>Restarts the computers CX_1111 and CX_2222 immediatly without warning logged in users on the target system and returns immediatly without waiting the finished reboot. The Force parameter supresses the ShouldProcess query.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Restart-AdsComputer -netId '1.2.3.4.1.1', '1.2.3.5.1.1' -Delay 30 -Wait -WaitTimeout 240 -force</dev:code>
        <dev:remarks>
          <maml:para>Restarts the TwinCAT targets '1.2.3.4.1.1' and 1.2.3.5.1.1' without ShouldProcess query after a delay of 30 Seconds (if a user is logged in) and waits for the reboot before continuing. The Wait timeout is set to 240 Seconds.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Stop-AdsComputer -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Stop-AdsComputer</command:name>
      <command:verb>Stop</command:verb>
      <command:noun>AdsComputer</command:noun>
      <maml:description>
        <maml:para>Stops (shuts down) local and remote TwinCAT computers.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Stop-AdsComputer cmdlet shuts the operating system on the local and remote TwinCAT computers down. You can use the parameters of Stop-AdsComputer to specify available ADS target systems to shutdown. The shutdown can be done delayed if Users are logged into the target system (existant Session UI) or forced immediatly.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Stop-AdsComputer</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>NetId(s) of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Stop-AdsComputer</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The ADS routes to shutdown/reboot.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Stop-AdsComputer</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Stop-AdsComputer</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session(s) to use for addressing the target systems.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Stop-AdsComputer</maml:name>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Sessions (with unique ID) to use for addressing the target systems.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Delay -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Delay</maml:name>
        <maml:description>
          <maml:para>The delay time for the reboot/shutdown of the target system(s) in seconds. The default is 120 Seconds. If no user is logged in the target system the reboot/shotdown occurs always immediatly without warning. In case of a log in, a Warning message with countdown will be presented to the user.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>NetId(s) of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The ADS routes to shutdown/reboot.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The ADS routes to shutdown/reboot.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The ADS routes to shutdown/reboot.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. This parameter supports wildcards.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. This parameter supports wildcards.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session(s) to use for addressing the target systems.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Sessions (with unique ID) to use for addressing the target systems.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The ADS routes to shutdown/reboot.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session(s) to use for addressing the target systems.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Stop-AdsComputer CX_1111,CX_2222 -force</dev:code>
        <dev:remarks>
          <maml:para>Immediate shutdown of the computers CX_1111 and CX_2222. The Force parameter supresses the ShouldProcess query.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Stop-AdsComputer -netId '1.2.3.4.1.1', '1.2.3.5.1.1' -Delay 30 -force</dev:code>
        <dev:remarks>
          <maml:para>Stops the TwinCAT targets '1.2.3.4.1.1' and 1.2.3.5.1.1' without ShouldProcess query after a delay of 30 Seconds (if a user is logged in).</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Copy-AdsFile -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Copy-AdsFile</command:name>
      <command:verb>Copy</command:verb>
      <command:noun>AdsFile</command:noun>
      <maml:description>
        <maml:para>Uploads / Downloads files from/to TwinCAT target.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet implements ADS file transfer operations with TwinCAT Systems.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetId -->
      <command:syntaxItem>
        <maml:name>Copy-AdsFile</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The source path specifier, where the file is taken from. If this Cmdlet is in Download mode, this is the specifier or FullPath of the (remote) file, dependant of the StandardFolder Parameter. In case of 'Uploading' this is the FullPath of the file to be transferred.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination path/specifier, where the file is stored. If the Cmdlet is in Download mode, this has to be the FullPath of the target location. In case of 'Uploading' this can be the FileName or a FullPath dependent of the StandardDirectory Parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Directory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Directory</maml:name>
          <maml:description>
            <maml:para>The Directory specifier on the remote system. The Default is "Generic".</maml:para>
            <maml:para>Possible values: Generic, BootDir, TargetDir, ConfigDir, InstallDir, RepositoryDir, UserPath1, UserPath2, UserPath3, UserPath4, UserPath5, UserPath6, UserPath7, UserPath8, UserPath9</maml:para>
          </maml:description>
          <command:parameterValue required="true">PathSpecifier</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.Automation.PathSpecifier</maml:name>
            <maml:uri />
            <maml:description>
              <maml:para>The PathSpecifier is specifying "Special Folders" on the target system, within the [TwinCAT] Root.</maml:para>
            </maml:description>
          </dev:type>
          <dev:defaultValue>Generic</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">Generic</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">BootDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">TargetDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">ConfigDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">InstallDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">RepositoryDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath1</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath2</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath3</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath4</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath5</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath6</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath7</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath8</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath9</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to create the Directory on the target side (and overwrites any preexisting file).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The address (AmsNetId) of the system where the file is Downloaded from / Uploaded to (Default: Local)</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Upload -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Upload</maml:name>
          <maml:description>
            <maml:para>Switches the Cmdlet to Upload mode. If not set, the Cmdlet is in 'Download' mode.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Copy-AdsFile</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The source path specifier, where the file is taken from. If this Cmdlet is in Download mode, this is the specifier or FullPath of the (remote) file, dependant of the StandardFolder Parameter. In case of 'Uploading' this is the FullPath of the file to be transferred.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination path/specifier, where the file is stored. If the Cmdlet is in Download mode, this has to be the FullPath of the target location. In case of 'Uploading' this can be the FileName or a FullPath dependent of the StandardDirectory Parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The address (Route) of the system where the file is Downloaded from / Uploaded to (Default: Local)</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Directory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Directory</maml:name>
          <maml:description>
            <maml:para>The Directory specifier on the remote system. The Default is "Generic".</maml:para>
            <maml:para>Possible values: Generic, BootDir, TargetDir, ConfigDir, InstallDir, RepositoryDir, UserPath1, UserPath2, UserPath3, UserPath4, UserPath5, UserPath6, UserPath7, UserPath8, UserPath9</maml:para>
          </maml:description>
          <command:parameterValue required="true">PathSpecifier</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.Automation.PathSpecifier</maml:name>
            <maml:uri />
            <maml:description>
              <maml:para>The PathSpecifier is specifying "Special Folders" on the target system, within the [TwinCAT] Root.</maml:para>
            </maml:description>
          </dev:type>
          <dev:defaultValue>Generic</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">Generic</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">BootDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">TargetDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">ConfigDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">InstallDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">RepositoryDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath1</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath2</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath3</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath4</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath5</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath6</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath7</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath8</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath9</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to create the Directory on the target side (and overwrites any preexisting file).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Upload -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Upload</maml:name>
          <maml:description>
            <maml:para>Switches the Cmdlet to Upload mode. If not set, the Cmdlet is in 'Download' mode.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Copy-AdsFile</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The source path specifier, where the file is taken from. If this Cmdlet is in Download mode, this is the specifier or FullPath of the (remote) file, dependant of the StandardFolder Parameter. In case of 'Uploading' this is the FullPath of the file to be transferred.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination path/specifier, where the file is stored. If the Cmdlet is in Download mode, this has to be the FullPath of the target location. In case of 'Uploading' this can be the FileName or a FullPath dependent of the StandardDirectory Parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address of the system where the file is Downloaded from / Uploaded to (Default: Local) This can be the RouteName, NetId, the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Directory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Directory</maml:name>
          <maml:description>
            <maml:para>The Directory specifier on the remote system. The Default is "Generic".</maml:para>
            <maml:para>Possible values: Generic, BootDir, TargetDir, ConfigDir, InstallDir, RepositoryDir, UserPath1, UserPath2, UserPath3, UserPath4, UserPath5, UserPath6, UserPath7, UserPath8, UserPath9</maml:para>
          </maml:description>
          <command:parameterValue required="true">PathSpecifier</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.Automation.PathSpecifier</maml:name>
            <maml:uri />
            <maml:description>
              <maml:para>The PathSpecifier is specifying "Special Folders" on the target system, within the [TwinCAT] Root.</maml:para>
            </maml:description>
          </dev:type>
          <dev:defaultValue>Generic</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">Generic</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">BootDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">TargetDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">ConfigDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">InstallDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">RepositoryDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath1</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath2</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath3</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath4</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath5</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath6</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath7</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath8</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath9</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to create the Directory on the target side (and overwrites any preexisting file).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Upload -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Upload</maml:name>
          <maml:description>
            <maml:para>Switches the Cmdlet to Upload mode. If not set, the Cmdlet is in 'Download' mode.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Copy-AdsFile</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The source path specifier, where the file is taken from. If this Cmdlet is in Download mode, this is the specifier or FullPath of the (remote) file, dependant of the StandardFolder Parameter. In case of 'Uploading' this is the FullPath of the file to be transferred.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination path/specifier, where the file is stored. If the Cmdlet is in Download mode, this has to be the FullPath of the target location. In case of 'Uploading' this can be the FileName or a FullPath dependent of the StandardDirectory Parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>The target system address is derived from the Session Information where the file is Downloaded from / Uploaded to.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Directory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Directory</maml:name>
          <maml:description>
            <maml:para>The Directory specifier on the remote system. The Default is "Generic".</maml:para>
            <maml:para>Possible values: Generic, BootDir, TargetDir, ConfigDir, InstallDir, RepositoryDir, UserPath1, UserPath2, UserPath3, UserPath4, UserPath5, UserPath6, UserPath7, UserPath8, UserPath9</maml:para>
          </maml:description>
          <command:parameterValue required="true">PathSpecifier</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.Automation.PathSpecifier</maml:name>
            <maml:uri />
            <maml:description>
              <maml:para>The PathSpecifier is specifying "Special Folders" on the target system, within the [TwinCAT] Root.</maml:para>
            </maml:description>
          </dev:type>
          <dev:defaultValue>Generic</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">Generic</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">BootDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">TargetDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">ConfigDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">InstallDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">RepositoryDir</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath1</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath2</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath3</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath4</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath5</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath6</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath7</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath8</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">UserPath9</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to create the Directory on the target side (and overwrites any preexisting file).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Upload -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Upload</maml:name>
          <maml:description>
            <maml:para>Switches the Cmdlet to Upload mode. If not set, the Cmdlet is in 'Download' mode.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Path -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The source path specifier, where the file is taken from. If this Cmdlet is in Download mode, this is the specifier or FullPath of the (remote) file, dependant of the StandardFolder Parameter. In case of 'Uploading' this is the FullPath of the file to be transferred.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Destination -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The Destination path/specifier, where the file is stored. If the Cmdlet is in Download mode, this has to be the FullPath of the target location. In case of 'Uploading' this can be the FileName or a FullPath dependent of the StandardDirectory Parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Directory -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Directory</maml:name>
        <maml:description>
          <maml:para>The Directory specifier on the remote system. The Default is "Generic".</maml:para>
          <maml:para>Possible values: Generic, BootDir, TargetDir, ConfigDir, InstallDir, RepositoryDir, UserPath1, UserPath2, UserPath3, UserPath4, UserPath5, UserPath6, UserPath7, UserPath8, UserPath9</maml:para>
        </maml:description>
        <command:parameterValue required="true">PathSpecifier</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Management.Automation.PathSpecifier</maml:name>
          <maml:uri />
          <maml:description>
            <maml:para>The PathSpecifier is specifying "Special Folders" on the target system, within the [TwinCAT] Root.</maml:para>
          </maml:description>
        </dev:type>
        <dev:defaultValue>Generic</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">Generic</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">BootDir</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">TargetDir</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">ConfigDir</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">InstallDir</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">RepositoryDir</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">UserPath1</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">UserPath2</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">UserPath3</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">UserPath4</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">UserPath5</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">UserPath6</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">UserPath7</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">UserPath8</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">UserPath9</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
      <!-- Parameter: Upload -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Upload</maml:name>
        <maml:description>
          <maml:para>Switches the Cmdlet to Upload mode. If not set, the Cmdlet is in 'Download' mode.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces to create the Directory on the target side (and overwrites any preexisting file).</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The address (AmsNetId) of the system where the file is Downloaded from / Uploaded to (Default: Local)</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The address (Route) of the system where the file is Downloaded from / Uploaded to (Default: Local)</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The address (Route) of the system where the file is Downloaded from / Uploaded to (Default: Local)</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address of the system where the file is Downloaded from / Uploaded to (Default: Local) This can be the RouteName, NetId, the HostName or the IPAddress.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>The target system address is derived from the Session Information where the file is Downloaded from / Uploaded to.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>The target system address is derived from the Session Information where the file is Downloaded from / Uploaded to.</maml:para>
          <maml:para>This is an alias of the SessionId parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The address (Route) of the system where the file is Downloaded from / Uploaded to (Default: Local)</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS &gt; Copy-AdsFile -address CX_00001 -path CurrentConfig.xml -Destination c:\tmp\Config1.xml -Directory BootDir</dev:code>
        <dev:remarks>
          <maml:para>Downloads the the CurrentConfig.xml from the BootDir of the target system to 'c:\tmp\Config1.xml'</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS &gt; Copy-AdsFile -address CX_00001 -upload -path c:\tmp\Config1.xml -destination CurrentConfig.xml -Directory BootDir</dev:code>
        <dev:remarks>
          <maml:para>Uploads the file "c:\tmp\Config1.xml" on local system to the Target BootFolder of system CX_00001</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS &gt; Copy-AdsFile -address CX_0001 -path c:\ReadMe.txt -destination d:\tmp\</dev:code>
        <dev:remarks>
          <maml:para>Downloads the File "C:\ReadMe.txt" form System CX_0001 to the local system and store it under d:\tmp\ReadMe.txt</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Register-AdsHandle -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Register-AdsHandle</command:name>
      <command:verb>Register</command:verb>
      <command:noun>AdsHandle</command:noun>
      <maml:description>
        <maml:para>Registers and returns a symbol handle.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet registers a symbol handle at the connected system. The handle is returned as AdsHandleInfo.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPortSymbol -->
      <command:syntaxItem>
        <maml:name>Register-AdsHandle</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path to the symbol.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use (always in combination with the NetId). ArgumentCompleter is supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetId address of the Target system</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteSymbol -->
      <command:syntaxItem>
        <maml:name>Register-AdsHandle</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path to the symbol.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use (always in combination with the NetId). ArgumentCompleter is supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>Specifies the route of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressSymbol -->
      <command:syntaxItem>
        <maml:name>Register-AdsHandle</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path to the symbol.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Address of the target system where to register the symbol handle. The Address can consist of RouteName, NetId, IPAddress or HostName. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use (always in combination with the NetId). ArgumentCompleter is supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionSymbol -->
      <command:syntaxItem>
        <maml:name>Register-AdsHandle</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path to the symbol.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use (instead of addressing the target system).</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdSymbol -->
      <command:syntaxItem>
        <maml:name>Register-AdsHandle</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path to the symbol.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use instead of specifying the target address.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: InputObject -->
      <command:syntaxItem>
        <maml:name>Register-AdsHandle</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Symbol">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The symbol object.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISymbol[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.TypeSystem.ISymbol[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetId address of the Target system</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Route -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>Specifies the route of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>Specifies the route of the target system.</maml:para>
          <maml:para>This is an alias of the Route parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The Address of the target system where to register the symbol handle. The Address can consist of RouteName, NetId, IPAddress or HostName. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use (instead of addressing the target system).</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) to use instead of specifying the target address.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The address Port to use (always in combination with the NetId). ArgumentCompleter is supported.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>10000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Path -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The instance path to the symbol.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Symbol">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The symbol object.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISymbol[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.TypeSystem.ISymbol[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Symbol">
        <maml:name>Symbol</maml:name>
        <maml:description>
          <maml:para>The symbol object.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISymbol[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.TypeSystem.ISymbol[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use (instead of addressing the target system).</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.TypeSystem.ISymbol[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The symbol object.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; $session = New-TcSession -NetId '1.2.3.4.5.6' -Port 851
PS&gt; $handleInfo = $session | Register-AdsHandle -Path 'TwinCAT_SystemInfoVarList._AppInfo.ProjectName'
PS&gt; $handleInfo = Register-AdsHandle -Path 'TwinCAT_SystemInfoVarList._AppInfo.ProjectName' -Session $s
PS&gt; $handleInfo
 
InstancePath Result Handle
------------ ------ ------
TwinCAT_SystemInfoVarList._AppInfo.ProjectName NoError 0x428000FC (1115685116)
 
PS&gt; Read-TcValue -Session $session -IndexGroup SymbolValueByHandle -IndexOffset $handleInfo.Handle -Type String
 
MyProject
 
PS&gt; $handle | Unregister-AdsHandle -Session $session
PS&gt; $session | Close-tcsession</dev:code>
        <dev:remarks>
          <maml:para>Opens a new device session, registers a Symbol Handle to the ProjectName of the running PLC Project, Reads the value by handle unregisters the handle and closes the session again.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Unregister-AdsHandle -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Unregister-AdsHandle</command:name>
      <command:verb>Unregister</command:verb>
      <command:noun>AdsHandle</command:noun>
      <maml:description>
        <maml:para>Unregisters a symbol handle.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet unregisters an already registered symbol handle from the target system. The Cmdlet supports raw [uint] handles or AdsHandleInfo objects.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPortHandle -->
      <command:syntaxItem>
        <maml:name>Unregister-AdsHandle</maml:name>
        <!-- Parameter: Handle -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Handle</maml:name>
          <maml:description>
            <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint[]</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use. ClearText names for the Port and ArgumentCompleter are supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetId part of the device target address.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdPortInfo -->
      <command:syntaxItem>
        <maml:name>Unregister-AdsHandle</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="HandleInfo">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The AdsHandleInfo object (produced by Register-AdsHandle Cmdlet)</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsHandleInfo[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.Automation.AdsHandleInfo[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use. ClearText names for the Port and ArgumentCompleter are supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetId part of the device target address.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteHandle -->
      <command:syntaxItem>
        <maml:name>Unregister-AdsHandle</maml:name>
        <!-- Parameter: Handle -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Handle</maml:name>
          <maml:description>
            <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint[]</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use. ClearText names for the Port and ArgumentCompleter are supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>Specifies the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteInfo -->
      <command:syntaxItem>
        <maml:name>Unregister-AdsHandle</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="HandleInfo">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The AdsHandleInfo object (produced by Register-AdsHandle Cmdlet)</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsHandleInfo[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.Automation.AdsHandleInfo[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use. ClearText names for the Port and ArgumentCompleter are supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>Specifies the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressHandle -->
      <command:syntaxItem>
        <maml:name>Unregister-AdsHandle</maml:name>
        <!-- Parameter: Handle -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Handle</maml:name>
          <maml:description>
            <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint[]</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The target address of the system. The Address can consist of RouteName, NetId, IPAddress or HostName. Wildcards are permitted and ArgumentCompleter is supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use. ClearText names for the Port and ArgumentCompleter are supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressInfo -->
      <command:syntaxItem>
        <maml:name>Unregister-AdsHandle</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="HandleInfo">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The AdsHandleInfo object (produced by Register-AdsHandle Cmdlet)</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsHandleInfo[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.Automation.AdsHandleInfo[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The target address of the system. The Address can consist of RouteName, NetId, IPAddress or HostName. Wildcards are permitted and ArgumentCompleter is supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use. ClearText names for the Port and ArgumentCompleter are supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionHandle -->
      <command:syntaxItem>
        <maml:name>Unregister-AdsHandle</maml:name>
        <!-- Parameter: Handle -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Handle</maml:name>
          <maml:description>
            <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint[]</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session object (instead of specifieng the target system address).</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionInfo -->
      <command:syntaxItem>
        <maml:name>Unregister-AdsHandle</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="HandleInfo">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The AdsHandleInfo object (produced by Register-AdsHandle Cmdlet)</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsHandleInfo[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.Automation.AdsHandleInfo[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session object (instead of specifieng the target system address).</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdHandle -->
      <command:syntaxItem>
        <maml:name>Unregister-AdsHandle</maml:name>
        <!-- Parameter: Handle -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Handle</maml:name>
          <maml:description>
            <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint[]</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use (instead of specifying the address).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdInfo -->
      <command:syntaxItem>
        <maml:name>Unregister-AdsHandle</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="HandleInfo">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The AdsHandleInfo object (produced by Register-AdsHandle Cmdlet)</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsHandleInfo[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.Automation.AdsHandleInfo[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use (instead of specifying the address).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetId part of the device target address.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Route -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>Specifies the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>Specifies the target system.</maml:para>
          <maml:para>This is an alias of the Route parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The target address of the system. The Address can consist of RouteName, NetId, IPAddress or HostName. Wildcards are permitted and ArgumentCompleter is supported.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session object (instead of specifieng the target system address).</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) to use (instead of specifying the address).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The address Port to use. ClearText names for the Port and ArgumentCompleter are supported.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>10000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Handle -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Handle</maml:name>
        <maml:description>
          <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint[]</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="HandleInfo">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The AdsHandleInfo object (produced by Register-AdsHandle Cmdlet)</maml:para>
        </maml:description>
        <command:parameterValue required="true">AdsHandleInfo[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Management.Automation.AdsHandleInfo[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="HandleInfo">
        <maml:name>HandleInfo</maml:name>
        <maml:description>
          <maml:para>The AdsHandleInfo object (produced by Register-AdsHandle Cmdlet)</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AdsHandleInfo[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Management.Automation.AdsHandleInfo[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session object (instead of specifieng the target system address).</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.Management.Automation.AdsHandleInfo[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The AdsHandleInfo object (produced by Register-AdsHandle Cmdlet)</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; $session = New-TcSession -NetId '1.2.3.4.5.6' -Port 851
PS&gt; $handleInfo = $session | Register-AdsHandle -Path 'TwinCAT_SystemInfoVarList._AppInfo.ProjectName'
PS&gt; $handleInfo = Register-AdsHandle -Path 'TwinCAT_SystemInfoVarList._AppInfo.ProjectName' -Session $s
PS&gt; $handleInfo
 
InstancePath Result Handle
------------ ------ ------
TwinCAT_SystemInfoVarList._AppInfo.ProjectName NoError 0x428000FC (1115685116)
 
PS&gt; Read-TcValue -Session $session -IndexGroup SymbolValueByHandle -IndexOffset $handleInfo.Handle -Type String
 
MyProject
 
PS&gt; $handle | Unregister-AdsHandle -Session $session
PS&gt; $session | Close-tcsession</dev:code>
        <dev:remarks>
          <maml:para>Opens a new device session, registers a Symbol Handle to the ProjectName of the running PLC Project, Reads the value by handle unregisters the handle and closes the session again.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Add-AdsNatRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Add-AdsNatRoute</command:name>
      <command:verb>Add</command:verb>
      <command:noun>AdsNatRoute</command:noun>
      <maml:description>
        <maml:para>Adds an AmsNAT Route to the destination system (obsolete).</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet adds an AmsNAT Route to the destination system. It writes just the specified content to the StaticRoutes.xml and needs a TwinCAT Restart afterwards. Please be aware that the Route is not added bidirectionally. For TwinCAT Versions &gt;= 3.1.4024.11 (or newer), the Add-AdsRoute Cmdlet should be used with the -NAT Parameter as Replacement. Therefore, this 'Add-AdsNatRoute' Cmdlet is classified as 'obsolete' and of limitied use and could be removed in future.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Add-AdsNatRoute</maml:name>
        <!-- Parameter: Name -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The Name of the AmsNAT Route to add.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Address of the system to be added as route. This can be an IPAddress or HostName.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NATNetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>NATNetId</maml:name>
          <maml:description>
            <maml:para>The NATNetId. This is the NetID that is used as NetId Translation on the local/destination system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetId of the system to be added as Route. This will be the RemoteNetId.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the AmsNAT Route is added. This Parameter allows RouteName, AmsNetId, IPAddress or HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' message and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Name -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The Name of the AmsNAT Route to add.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The Address of the system to be added as route. This can be an IPAddress or HostName.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetId of the system to be added as Route. This will be the RemoteNetId.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NATNetId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>NATNetId</maml:name>
        <maml:description>
          <maml:para>The NATNetId. This is the NetID that is used as NetId Translation on the local/destination system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Destination -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The Destination Address, where the AmsNAT Route is added. This Parameter allows RouteName, AmsNetId, IPAddress or HostName</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' message and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' message and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Add-AdsNatRoute -Name MyRoute -NetId 1.2.3.4.1.1 -Address 1.2.3.4 -NATNetId 1.2.3.4.2.2 </dev:code>
        <dev:remarks>
          <maml:para>Adds a Route 'MyRoute' with RemoteNetId '1.2.3.4.1.1' and IPAddress '1.2.3.4' with AmsNAT translation '1.2.3.4.2.2' to the local system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Add-AdsNatRoute -Name Client01 -NetId 1.2.3.4.1.1 -Address Client01 -NATNetId 1.2.3.4.2.2 -Destination CX_1234</dev:code>
        <dev:remarks>
          <maml:para>Adds a Route 'Client01' with RemoteNetId '1.2.3.4.1.1' and DnsName 'Client01' to 'CX_1234' with AmsNAT translation '1.2.3.4.2.2'.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Register-AdsNatRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Register-AdsNatRoute</command:name>
      <command:verb>Register</command:verb>
      <command:noun>AdsNatRoute</command:noun>
      <maml:description>
        <maml:para>Changes an standard Route to an AmsNAT route on the target system (obsolete).</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet Changes an standard Route to an AmsNAT route on the target system. The route must be preexisting and the cmdlet adds the RemoteNetId/AmsNAT information to the StaticRoutes.xml of the destination system. Afterwards the destination system needs a TwinCAT Restart. For TwinCAT Versions &gt;= 3.1.4024.11 (or newer), the Add-AdsRoute Cmdlet should be used with the -NAT Parameter as Replacement. Therefore, this 'Register-AdsNatRoute' Cmdlet is classified as 'obsolete' and of limitied use and could be removed in future.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Name -->
      <command:syntaxItem>
        <maml:name>Register-AdsNatRoute</maml:name>
        <!-- Parameter: Name -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The Name of the Route where to add an AmsNAT entry.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NATNetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>NATNetId</maml:name>
          <maml:description>
            <maml:para>The NATNetId (the local representation of the remote system).</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination system, where the AmsNAT translation is added. This Parameter allows RouteName, AmsNetId, IPAddress or HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetId -->
      <command:syntaxItem>
        <maml:name>Register-AdsNatRoute</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetID which specifies the existing route where to add an AmsNAT entry. This NetId becomes the 'RemoteNetId' afterwards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NATNetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>NATNetId</maml:name>
          <maml:description>
            <maml:para>The NATNetId (the local representation of the remote system).</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination system, where the AmsNAT translation is added. This Parameter allows RouteName, AmsNetId, IPAddress or HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Name -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The Name of the Route where to add an AmsNAT entry.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetID which specifies the existing route where to add an AmsNAT entry. This NetId becomes the 'RemoteNetId' afterwards.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NATNetId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>NATNetId</maml:name>
        <maml:description>
          <maml:para>The NATNetId (the local representation of the remote system).</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Destination -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The Destination system, where the AmsNAT translation is added. This Parameter allows RouteName, AmsNetId, IPAddress or HostName</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Register-AdsNatRoute -Name MyRoute -NATNetId 1.2.3.4.2.2 </dev:code>
        <dev:remarks>
          <maml:para>Adds an AmsNAT address translation to the existing route 'MyRoute' on the local system (e.g. from '1.2.3.4.1.1' to '1.2.3.4.2.2').</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Register-AdsNatRoute -NetId 1.2.3.4.1.1 -NATNetId 1.2.3.4.2.2 -Destination CX_1234</dev:code>
        <dev:remarks>
          <maml:para>Adds an AmsNAT address translation to the existing route with NetId '1.2.3.4.1.1' to NATNetId '1.2.3.4.2.2' on System 'CX_1234'.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Remove-AdsNatRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Remove-AdsNatRoute</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>AdsNatRoute</command:noun>
      <maml:description>
        <maml:para>Removes an AmsNAT Route from the destination system (obsolete).</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet removes an AmsNAT Route from the destination system. It edits just the specified content of the destination system StaticRoutes.xml and needs a TwinCAT Restart. afterwards. Please be aware that the Route is not removed bidirectionally. This 'Remove-AdsNatRoute' Cmdlet is classified as 'obsolete' and of limitied use and could be removed in future. Please use the Remove-AdsRoute Cmdlet instead.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Name -->
      <command:syntaxItem>
        <maml:name>Remove-AdsNatRoute</maml:name>
        <!-- Parameter: Name -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The Name of the AmsNAT route to remove.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The destination address, where to Remove the specified MQTT route. This can be the NetId, the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Address -->
      <command:syntaxItem>
        <maml:name>Remove-AdsNatRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Address of the AmsNAT route to delete. This can be the IPAddress or the Dns HostName of the route system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The destination address, where to Remove the specified MQTT route. This can be the NetId, the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetId -->
      <command:syntaxItem>
        <maml:name>Remove-AdsNatRoute</maml:name>
        <!-- Parameter: NATNetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>NATNetId</maml:name>
          <maml:description>
            <maml:para>The AmsNAT NetId (translation NetID) of the route to remove.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The destination address, where to Remove the specified MQTT route. This can be the NetId, the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Name -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The Name of the AmsNAT route to remove.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The Address of the AmsNAT route to delete. This can be the IPAddress or the Dns HostName of the route system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NATNetId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>NATNetId</maml:name>
        <maml:description>
          <maml:para>The AmsNAT NetId (translation NetID) of the route to remove.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Destination -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The destination address, where to Remove the specified MQTT route. This can be the NetId, the HostName or the IPAddress.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Remove-AdsNatRoute -Name MyRoute </dev:code>
        <dev:remarks>
          <maml:para>Removes the AmsNAT route 'MyRoute' from the local system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Remove-AdsNatRoute -NATNetId 1.2.3.4.2.2 -Destination CX_1234</dev:code>
        <dev:remarks>
          <maml:para>Removes the AmsNAT Route with Translation NetId '1.2.3.4.2.2' from the system 'CX_1234'</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Start-AdsProcess -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Start-AdsProcess</command:name>
      <command:verb>Start</command:verb>
      <command:noun>AdsProcess</command:noun>
      <maml:description>
        <maml:para>Start a process via ADS on the target system.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet starts a processs on the Target system.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Start-AdsProcess</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>NetId(s) of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: FilePath -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>FilePath</maml:name>
          <maml:description>
            <maml:para>Path to the executable of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ArgumentList -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ArgumentList</maml:name>
          <maml:description>
            <maml:para>Specifies parameters or parameter values to use when this cmdlet starts the process. Arguments can be accepted as a single string with the arguments separated by spaces, or as an array of strings separated by commas. The cmdlet joins the array into a single string with each element of the array separated by a single space.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WorkingDir -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WorkingDir</maml:name>
          <maml:description>
            <maml:para>The working directory on the target system</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Start-AdsProcess</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The route object where to get the Target information from..</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: FilePath -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>FilePath</maml:name>
          <maml:description>
            <maml:para>Path to the executable of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ArgumentList -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ArgumentList</maml:name>
          <maml:description>
            <maml:para>Specifies parameters or parameter values to use when this cmdlet starts the process. Arguments can be accepted as a single string with the arguments separated by spaces, or as an array of strings separated by commas. The cmdlet joins the array into a single string with each element of the array separated by a single space.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WorkingDir -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WorkingDir</maml:name>
          <maml:description>
            <maml:para>The working directory on the target system</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Start-AdsProcess</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: FilePath -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>FilePath</maml:name>
          <maml:description>
            <maml:para>Path to the executable of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ArgumentList -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ArgumentList</maml:name>
          <maml:description>
            <maml:para>Specifies parameters or parameter values to use when this cmdlet starts the process. Arguments can be accepted as a single string with the arguments separated by spaces, or as an array of strings separated by commas. The cmdlet joins the array into a single string with each element of the array separated by a single space.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WorkingDir -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WorkingDir</maml:name>
          <maml:description>
            <maml:para>The working directory on the target system</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Start-AdsProcess</maml:name>
        <!-- Parameter: FilePath -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>FilePath</maml:name>
          <maml:description>
            <maml:para>Path to the executable of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ArgumentList -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ArgumentList</maml:name>
          <maml:description>
            <maml:para>Specifies parameters or parameter values to use when this cmdlet starts the process. Arguments can be accepted as a single string with the arguments separated by spaces, or as an array of strings separated by commas. The cmdlet joins the array into a single string with each element of the array separated by a single space.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WorkingDir -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WorkingDir</maml:name>
          <maml:description>
            <maml:para>The working directory on the target system</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Start-AdsProcess</maml:name>
        <!-- Parameter: FilePath -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>FilePath</maml:name>
          <maml:description>
            <maml:para>Path to the executable of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ArgumentList -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ArgumentList</maml:name>
          <maml:description>
            <maml:para>Specifies parameters or parameter values to use when this cmdlet starts the process. Arguments can be accepted as a single string with the arguments separated by spaces, or as an array of strings separated by commas. The cmdlet joins the array into a single string with each element of the array separated by a single space.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WorkingDir -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WorkingDir</maml:name>
          <maml:description>
            <maml:para>The working directory on the target system</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>NetId(s) of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the value read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) to use for the value read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: FilePath -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>FilePath</maml:name>
        <maml:description>
          <maml:para>Path to the executable of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ArgumentList -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ArgumentList</maml:name>
        <maml:description>
          <maml:para>Specifies parameters or parameter values to use when this cmdlet starts the process. Arguments can be accepted as a single string with the arguments separated by spaces, or as an array of strings separated by commas. The cmdlet joins the array into a single string with each element of the array separated by a single space.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: WorkingDir -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WorkingDir</maml:name>
        <maml:description>
          <maml:para>The working directory on the target system</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the value read.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Start-AdsProcess -Address CX_1234 -path "notepad.exe"</dev:code>
        <dev:remarks>
          <maml:para>Starts the notepad.exe on the target system.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Add-AdsRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Add-AdsRoute</command:name>
      <command:verb>Add</command:verb>
      <command:noun>AdsRoute</command:noun>
      <maml:description>
        <maml:para>Cmdlet for adding TwinCAT Routes.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Adds a Route to the destination target System (Temporary or statically). Dependant on the used parameters, this Cmdlet uses an internal broadcast search to determine the target system Addresses (NetId, HostName or IPAddress) to establish a full defined route. To find the specified target it is necessary that the target system is running/online and reachable from the local system. Another use case is to establish a route on the local system for preparation before the targeting system is available. In that case the full target address represented by the -NetID and -IPOrHostName parameter must be given, while leaving out the -Credential parameter.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Address -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="0" aliases="TargetAddress">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address for the ADS route. This can be the RouteName, NetId, the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: BroadcastTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BroadcastTimeout</maml:name>
          <maml:description>
            <maml:para>(Broadcast) Search Timeout for searching the unregistered target in seconds (Default 0, Dynamic detection).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
            <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RemotePersistance -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RemotePersistance</maml:name>
          <maml:description>
            <maml:para>The persistance type of the remmote route. None/Server means no remote route will be created. Other valid values are 'Static' or 'Temporary'</maml:para>
            <maml:para>Possible values: None, Server, Temporary, Static</maml:para>
          </maml:description>
          <command:parameterValue required="true">RoutePersistanceType</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.RoutePersistanceType</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Static</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Server</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Temporary</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Static</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressPSK -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="0" aliases="TargetAddress">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address for the ADS route. This can be the RouteName, NetId, the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
            <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PreSharedKey -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="PSK">
          <maml:name>PreSharedKey</maml:name>
          <maml:description>
            <maml:para>Gets or sets the PreSharedKey (PSK) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BroadcastTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BroadcastTimeout</maml:name>
          <maml:description>
            <maml:para>(Broadcast) Search Timeout for searching the unregistered target in seconds (Default 0, Dynamic detection).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressPSKKey -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="0" aliases="TargetAddress">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address for the ADS route. This can be the RouteName, NetId, the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: BinaryKey -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>BinaryKey</maml:name>
          <maml:description>
            <maml:para>The BinaryKey can be used instead of the credential Password on SecureSettings.PreSharedKeys (PSK). There is no function for this parameter on other security settings.</maml:para>
          </maml:description>
          <command:parameterValue required="true">byte[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Byte[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>The BinaryKey can be used instead of the credential Password on SecureSettings.PreSharedKeys (PSK). There is no function for this parameter on other security settings.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PreSharedKey -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="PSK">
          <maml:name>PreSharedKey</maml:name>
          <maml:description>
            <maml:para>Gets or sets the PreSharedKey (PSK) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BroadcastTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BroadcastTimeout</maml:name>
          <maml:description>
            <maml:para>(Broadcast) Search Timeout for searching the unregistered target in seconds (Default 0, Dynamic detection).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressSCA -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="0" aliases="TargetAddress">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address for the ADS route. This can be the RouteName, NetId, the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SharedCertAuth -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SCA">
          <maml:name>SharedCertAuth</maml:name>
          <maml:description>
            <maml:para>Gets or sets the SharedCertificateAuthority (SCA) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BroadcastTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BroadcastTimeout</maml:name>
          <maml:description>
            <maml:para>(Broadcast) Search Timeout for searching the unregistered target in seconds (Default 0, Dynamic detection).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreCN -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreCN</maml:name>
          <maml:description>
            <maml:para>Gets or sets the 'Ignore Common Name' mode for SharedCertificateAuthority (SCA) while adding the route.</maml:para>
            <maml:para>The "CommonName" of the certificate must correspond to the name used when establishing the connection in the certificate. This behavior can be deactivated by this option.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressSSC -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="0" aliases="TargetAddress">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address for the ADS route. This can be the RouteName, NetId, the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
            <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SelfSigned -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SSC">
          <maml:name>SelfSigned</maml:name>
          <maml:description>
            <maml:para>Gets or sets the SelfSigned (SSC) mode for adding the route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BroadcastTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BroadcastTimeout</maml:name>
          <maml:description>
            <maml:para>(Broadcast) Search Timeout for searching the unregistered target in seconds (Default 0, Dynamic detection).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: FingerPrint -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>FingerPrint</maml:name>
          <maml:description>
            <maml:para>The Fingerprint used for adding the route. This parameter can be used when the parameter '-SelfSigned' is set. If specified, the found OnlineTarget will be checked against this fingerprint. If not specified, the 'Add-AdsRoute' Cmdlet doesn't check the fingerprint, always adding the route. Using the fingerprint means that only single routes can be added, multi-adding routes with fingerprint is not supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetId -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="TargetNetId">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The AmsNetID for the ADS route to add. If no further IPAddress or HostName is specified with the -IPOrHostName parameter, a broadcast search is triggered to find an online device. If a single sided route should be added, specify the IPAddress or HostName Parameter in combination with -RemotePersistance:None and without -Credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
            <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IPOrHostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IPOrHostName</maml:name>
          <maml:description>
            <maml:para>The HostName Address of the target route or the IPAddress. Because the HostName or IPAddress is necessary in addition to the NetId for a functional route, the Add-AdsRoute Cmdlet tries to detect the HostName/IPAddress via a Broadcast search in the Network when it is not specified. That means the target must be available and reachable within the network in that case. If not the Add-AdsRoute Cmdlet will fail. If the IP or HostName in combination with the -NetId is specified, the target availability is not necessary and Add-Route will register the Route whatever is specified as address.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RemotePersistance -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RemotePersistance</maml:name>
          <maml:description>
            <maml:para>The persistance type of the remmote route. None/Server means no remote route will be created. Other valid values are 'Static' or 'Temporary'</maml:para>
            <maml:para>Possible values: None, Server, Temporary, Static</maml:para>
          </maml:description>
          <command:parameterValue required="true">RoutePersistanceType</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.RoutePersistanceType</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Static</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Server</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Temporary</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Static</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdPSK -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="TargetNetId">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The AmsNetID for the ADS route to add. If no further IPAddress or HostName is specified with the -IPOrHostName parameter, a broadcast search is triggered to find an online device. If a single sided route should be added, specify the IPAddress or HostName Parameter in combination with -RemotePersistance:None and without -Credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
            <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PreSharedKey -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="PSK">
          <maml:name>PreSharedKey</maml:name>
          <maml:description>
            <maml:para>Gets or sets the PreSharedKey (PSK) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IPOrHostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IPOrHostName</maml:name>
          <maml:description>
            <maml:para>The HostName Address of the target route or the IPAddress. Because the HostName or IPAddress is necessary in addition to the NetId for a functional route, the Add-AdsRoute Cmdlet tries to detect the HostName/IPAddress via a Broadcast search in the Network when it is not specified. That means the target must be available and reachable within the network in that case. If not the Add-AdsRoute Cmdlet will fail. If the IP or HostName in combination with the -NetId is specified, the target availability is not necessary and Add-Route will register the Route whatever is specified as address.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdPSKKey -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="TargetNetId">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The AmsNetID for the ADS route to add. If no further IPAddress or HostName is specified with the -IPOrHostName parameter, a broadcast search is triggered to find an online device. If a single sided route should be added, specify the IPAddress or HostName Parameter in combination with -RemotePersistance:None and without -Credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: BinaryKey -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>BinaryKey</maml:name>
          <maml:description>
            <maml:para>The BinaryKey can be used instead of the credential Password on SecureSettings.PreSharedKeys (PSK). There is no function for this parameter on other security settings.</maml:para>
          </maml:description>
          <command:parameterValue required="true">byte[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Byte[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>The BinaryKey can be used instead of the credential Password on SecureSettings.PreSharedKeys (PSK). There is no function for this parameter on other security settings.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PreSharedKey -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="PSK">
          <maml:name>PreSharedKey</maml:name>
          <maml:description>
            <maml:para>Gets or sets the PreSharedKey (PSK) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IPOrHostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IPOrHostName</maml:name>
          <maml:description>
            <maml:para>The HostName Address of the target route or the IPAddress. Because the HostName or IPAddress is necessary in addition to the NetId for a functional route, the Add-AdsRoute Cmdlet tries to detect the HostName/IPAddress via a Broadcast search in the Network when it is not specified. That means the target must be available and reachable within the network in that case. If not the Add-AdsRoute Cmdlet will fail. If the IP or HostName in combination with the -NetId is specified, the target availability is not necessary and Add-Route will register the Route whatever is specified as address.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdSCA -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="TargetNetId">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The AmsNetID for the ADS route to add. If no further IPAddress or HostName is specified with the -IPOrHostName parameter, a broadcast search is triggered to find an online device. If a single sided route should be added, specify the IPAddress or HostName Parameter in combination with -RemotePersistance:None and without -Credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SharedCertAuth -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SCA">
          <maml:name>SharedCertAuth</maml:name>
          <maml:description>
            <maml:para>Gets or sets the SharedCertificateAuthority (SCA) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreCN -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreCN</maml:name>
          <maml:description>
            <maml:para>Gets or sets the 'Ignore Common Name' mode for SharedCertificateAuthority (SCA) while adding the route.</maml:para>
            <maml:para>The "CommonName" of the certificate must correspond to the name used when establishing the connection in the certificate. This behavior can be deactivated by this option.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IPOrHostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IPOrHostName</maml:name>
          <maml:description>
            <maml:para>The HostName Address of the target route or the IPAddress. Because the HostName or IPAddress is necessary in addition to the NetId for a functional route, the Add-AdsRoute Cmdlet tries to detect the HostName/IPAddress via a Broadcast search in the Network when it is not specified. That means the target must be available and reachable within the network in that case. If not the Add-AdsRoute Cmdlet will fail. If the IP or HostName in combination with the -NetId is specified, the target availability is not necessary and Add-Route will register the Route whatever is specified as address.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdSSC -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="TargetNetId">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The AmsNetID for the ADS route to add. If no further IPAddress or HostName is specified with the -IPOrHostName parameter, a broadcast search is triggered to find an online device. If a single sided route should be added, specify the IPAddress or HostName Parameter in combination with -RemotePersistance:None and without -Credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
            <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SelfSigned -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SSC">
          <maml:name>SelfSigned</maml:name>
          <maml:description>
            <maml:para>Gets or sets the SelfSigned (SSC) mode for adding the route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: FingerPrint -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>FingerPrint</maml:name>
          <maml:description>
            <maml:para>The Fingerprint used for adding the route. This parameter can be used when the parameter '-SelfSigned' is set. If specified, the found OnlineTarget will be checked against this fingerprint. If not specified, the 'Add-AdsRoute' Cmdlet doesn't check the fingerprint, always adding the route. Using the fingerprint means that only single routes can be added, multi-adding routes with fingerprint is not supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IPOrHostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IPOrHostName</maml:name>
          <maml:description>
            <maml:para>The HostName Address of the target route or the IPAddress. Because the HostName or IPAddress is necessary in addition to the NetId for a functional route, the Add-AdsRoute Cmdlet tries to detect the HostName/IPAddress via a Broadcast search in the Network when it is not specified. That means the target must be available and reachable within the network in that case. If not the Add-AdsRoute Cmdlet will fail. If the IP or HostName in combination with the -NetId is specified, the target availability is not necessary and Add-Route will register the Route whatever is specified as address.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Routes -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: Credential -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
            <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route,TargetRoute">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The input Ads Routes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RemotePersistance -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RemotePersistance</maml:name>
          <maml:description>
            <maml:para>The persistance type of the remmote route. None/Server means no remote route will be created. Other valid values are 'Static' or 'Temporary'</maml:para>
            <maml:para>Possible values: None, Server, Temporary, Static</maml:para>
          </maml:description>
          <command:parameterValue required="true">RoutePersistanceType</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.RoutePersistanceType</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Static</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Server</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Temporary</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Static</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RoutesPSK -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: Credential -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
            <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route,TargetRoute">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The input Ads Routes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PreSharedKey -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="PSK">
          <maml:name>PreSharedKey</maml:name>
          <maml:description>
            <maml:para>Gets or sets the PreSharedKey (PSK) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RoutesPSKKey -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: BinaryKey -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>BinaryKey</maml:name>
          <maml:description>
            <maml:para>The BinaryKey can be used instead of the credential Password on SecureSettings.PreSharedKeys (PSK). There is no function for this parameter on other security settings.</maml:para>
          </maml:description>
          <command:parameterValue required="true">byte[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Byte[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>The BinaryKey can be used instead of the credential Password on SecureSettings.PreSharedKeys (PSK). There is no function for this parameter on other security settings.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route,TargetRoute">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The input Ads Routes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PreSharedKey -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="PSK">
          <maml:name>PreSharedKey</maml:name>
          <maml:description>
            <maml:para>Gets or sets the PreSharedKey (PSK) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RoutesSCA -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route,TargetRoute">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The input Ads Routes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SharedCertAuth -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SCA">
          <maml:name>SharedCertAuth</maml:name>
          <maml:description>
            <maml:para>Gets or sets the SharedCertificateAuthority (SCA) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreCN -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreCN</maml:name>
          <maml:description>
            <maml:para>Gets or sets the 'Ignore Common Name' mode for SharedCertificateAuthority (SCA) while adding the route.</maml:para>
            <maml:para>The "CommonName" of the certificate must correspond to the name used when establishing the connection in the certificate. This behavior can be deactivated by this option.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RoutesSSC -->
      <command:syntaxItem>
        <maml:name>Add-AdsRoute</maml:name>
        <!-- Parameter: Credential -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
            <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route,TargetRoute">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The input Ads Routes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SelfSigned -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SSC">
          <maml:name>SelfSigned</maml:name>
          <maml:description>
            <maml:para>Gets or sets the SelfSigned (SSC) mode for adding the route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the route is added.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DestinationCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DestinationCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: FingerPrint -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>FingerPrint</maml:name>
          <maml:description>
            <maml:para>The Fingerprint used for adding the route. This parameter can be used when the parameter '-SelfSigned' is set. If specified, the found OnlineTarget will be checked against this fingerprint. If not specified, the 'Add-AdsRoute' Cmdlet doesn't check the fingerprint, always adding the route. Using the fingerprint means that only single routes can be added, multi-adding routes with fingerprint is not supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: HostName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>HostName</maml:name>
          <maml:description>
            <maml:para>If set, the route will be registered as HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Nat -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Nat</maml:name>
          <maml:description>
            <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Temporary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Temporary</maml:name>
          <maml:description>
            <maml:para>If set, the Route will be registered as temporary route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unidirectional -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unidirectional</maml:name>
          <maml:description>
            <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Name -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The name of the route(s) to add. If the Routes address is ambiguous and more than one route will be found online for adding then the route names will be numbered to be distinct. Without setting this parameter, the default route name will be its Computername / Hostname.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="0" aliases="TargetAddress">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address for the ADS route. This can be the RouteName, NetId, the HostName or the IPAddress.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="0" aliases="TargetAddress">
        <maml:name>TargetAddress</maml:name>
        <maml:description>
          <maml:para>The address for the ADS route. This can be the RouteName, NetId, the HostName or the IPAddress.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="TargetNetId">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The AmsNetID for the ADS route to add. If no further IPAddress or HostName is specified with the -IPOrHostName parameter, a broadcast search is triggered to find an online device. If a single sided route should be added, specify the IPAddress or HostName Parameter in combination with -RemotePersistance:None and without -Credential.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="TargetNetId">
        <maml:name>TargetNetId</maml:name>
        <maml:description>
          <maml:para>The AmsNetID for the ADS route to add. If no further IPAddress or HostName is specified with the -IPOrHostName parameter, a broadcast search is triggered to find an online device. If a single sided route should be added, specify the IPAddress or HostName Parameter in combination with -RemotePersistance:None and without -Credential.</maml:para>
          <maml:para>This is an alias of the NetId parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: IPOrHostName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IPOrHostName</maml:name>
        <maml:description>
          <maml:para>The HostName Address of the target route or the IPAddress. Because the HostName or IPAddress is necessary in addition to the NetId for a functional route, the Add-AdsRoute Cmdlet tries to detect the HostName/IPAddress via a Broadcast search in the Network when it is not specified. That means the target must be available and reachable within the network in that case. If not the Add-AdsRoute Cmdlet will fail. If the IP or HostName in combination with the -NetId is specified, the target availability is not necessary and Add-Route will register the Route whatever is specified as address.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: RemotePersistance -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RemotePersistance</maml:name>
        <maml:description>
          <maml:para>The persistance type of the remmote route. None/Server means no remote route will be created. Other valid values are 'Static' or 'Temporary'</maml:para>
          <maml:para>Possible values: None, Server, Temporary, Static</maml:para>
        </maml:description>
        <command:parameterValue required="true">RoutePersistanceType</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.RoutePersistanceType</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Static</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Server</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Temporary</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Static</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
      <!-- Parameter: BroadcastTimeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>BroadcastTimeout</maml:name>
        <maml:description>
          <maml:para>(Broadcast) Search Timeout for searching the unregistered target in seconds (Default 0, Dynamic detection).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route,TargetRoute">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The input Ads Routes.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route,TargetRoute">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The input Ads Routes.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Route,TargetRoute">
        <maml:name>TargetRoute</maml:name>
        <maml:description>
          <maml:para>The input Ads Routes.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Destination -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The Destination Address, where the route is added.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DestinationCredential -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DestinationCredential</maml:name>
        <maml:description>
          <maml:para>The credentials of the destination system, where to add the route. Local system by default.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Credential -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
          <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
        <maml:name>TargetCredential</maml:name>
        <maml:description>
          <maml:para>Credentials of the route to be added to the destination system. This parameter is only necessary, when a bidirectional route will be added. When specifying</maml:para>
          <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          <maml:para>This is an alias of the Credential parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>The BinaryKey can be used instead of the credential Password on SecureSettings.PreSharedKeys (PSK). There is no function for this parameter on other security settings.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: BinaryKey -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>BinaryKey</maml:name>
        <maml:description>
          <maml:para>The BinaryKey can be used instead of the credential Password on SecureSettings.PreSharedKeys (PSK). There is no function for this parameter on other security settings.</maml:para>
        </maml:description>
        <command:parameterValue required="true">byte[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Byte[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: HostName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>HostName</maml:name>
        <maml:description>
          <maml:para>If set, the route will be registered as HostName</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Temporary -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Temporary</maml:name>
        <maml:description>
          <maml:para>If set, the Route will be registered as temporary route.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: SelfSigned -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SSC">
        <maml:name>SelfSigned</maml:name>
        <maml:description>
          <maml:para>Gets or sets the SelfSigned (SSC) mode for adding the route.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SSC">
        <maml:name>SSC</maml:name>
        <maml:description>
          <maml:para>Gets or sets the SelfSigned (SSC) mode for adding the route.</maml:para>
          <maml:para>This is an alias of the SelfSigned parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: FingerPrint -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>FingerPrint</maml:name>
        <maml:description>
          <maml:para>The Fingerprint used for adding the route. This parameter can be used when the parameter '-SelfSigned' is set. If specified, the found OnlineTarget will be checked against this fingerprint. If not specified, the 'Add-AdsRoute' Cmdlet doesn't check the fingerprint, always adding the route. Using the fingerprint means that only single routes can be added, multi-adding routes with fingerprint is not supported.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PreSharedKey -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="PSK">
        <maml:name>PreSharedKey</maml:name>
        <maml:description>
          <maml:para>Gets or sets the PreSharedKey (PSK) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="PSK">
        <maml:name>PSK</maml:name>
        <maml:description>
          <maml:para>Gets or sets the PreSharedKey (PSK) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          <maml:para>This is an alias of the PreSharedKey parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: SharedCertAuth -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SCA">
        <maml:name>SharedCertAuth</maml:name>
        <maml:description>
          <maml:para>Gets or sets the SharedCertificateAuthority (SCA) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SCA">
        <maml:name>SCA</maml:name>
        <maml:description>
          <maml:para>Gets or sets the SharedCertificateAuthority (SCA) mode for adding the route. Because a valid certificate is expected at the target, it is not necessary to enter credentials.</maml:para>
          <maml:para>This is an alias of the SharedCertAuth parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IgnoreCN -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IgnoreCN</maml:name>
        <maml:description>
          <maml:para>Gets or sets the 'Ignore Common Name' mode for SharedCertificateAuthority (SCA) while adding the route.</maml:para>
          <maml:para>The "CommonName" of the certificate must correspond to the name used when establishing the connection in the certificate. This behavior can be deactivated by this option.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Unidirectional -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Unidirectional</maml:name>
        <maml:description>
          <maml:para>Gets or sets the unidirectional setting. The Unidirectional setting registers the ADS Route as 'one-way' channel. That means that the engineering/source system (thats where the route request is initiated) can send requests to the remote target, but not in the opposite direction.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Nat -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Nat</maml:name>
        <maml:description>
          <maml:para>The 'Nat' parameter sets the local representation of the routes AmsNetId. All (local) addressing to this netId will be translated to the remote/network AmsAddress of the route. If using the '-Nat' parameter, the 'Add-AdsRoute' Cmdlet is limited to single route additions. Multi-adding is not supported. This Parameter can be used with TwinCAT Versions &gt;= 3.1.4024.11.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: PassThru -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>If the passthrough parameter is set, the successfully created route will be returned as object. By default, this Cmdlet will not create any output.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The input Ads Routes.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>&gt; Get-AdsRoute -All -name "Tc3*"
 
Name NetId Address Sub TcVersion RTSystem
---- ----- ------- --- --------- --------
TC3TestA1-CP67x 172.17.62.105.1.1 172.17.62.105 3.1.4021 Win7
TC3Test13-C6650 192.168.0.239.1.1 172.17.62.156 2.11.2246 Win7
 
 
PS&gt; $cred = Get-Credential -Message "Get Credentials" -UserName "UserName"
 
PS&gt; Add-AdsRoute -Credential $cred -Address "TC3TestA1-CP67x" -temporary -passthru
 
Name NetId Address Sub TcVersion RTSystem
---- ----- ------- --- --------- --------
TC3TestA1-CP67x 172.17.62.105.1.1 172.17.62.105 3.1.4021 Win7
 
PS&gt; Get-AdsRoute -name "TC3TestA1-CP67x" | Test-AdsRoute</dev:code>
        <dev:remarks>
          <maml:para>Search for Systems that start with the name "TC3*", then asks the user for Credentials and adds the Route as 'temporary' (with TC2 compatible security, clear text password). Afterwards, the connection is checked via 'Test-AdsRoute'.</maml:para>
          <maml:para>The route is specified by its name (ComputerName). To find out the address of the route an under the hood broadcast search is necessary what means that the target system must be online available in the network.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>&gt; Add-AdsRoute -name Test -NetId 1.2.3.4.1.1 -IPOrHostName 1.2.3.4</dev:code>
        <dev:remarks>
          <maml:para>Adds a Route named 'Test' to the local routes with the specified NetId and IPAddress. Because NetId and IPOrHostName are defined AND no credentials are set, this route is added locally only.</maml:para>
          <maml:para>Be aware that to get the route functional, the target system must define the backroute.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>&gt; Get-AdsRoute -All -name "Tc3*"
 
Name NetId Address Sub TcVersion RTSystem
---- ----- ------- --- --------- --------
TC3TestA1-CP67x 172.17.62.105.1.1 172.17.62.105 3.1.4021 Win7
TC3Test13-C6650 192.168.0.239.1.1 172.17.62.156 2.11.2246 Win7
 
 
PS&gt; $cred = Get-Credential -Message "Get Credentials" -UserName "UserName"
 
PS&gt; Add-AdsRoute -Credential $cred -Address "TC3TestA1-CP67x" -selfSigned -passthru
 
Name NetId Address Sub TcVersion RTSystem
---- ----- ------- --- --------- --------
TC3TestA1-CP67x 172.17.62.105.1.1 172.17.62.105 3.1.4021 Win7
 
PS&gt; Get-AdsRoute -name "TC3TestA1-CP67x" | Test-AdsRoute</dev:code>
        <dev:remarks>
          <maml:para>Search for Systems that start with the name "TC3*", then asks the user for Credentials and adds the Route with 'SelfSigned' AdsSecure settings. Afterwards, the connection is checked via 'Test-AdsRoute'.</maml:para>
          <maml:para>The route is specified by its name (ComputerName). To find out the address of the route an under the hood broadcast search is necessary what means that the target system must be online available in the network.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 4 ----------</maml:title>
        <dev:code>PS&gt; Add-AdsRoute -Address 172.17.62.105 -sca -passthru
 
Name NetId Address Sub TcVersion RTSystem
---- ----- ------- --- --------- --------
TC3TestA1-CP67x 172.17.62.105.1.1 172.17.62.105 3.1.4021 Win7</dev:code>
        <dev:remarks>
          <maml:para>Searches for the system with the specified IPAddress, and add the Route with Shared Certification Authority settings without password. The precondition is, that valid certificates are already established on both (engineering and remote) systems, within their StaticRoutes.xml files.</maml:para>
          <maml:para>The route is specified by its Address only. Because the NetId is missing a broadcast search is necessary what means that the target system must be online available in the network.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 5 ----------</maml:title>
        <dev:code>PS&gt; $cred = Get-Credential -Message "Get Credentials" -UserName "UserName"
 
PS&gt; Add-AdsRoute -Credential $cred -NetId 172.17.62.105 -Nat 1.2.3.4.1.1
 
Name NetId Address Sub TcVersion RTSystem
--------------- ----------- ------------- --- --------- ------------
TC3TestA1-CP67x 1.2.3.4.1.1 172.17.62.105 3.1.4024 Win10 (2004)</dev:code>
        <dev:remarks>
          <maml:para>Add a route with a local network address translation (NAT AmsNetId) to project a remote AmsNetId (RemoteNetId) locally to a different address.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 6 ----------</maml:title>
        <dev:code>Add-AdsRoute -name "TestRoute" -NetId 1.2.3.4.1.1 -IPOrHostName 1.2.3.4 -Temporary -RemotePersistance None</dev:code>
        <dev:remarks>
          <maml:para>Adding a route 'TestRoute' single sided and temporary only to the local system. The remote device doesn't need to be online.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 7 ----------</maml:title>
        <dev:code>PS&gt; $route = get-adsroute CX_01234 -all
PS&gt; $route
 
Name NetId TLS Address FingerPrint
---- ----- --- ------- -----------
CX_01234 192.168.0.197.1.1 X 192.168.0.197 7835dae7a079c4f296c84109b2e6d7156b66e6bcc39e386c3576d7535…
 
PS&gt; $route | add-adsroute -SharedCertAuth -IgnoreCN -passthru
 
Name NetId TLS Address FingerPrint
---- ----- --- ------- -----------
CX_01234 192.168.0.197.1.1 X 192.168.0.197 7835dae7a079c4f296c84109b2e6d7156b66e6bcc39e386c3576d7535…</dev:code>
        <dev:remarks>
          <maml:para>Broadcast search for a Device with Hostname CX_01234 and adding of a ADSSecure route via 'Shared Certificate Authority' (SCA) to the local system. Both systems must contain certificates derived from the same root CA certificate.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 8 ----------</maml:title>
        <dev:code>PS&gt; $cred = get-credential
UserName: MyUser
Password: ********
 
PS&gt; $route = get-adsroute CX_01234 -all
PS&gt; $route
 
Name NetId TLS Address FingerPrint
---- ----- --- ------- -----------
CX_01234 192.168.0.197.1.1 X 192.168.0.197 7835dae7a079c4f296c84109b2e6d7156b66e6bcc39e386c3576d7535…
 
PS&gt; $route | add-adsroute -PreSharedKey -Credential $cred
 
Name NetId TLS Address FingerPrint
---- ----- --- ------- -----------
CX_01234 192.168.0.197.1.1 X 192.168.0.197 7835dae7a079c4f296c84109b2e6d7156b66e6bcc39e386c3576d7535…</dev:code>
        <dev:remarks>
          <maml:para>Broadcast search for a Device with Hostname CX_01234 and adding of a ADSSecure route via 'Preshared key' (UserName, Password) to the local system. The target system must already contain the preshared key configuration (as Psk Identity/Password) in its StaticRoutes.xml configuration file.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 9 ----------</maml:title>
        <dev:code>PS&gt; $route = get-adsroute CX_01234 -all
PS&gt; $route
 
Name NetId TLS Address FingerPrint
---- ----- --- ------- -----------
CX_01234 192.168.0.197.1.1 X 192.168.0.197 7835dae7a079c4f296c84109b2e6d7156b66e6bcc39e386c3576d7535…
 
PS&gt; $route | add-adsroute -PreSharedKey -Identity MyUser -BinaryKey 1,2,3,4,5,6,7,8,9,0xa,0xb,0xc,0xd,0xe,0xf
 
Name NetId TLS Address FingerPrint
---- ----- --- ------- -----------
CX_01234 192.168.0.197.1.1 X 192.168.0.197 7835dae7a079c4f296c84109b2e6d7156b66e6bcc39e386c3576d7535…</dev:code>
        <dev:remarks>
          <maml:para>Broadcast search for a Device with Hostname CX_01234 and adding of a ADSSecure route via 'Preshared key' (Identity, BinaryKey) to the local system. The target system must already contain the preshared key configuration (as Psk Identity/BinaryKey) in its StaticRoutes.xml configuration file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-AdsRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-AdsRoute</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AdsRoute</command:noun>
      <maml:description>
        <maml:para>List routes on a TwinCAT System / Broadcast search.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet can list the routes configured on a TwinCAT local/remote system, or start determining all TwinCAT Systems within the current subnet.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Broadcast -->
      <command:syntaxItem>
        <maml:name>Get-AdsRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Name / Address of the route to get. The address of the route can be coded as NetId, the HostName or the IPAddress in string representation. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: All -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Broadcast">
          <maml:name>All</maml:name>
          <maml:description>
            <maml:para>Broadcast switch. If activated a broadcast search is triggered within the local network. The search can be constrained additionally by the -Address/-Name parameter. Searching by Address (direct access of targets if no wildcards, otherwise using Broadcast search): - HostName: Searching the target by dns resolution and then via IP (fallback broadcast search filtering DeviceName/Hostname, not working over subnets!) - IPAddress: Directly accessing via IP (works also over subnets) - AmsNetId: Working via Broadcast search (not working over subnet segments!) Searching by Name: Works always via Broadcast search, wildcards permitted</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BroadcastTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BroadcastTimeout</maml:name>
          <maml:description>
            <maml:para>(Broadcast) Search Timeout in Seconds (Default 0 Seconds) 0 Seconds means that the Length of the search operation will be determined dynamically. If for a longer period no targets are arriving.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>If set, the broadcast search won't use cached routes. The Route will be determined by broadcast always. Only available with the -All parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The Destination address specifies the target, where the the routes are determined. Use this to get the registered routes of a remote system. The Destination system can be specified by RouteName (route name on local system), AmsNetId, IPAddress or HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NetAdapter -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetAdapter</maml:name>
          <maml:description>
            <maml:para>The Network adapter name of the NetworkAdapter to use. By default e.g. Broadcast searches go out via all active Network adapters. This parameter can be use to restrict this.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: GetRoutes -->
      <command:syntaxItem>
        <maml:name>Get-AdsRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Name / Address of the route to get. The address of the route can be coded as NetId, the HostName or the IPAddress in string representation. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Access -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Access</maml:name>
          <maml:description>
            <maml:para>Defines the strategy how to get the remote routes. Valid methods are 'Merged', 'Actual', 'Configuration', 'Registry'. The default value is 'Default' / 'Merged'</maml:para>
            <maml:para>Possible values: None, Actual, Registry, Configured, Merged, Default</maml:para>
          </maml:description>
          <command:parameterValue required="true">RouteAccessType</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.RouteAccessType</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Merged</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Actual</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Registry</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Configured</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Merged</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Default</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: BroadcastTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BroadcastTimeout</maml:name>
          <maml:description>
            <maml:para>(Broadcast) Search Timeout in Seconds (Default 0 Seconds) 0 Seconds means that the Length of the search operation will be determined dynamically. If for a longer period no targets are arriving.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>If set, the broadcast search won't use cached routes. The Route will be determined by broadcast always. Only available with the -All parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The Destination address specifies the target, where the the routes are determined. Use this to get the registered routes of a remote system. The Destination system can be specified by RouteName (route name on local system), AmsNetId, IPAddress or HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: LocalSystem -->
      <command:syntaxItem>
        <maml:name>Get-AdsRoute</maml:name>
        <!-- Parameter: Local -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Self">
          <maml:name>Local</maml:name>
          <maml:description>
            <maml:para>If set, the local system route will be returned. By default a list of the actual registered routes will be returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The Destination address specifies the target, where the the routes are determined. Use this to get the registered routes of a remote system. The Destination system can be specified by RouteName (route name on local system), AmsNetId, IPAddress or HostName</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: All -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Broadcast">
        <maml:name>All</maml:name>
        <maml:description>
          <maml:para>Broadcast switch. If activated a broadcast search is triggered within the local network. The search can be constrained additionally by the -Address/-Name parameter. Searching by Address (direct access of targets if no wildcards, otherwise using Broadcast search): - HostName: Searching the target by dns resolution and then via IP (fallback broadcast search filtering DeviceName/Hostname, not working over subnets!) - IPAddress: Directly accessing via IP (works also over subnets) - AmsNetId: Working via Broadcast search (not working over subnet segments!) Searching by Name: Works always via Broadcast search, wildcards permitted</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Broadcast">
        <maml:name>Broadcast</maml:name>
        <maml:description>
          <maml:para>Broadcast switch. If activated a broadcast search is triggered within the local network. The search can be constrained additionally by the -Address/-Name parameter. Searching by Address (direct access of targets if no wildcards, otherwise using Broadcast search): - HostName: Searching the target by dns resolution and then via IP (fallback broadcast search filtering DeviceName/Hostname, not working over subnets!) - IPAddress: Directly accessing via IP (works also over subnets) - AmsNetId: Working via Broadcast search (not working over subnet segments!) Searching by Name: Works always via Broadcast search, wildcards permitted</maml:para>
          <maml:para>This is an alias of the All parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: BroadcastTimeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>BroadcastTimeout</maml:name>
        <maml:description>
          <maml:para>(Broadcast) Search Timeout in Seconds (Default 0 Seconds) 0 Seconds means that the Length of the search operation will be determined dynamically. If for a longer period no targets are arriving.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NetAdapter -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetAdapter</maml:name>
        <maml:description>
          <maml:para>The Network adapter name of the NetworkAdapter to use. By default e.g. Broadcast searches go out via all active Network adapters. This parameter can be use to restrict this.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="false" globbing="true" pipelineInput="false" position="0" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The Name / Address of the route to get. The address of the route can be coded as NetId, the HostName or the IPAddress in string representation. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="true" pipelineInput="false" position="0" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The Name / Address of the route to get. The address of the route can be coded as NetId, the HostName or the IPAddress in string representation. Wildcards are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Destination address specifies the target, where the the routes are determined. Use this to get the registered routes of a remote system. The Destination system can be specified by RouteName (route name on local system), AmsNetId, IPAddress or HostName</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The Destination address specifies the target, where the the routes are determined. Use this to get the registered routes of a remote system. The Destination system can be specified by RouteName (route name on local system), AmsNetId, IPAddress or HostName</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Access -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Access</maml:name>
        <maml:description>
          <maml:para>Defines the strategy how to get the remote routes. Valid methods are 'Merged', 'Actual', 'Configuration', 'Registry'. The default value is 'Default' / 'Merged'</maml:para>
          <maml:para>Possible values: None, Actual, Registry, Configured, Merged, Default</maml:para>
        </maml:description>
        <command:parameterValue required="true">RouteAccessType</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.RouteAccessType</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Merged</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Actual</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Registry</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Configured</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Merged</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Default</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
      <!-- Parameter: Local -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Self">
        <maml:name>Local</maml:name>
        <maml:description>
          <maml:para>If set, the local system route will be returned. By default a list of the actual registered routes will be returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Self">
        <maml:name>Self</maml:name>
        <maml:description>
          <maml:para>If set, the local system route will be returned. By default a list of the actual registered routes will be returned.</maml:para>
          <maml:para>This is an alias of the Local parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>If set, the broadcast search won't use cached routes. The Route will be determined by broadcast always. Only available with the -All parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-AdsRoute
   
Name NetId Address Sub TcVersion RTSystem
---- ----- ------- --- --------- ---------
CP-15ECA0 172.17.62.128.1.1 172.17.62.178 [UNKNOWN] [UNKNOWN]
CP-15ECA1 172.17.62.105.1.1 172.17.62.105 [UNKNOWN] [UNKNOWN]</dev:code>
        <dev:remarks>
          <maml:para>Lists all registered local routes. Because only the local port 10000 is addressed, the TcVersion and RTSystem is unknown (the Cmdlet doesn't contact the targets and doesn't produce additional roundtrips.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code> PS&gt; get-AdsRoute -All
Name NetId Address Sub Version RTSystem
---- ----- ------- --- ------- --------
CX-1CEEDA 5.16.136.222.1.1 172.17.62.139 3.1.4020 Win7
CX-20BC62 5.32.188.98.1.1 172.17.62.90 3.1.4020 CE6.0
CX-10A87B 5.16.168.123.1.1 172.17.62.140 2.11.2254 CE7.0
CP-15ECA0 172.17.62.128.1.1 172.17.62.178 3.1.4021 Win7
CX-0A7F60 5.10.127.96.1.1 172.17.62.148 3.1.4020 XP
CX2030-B4018 172.17.60.157.1.1 172.17.60.159 2.11.2256 Win7
CP_11BB16 5.17.187.22.1.1 172.17.60.180 2.11.2038 CE6.0
CX-128CE5 172.17.60.165.1.1 172.17.62.191 2.11.2237 CE7.0
CX-124218 5.18.66.24.1.1 172.17.60.192 3.1.4021 Win7
CX-1D82AA 172.17.62.180.1.1 172.17.62.180 3.1.4021 Win8
CX_0AB4F0 5.10.180.240.1.1 172.17.60.195 2.11.2243 XP
CP-1DFA0A 172.17.62.118.1.1 172.17.62.118 3.1.4021 Win7
CX-AF0001 172.17.62.75.1.1 172.17.62.70 3.1.4020 Win10</dev:code>
        <dev:remarks>
          <maml:para>Start a Broadcast search from the local system and lists the devices within the connected network.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code> PS&gt; Get-AdsRoute -Name "Tc3*"
  
 Name NetId Address Sub Version RTSystem
---- ----- ------- --- ------- --------
TC3TESTA1-CP67X 172.17.62.105.1.1 172.17.62.105 0.0 Unknown</dev:code>
        <dev:remarks>
          <maml:para>Get the (actual) route assigned to the local system that has the name pattern "Tc3*"</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 4 ----------</maml:title>
        <dev:code> PS&gt; Get-AdsRoute -All | where TcVersion -lt "3.1.0.0"
Name NetId Address Sub Version RTSystem
---- ----- ------- --- ------- --------
TC3Test17-C6930 172.17.62.98.1.1 172.17.62.98 2.11.2234 Win7
CX2030-B4018 172.17.60.157.1.1 172.17.60.159 2.11.2256 Win7
CX-10A87B 5.16.168.123.1.1 172.17.62.140 2.11.2254 CE7.0
TC3Test13-C6650 172.17.60.239.1.1 172.17.62.156 2.11.2246 Win7
ECATTest01 172.17.61.6.1.1 172.17.61.31 2.11.2239 Win7
CX-128CE5 172.17.60.165.1.1 172.17.62.191 2.11.2237 CE7.0
CX_0AB4F0 5.10.180.240.1.1 172.17.60.195 2.11.2243 XP
CP_11BB16 5.17.187.22.1.1 172.17.60.180 2.11.2038 CE6.0</dev:code>
        <dev:remarks>
          <maml:para>Find out all TwinCAT Systems within the network with Version numbers lower than '3.1.0.0'</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 5 ----------</maml:title>
        <dev:code>PS&gt; $runningAdaptors = @(get-netadapter | Where-Object -Property Status -eq Up)
 
PS&gt; get-AdsRoute -all -NetAdapterName $runningAdaptors[0].Name -verbose
 
VERBOSE: Broadcast search from system 'CX_11111' ...
VERBOSE: Broadcasting over the Network Adapter(s) 'Ethernet 1'
 
Name NetId Protocol TLS Address FingerPrint
---- ----- -------- --- ------- -----------
CX_22222 192.168.0.2.1.1 TcpIP X 192.168.0.2 xxxxxxxxxxx
 
VERBOSE: Broadcast search finished. Found '1' route(s)</dev:code>
        <dev:remarks>
          <maml:para>Determines the first active Network adapter for broadcasting and returns the found targets.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Remove-AdsRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Remove-AdsRoute</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>AdsRoute</command:noun>
      <maml:description>
        <maml:para>Remove an ADS Route.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Removes static or temporary routes from the local system or from remote systems. If access is available, the route is removed on both endpoints of the Route.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Address -->
      <command:syntaxItem>
        <maml:name>Remove-AdsRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="0" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address for the ADS route to remove. This can be the NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credentials -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credentials</maml:name>
          <maml:description>
            <maml:para>Destination system route credentials (only if removing remotely).</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Management.Automation.PSCredential</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The destination address, where to Remove the specified route. This can be the NetId, the HostName or the IPAddress</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Mode -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Mode</maml:name>
          <maml:description>
            <maml:para>The Mode parameter indicates if the Router should be deleted on on side or on both sides (default).</maml:para>
            <maml:para>Possible values: Single, Both</maml:para>
          </maml:description>
          <command:parameterValue required="true">RouteChangeMode</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.RouteChangeMode</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Both</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">Single</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Both</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetId -->
      <command:syntaxItem>
        <maml:name>Remove-AdsRoute</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetID of the route to remove.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credentials -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credentials</maml:name>
          <maml:description>
            <maml:para>Destination system route credentials (only if removing remotely).</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Management.Automation.PSCredential</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The destination address, where to Remove the specified route. This can be the NetId, the HostName or the IPAddress</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Mode -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Mode</maml:name>
          <maml:description>
            <maml:para>The Mode parameter indicates if the Router should be deleted on on side or on both sides (default).</maml:para>
            <maml:para>Possible values: Single, Both</maml:para>
          </maml:description>
          <command:parameterValue required="true">RouteChangeMode</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.RouteChangeMode</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Both</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">Single</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Both</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Remove-AdsRoute</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="0">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>A collection of routes to remove (Pipeline support).</maml:para>
          </maml:description>
          <command:parameterValue required="true">RouteTargetCollection</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.RouteTargetCollection</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credentials -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credentials</maml:name>
          <maml:description>
            <maml:para>Destination system route credentials (only if removing remotely).</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Management.Automation.PSCredential</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The destination address, where to Remove the specified route. This can be the NetId, the HostName or the IPAddress</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Mode -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Mode</maml:name>
          <maml:description>
            <maml:para>The Mode parameter indicates if the Router should be deleted on on side or on both sides (default).</maml:para>
            <maml:para>Possible values: Single, Both</maml:para>
          </maml:description>
          <command:parameterValue required="true">RouteChangeMode</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Management.RouteChangeMode</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Both</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">Single</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Both</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Destination -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The destination address, where to Remove the specified route. This can be the NetId, the HostName or the IPAddress</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="0" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address for the ADS route to remove. This can be the NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="0" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The address for the ADS route to remove. This can be the NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetID of the route to remove.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="0">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>A collection of routes to remove (Pipeline support).</maml:para>
        </maml:description>
        <command:parameterValue required="true">RouteTargetCollection</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.RouteTargetCollection</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Credentials -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Credentials</maml:name>
        <maml:description>
          <maml:para>Destination system route credentials (only if removing remotely).</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>System.Management.Automation.PSCredential</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Mode -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Mode</maml:name>
        <maml:description>
          <maml:para>The Mode parameter indicates if the Router should be deleted on on side or on both sides (default).</maml:para>
          <maml:para>Possible values: Single, Both</maml:para>
        </maml:description>
        <command:parameterValue required="true">RouteChangeMode</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Management.RouteChangeMode</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Both</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">Single</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Both</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.RouteTargetCollection</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>A collection of routes to remove (Pipeline support).</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-AdsRoute
 
Name NetId Address Sub TcVersion RTSystem
---- ----- ------- --- --------- --------
CP-15ECA0 172.17.62.128.1.1 172.17.62.178 0.0 Unknown
TC3TESTA1-CP67X 172.17.62.105.1.1 172.17.62.105 0.0 Unknown
 
PS&gt; Remove-AdsRoute -Name "CP-15ECA0","TC3TESTA1*"</dev:code>
        <dev:remarks>
          <maml:para>Removes the Routes "CP-15ECA0" and "TC3TESTA1-CP67X" from the local system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Get-AdsRoute | Remove-AdsRoute -silent</dev:code>
        <dev:remarks>
          <maml:para>Removes all registered routes from the local system.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Test-AdsRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Test-AdsRoute</command:name>
      <command:verb>Test</command:verb>
      <command:noun>AdsRoute</command:noun>
      <maml:description>
        <maml:para>Test the specified route connection.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet establishes a connection to the specified target system and tests if the connection is working. A Port scan can be executed.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Test-AdsRoute</maml:name>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="0" aliases="Address">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name(s) or address(es) of the systems to test. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port(s) of the target system to test.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of echo/ping requests to send. The default value is 1.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DefaultPorts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DefaultPorts</maml:name>
          <maml:description>
            <maml:para>Tests all default ports. The following ports will be tested: 10000, 300, 301, 302, 303, 501, 801, 811, 821, 831, 850, 851, 852, 853, 854, 855, 19200 The 'DefaultPorts' switch overrides the 'Port' parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>Specifies the interval between pings/tests, in seconds. The default value is 1 Second.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Mode -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Mode</maml:name>
          <maml:description>
            <maml:para>The Ping Strategy (PingStrategy.Ads by default)</maml:para>
            <maml:para>Possible values: None, IP, HostName, IPOrHostName, Ads, AdsGetState, AdsTestConnection, Default</maml:para>
          </maml:description>
          <command:parameterValue required="true">PingStrategy</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.PingStrategy</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Default</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">IP</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">HostName</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">IPOrHostName</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Ads</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">AdsGetState</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">AdsTestConnection</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Default</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: OnlinePorts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>OnlinePorts</maml:name>
          <maml:description>
            <maml:para>Determines all active/online ports from the target and tests them. The 'OnlinePorts' switch overrides the 'DefaultPorts' and 'Port' parameters.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet mode. Returns a boolean only ($true, if one ping succeeded and $false if all failed)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScanSeconds -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="TTL,TimeToLive,TimeoutSeconds">
          <maml:name>ScanSeconds</maml:name>
          <maml:description>
            <maml:para>Sets timeout for each single test request. The test fails if a (single) response isn't received before the timeout expires. The default timeout is 2 seconds.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>2</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SourceRoute -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Source">
          <maml:name>SourceRoute</maml:name>
          <maml:description>
            <maml:para>The source system where to test the Route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">RouteTarget</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.RouteTarget</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetId -->
      <command:syntaxItem>
        <maml:name>Test-AdsRoute</maml:name>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port(s) of the target system to test.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetId(s) of the target system to test (AmsNetId.Local by default)</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of echo/ping requests to send. The default value is 1.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DefaultPorts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DefaultPorts</maml:name>
          <maml:description>
            <maml:para>Tests all default ports. The following ports will be tested: 10000, 300, 301, 302, 303, 501, 801, 811, 821, 831, 850, 851, 852, 853, 854, 855, 19200 The 'DefaultPorts' switch overrides the 'Port' parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>Specifies the interval between pings/tests, in seconds. The default value is 1 Second.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Mode -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Mode</maml:name>
          <maml:description>
            <maml:para>The Ping Strategy (PingStrategy.Ads by default)</maml:para>
            <maml:para>Possible values: None, IP, HostName, IPOrHostName, Ads, AdsGetState, AdsTestConnection, Default</maml:para>
          </maml:description>
          <command:parameterValue required="true">PingStrategy</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.PingStrategy</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Default</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">IP</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">HostName</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">IPOrHostName</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Ads</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">AdsGetState</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">AdsTestConnection</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Default</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: OnlinePorts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>OnlinePorts</maml:name>
          <maml:description>
            <maml:para>Determines all active/online ports from the target and tests them. The 'OnlinePorts' switch overrides the 'DefaultPorts' and 'Port' parameters.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet mode. Returns a boolean only ($true, if one ping succeeded and $false if all failed)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScanSeconds -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="TTL,TimeToLive,TimeoutSeconds">
          <maml:name>ScanSeconds</maml:name>
          <maml:description>
            <maml:para>Sets timeout for each single test request. The test fails if a (single) response isn't received before the timeout expires. The default timeout is 2 seconds.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>2</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SourceRoute -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Source">
          <maml:name>SourceRoute</maml:name>
          <maml:description>
            <maml:para>The source system where to test the Route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">RouteTarget</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.RouteTarget</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Test-AdsRoute</maml:name>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port(s) of the target system to test.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Destination">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The routes targets to test with this Cmdlet.</maml:para>
          </maml:description>
          <command:parameterValue required="true">RouteTargetCollection</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.RouteTargetCollection</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of echo/ping requests to send. The default value is 1.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DefaultPorts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DefaultPorts</maml:name>
          <maml:description>
            <maml:para>Tests all default ports. The following ports will be tested: 10000, 300, 301, 302, 303, 501, 801, 811, 821, 831, 850, 851, 852, 853, 854, 855, 19200 The 'DefaultPorts' switch overrides the 'Port' parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>Specifies the interval between pings/tests, in seconds. The default value is 1 Second.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Mode -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Mode</maml:name>
          <maml:description>
            <maml:para>The Ping Strategy (PingStrategy.Ads by default)</maml:para>
            <maml:para>Possible values: None, IP, HostName, IPOrHostName, Ads, AdsGetState, AdsTestConnection, Default</maml:para>
          </maml:description>
          <command:parameterValue required="true">PingStrategy</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.PingStrategy</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Default</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">IP</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">HostName</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">IPOrHostName</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Ads</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">AdsGetState</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">AdsTestConnection</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Default</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: OnlinePorts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>OnlinePorts</maml:name>
          <maml:description>
            <maml:para>Determines all active/online ports from the target and tests them. The 'OnlinePorts' switch overrides the 'DefaultPorts' and 'Port' parameters.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet mode. Returns a boolean only ($true, if one ping succeeded and $false if all failed)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScanSeconds -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="TTL,TimeToLive,TimeoutSeconds">
          <maml:name>ScanSeconds</maml:name>
          <maml:description>
            <maml:para>Sets timeout for each single test request. The test fails if a (single) response isn't received before the timeout expires. The default timeout is 2 seconds.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>2</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SourceRoute -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Source">
          <maml:name>SourceRoute</maml:name>
          <maml:description>
            <maml:para>The source system where to test the Route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">RouteTarget</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.RouteTarget</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Name -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="0" aliases="Address">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The name(s) or address(es) of the systems to test. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="0" aliases="Address">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The name(s) or address(es) of the systems to test. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
          <maml:para>This is an alias of the Name parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetId(s) of the target system to test (AmsNetId.Local by default)</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The Port(s) of the target system to test.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SourceRoute -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Source">
        <maml:name>SourceRoute</maml:name>
        <maml:description>
          <maml:para>The source system where to test the Route.</maml:para>
        </maml:description>
        <command:parameterValue required="true">RouteTarget</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.RouteTarget</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Source">
        <maml:name>Source</maml:name>
        <maml:description>
          <maml:para>The source system where to test the Route.</maml:para>
          <maml:para>This is an alias of the SourceRoute parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">RouteTarget</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.RouteTarget</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Destination">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The routes targets to test with this Cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="true">RouteTargetCollection</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.RouteTargetCollection</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Destination">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The routes targets to test with this Cmdlet.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">RouteTargetCollection</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.RouteTargetCollection</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Mode -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Mode</maml:name>
        <maml:description>
          <maml:para>The Ping Strategy (PingStrategy.Ads by default)</maml:para>
          <maml:para>Possible values: None, IP, HostName, IPOrHostName, Ads, AdsGetState, AdsTestConnection, Default</maml:para>
        </maml:description>
        <command:parameterValue required="true">PingStrategy</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.PingStrategy</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Default</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">IP</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">HostName</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">IPOrHostName</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Ads</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">AdsGetState</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">AdsTestConnection</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Default</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
      <!-- Parameter: ScanSeconds -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="TTL,TimeToLive,TimeoutSeconds">
        <maml:name>ScanSeconds</maml:name>
        <maml:description>
          <maml:para>Sets timeout for each single test request. The test fails if a (single) response isn't received before the timeout expires. The default timeout is 2 seconds.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>2</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="TTL,TimeToLive,TimeoutSeconds">
        <maml:name>TTL</maml:name>
        <maml:description>
          <maml:para>Sets timeout for each single test request. The test fails if a (single) response isn't received before the timeout expires. The default timeout is 2 seconds.</maml:para>
          <maml:para>This is an alias of the ScanSeconds parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>2</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="TTL,TimeToLive,TimeoutSeconds">
        <maml:name>TimeToLive</maml:name>
        <maml:description>
          <maml:para>Sets timeout for each single test request. The test fails if a (single) response isn't received before the timeout expires. The default timeout is 2 seconds.</maml:para>
          <maml:para>This is an alias of the ScanSeconds parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>2</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="TTL,TimeToLive,TimeoutSeconds">
        <maml:name>TimeoutSeconds</maml:name>
        <maml:description>
          <maml:para>Sets timeout for each single test request. The test fails if a (single) response isn't received before the timeout expires. The default timeout is 2 seconds.</maml:para>
          <maml:para>This is an alias of the ScanSeconds parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>2</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Count -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Count</maml:name>
        <maml:description>
          <maml:para>Specifies the number of echo/ping requests to send. The default value is 1.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Delay -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Delay</maml:name>
        <maml:description>
          <maml:para>Specifies the interval between pings/tests, in seconds. The default value is 1 Second.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DefaultPorts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DefaultPorts</maml:name>
        <maml:description>
          <maml:para>Tests all default ports. The following ports will be tested: 10000, 300, 301, 302, 303, 501, 801, 811, 821, 831, 850, 851, 852, 853, 854, 855, 19200 The 'DefaultPorts' switch overrides the 'Port' parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: OnlinePorts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>OnlinePorts</maml:name>
        <maml:description>
          <maml:para>Determines all active/online ports from the target and tests them. The 'OnlinePorts' switch overrides the 'DefaultPorts' and 'Port' parameters.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet mode. Returns a boolean only ($true, if one ping succeeded and $false if all failed)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The NetId(s) of the target system to test (AmsNetId.Local by default)</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.RouteTargetCollection</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The routes targets to test with this Cmdlet.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Test-AdsRoute -Port 851
 
Name NetId Port Latency Result
                                               (ms)
---- ----- ---- ------- ------
CX-11111 192.168.0.2.1.1 851 3 Ok</dev:code>
        <dev:remarks>
          <maml:para>Test the Port 851 of the local system (PLC 1) for availablity.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Get-AdsRoute | Test-AdsRoute
 
Name NetId Port Latency Result
                                              (ms)
---- ----- ---- ------- ------
CX-11111 192.168.0.2.1.1 10000 4 Ok
CX-22222 192.168.0.3.1.1 10000 Failed
CX-33333 192.168.0.4.1.1 10000 4 Ok</dev:code>
        <dev:remarks>
          <maml:para>Get the locally registered routes and test if they are reachable (on AmsPort 10000)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; Test-AdsRoute -OnlinePorts
 
Name NetId Port Latency Result
                                               (ms)
---- ----- ---- ------- ------
CX-11111 192.168.0.2.1.1 10 0.6 Ok
CX-11111 192.168.0.2.1.1 11 1.3 Ok
CX-11111 192.168.0.2.1.1 12 1.2 Ok
CX-11111 192.168.0.2.1.1 30 3 Ok
CX-11111 192.168.0.2.1.1 131 75 Ok
CX-11111 192.168.0.2.1.1 32829 125 Ok
CX-11111 192.168.0.2.1.1 340 122 Ok
CX-11111 192.168.0.2.1.1 850 171 Ok
CX-11111 192.168.0.2.1.1 32830 174 Ok
CX-11111 192.168.0.2.1.1 351 171 Ok
CX-11111 192.168.0.2.1.1 350 172 Ok
CX-11111 192.168.0.2.1.1 270 219 Ok
CX-11111 192.168.0.2.1.1 851 220 Ok</dev:code>
        <dev:remarks>
          <maml:para>Scans the propagated AmsPorts for the local system.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-AdsState -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-AdsState</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AdsState</command:noun>
      <maml:description>
        <maml:para>Gets the Ads State of a TwinCAT Target.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command let gets the ADS state of a TwinCAT target.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-AdsState</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The Addresses of the target systems, where to get the AdsState.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The AmsPort of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forced Mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The quiet mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>The StateOnly mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-AdsState</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="1">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address(es) where to get the State. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The AmsPort of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forced Mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The quiet mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>The StateOnly mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-AdsState</maml:name>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The AmsPort of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the Cmdlet.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forced Mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The quiet mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>The StateOnly mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Get-AdsState</maml:name>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The AmsPort of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use for the Cmdlet.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forced Mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The quiet mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>The StateOnly mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Get-AdsState</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The target systems, where to get the AdsState from.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The AmsPort of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forced Mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The quiet mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>The StateOnly mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The Addresses of the target systems, where to get the AdsState.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The AmsPort of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>10000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="false" globbing="true" pipelineInput="false" position="1">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address(es) where to get the State. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) to use for the Cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The target systems, where to get the AdsState from.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="1" aliases="Destination,Route">
        <maml:name>Destination,Route</maml:name>
        <maml:description>
          <maml:para>The target systems, where to get the AdsState from.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The quiet mode</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: StateOnly -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>StateOnly</maml:name>
        <maml:description>
          <maml:para>The StateOnly mode</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forced Mode</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The target systems, where to get the AdsState from.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS &gt; Get-AdsState 1.2.3.4.5.6
             
            Name State OK Time (ms) Address
            ---- ----- -- --------- -------
            WORK01 Config True 0 1.2.3.4.5.6</dev:code>
        <dev:remarks>
          <maml:para>Gets the actual AdsState from the remote target with NetId 1.2.3.4.5.6.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Get-AdsState
             
            Name State OK Time (ms) Address
            ---- ----- -- --------- -------
            WORK01 Config True 0 1.2.3.4.5.6</dev:code>
        <dev:remarks>
          <maml:para>Gets the actual AdsState from the Local system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; Get-AdsState 1.2.3.4,CX_0130C7</dev:code>
        <dev:remarks>
          <maml:para>Gets the AdsState of target system with IPAddress 1.2.3.4 and Route name 'CX_0130C7'.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 4 ----------</maml:title>
        <dev:code>PS&gt; get-route | get-adsState
             
            Name State OK Time (ms) Address
            ---- ----- -- --------- -------
            WORK01 Config True 0 1.2.3.4.5.6
            CX_0130C7 Config True 0 5.1.48.199.1.1 </dev:code>
        <dev:remarks>
          <maml:para>Get the current target state from all registered routes.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 5 ----------</maml:title>
        <dev:code>PS&gt; get-adsroute | get-adsstate -port 10000 -stateOnly
            Invalid
            Config</dev:code>
        <dev:remarks>
          <maml:para>Gets the AdsState information from all actual routes.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 6 ----------</maml:title>
        <dev:code>PS&gt; get-adsroute | get-adsstate -port 10000 -quiet
            false
            true</dev:code>
        <dev:remarks>
          <maml:para>Gets availability information from all actual routes.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Set-AdsState -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-AdsState</command:name>
      <command:verb>Set</command:verb>
      <command:noun>AdsState</command:noun>
      <maml:description>
        <maml:para>Writes a AdsState control request to the specified target.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet sets the ADS State of the specified TwinCAT Targets/AdsServers (E.g. Start / Stop / Config / Reconfig/ Reset) For setting the SystemService (Port 10000) please see also the 'Restart-TwinCAT' Cmdlet, which is optimized for that case.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Set-AdsState</maml:name>
        <!-- Parameter: Command -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Command</maml:name>
          <maml:description>
            <maml:para>The state command.</maml:para>
            <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetId address where to set the state (Local system by default). Multiple values are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>Port Address of the AdsServer where to set the state (Port 10000, SystemService by default)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReinit -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReinit</maml:name>
          <maml:description>
            <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoWait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoWait</maml:name>
          <maml:description>
            <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PollingRate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PollingRate</maml:name>
          <maml:description>
            <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Reinitialize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reinitialize</maml:name>
          <maml:description>
            <maml:para>This parameter is obsolete and will be removed in future versions. Please use -NoReinit instead. This parameter forces the reinitialization of the target. It is the opposite of the -NoReinit parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>The StateOnly mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThrowError -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ThrowError</maml:name>
          <maml:description>
            <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default Timeout (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Set-AdsState</maml:name>
        <!-- Parameter: Command -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Command</maml:name>
          <maml:description>
            <maml:para>The state command.</maml:para>
            <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address of the system where to set the state. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards and multiple values are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>Port Address of the AdsServer where to set the state (Port 10000, SystemService by default)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReinit -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReinit</maml:name>
          <maml:description>
            <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoWait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoWait</maml:name>
          <maml:description>
            <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PollingRate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PollingRate</maml:name>
          <maml:description>
            <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Reinitialize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reinitialize</maml:name>
          <maml:description>
            <maml:para>This parameter is obsolete and will be removed in future versions. Please use -NoReinit instead. This parameter forces the reinitialization of the target. It is the opposite of the -NoReinit parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>The StateOnly mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThrowError -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ThrowError</maml:name>
          <maml:description>
            <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default Timeout (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Set-AdsState</maml:name>
        <!-- Parameter: Command -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Command</maml:name>
          <maml:description>
            <maml:para>The state command.</maml:para>
            <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>Target route(s), where to set the state. Multiple values are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>Port Address of the AdsServer where to set the state (Port 10000, SystemService by default)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReinit -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReinit</maml:name>
          <maml:description>
            <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoWait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoWait</maml:name>
          <maml:description>
            <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PollingRate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PollingRate</maml:name>
          <maml:description>
            <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Reinitialize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reinitialize</maml:name>
          <maml:description>
            <maml:para>This parameter is obsolete and will be removed in future versions. Please use -NoReinit instead. This parameter forces the reinitialization of the target. It is the opposite of the -NoReinit parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>The StateOnly mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThrowError -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ThrowError</maml:name>
          <maml:description>
            <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default Timeout (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Set-AdsState</maml:name>
        <!-- Parameter: Command -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Command</maml:name>
          <maml:description>
            <maml:para>The state command.</maml:para>
            <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The ADS Session to use for the Cmdlet. Multiple sessions are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReinit -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReinit</maml:name>
          <maml:description>
            <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoWait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoWait</maml:name>
          <maml:description>
            <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PollingRate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PollingRate</maml:name>
          <maml:description>
            <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Reinitialize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reinitialize</maml:name>
          <maml:description>
            <maml:para>This parameter is obsolete and will be removed in future versions. Please use -NoReinit instead. This parameter forces the reinitialization of the target. It is the opposite of the -NoReinit parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>The StateOnly mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThrowError -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ThrowError</maml:name>
          <maml:description>
            <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default Timeout (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Set-AdsState</maml:name>
        <!-- Parameter: Command -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Command</maml:name>
          <maml:description>
            <maml:para>The state command.</maml:para>
            <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use for the Cmdlet (multiple values are allowed)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReinit -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReinit</maml:name>
          <maml:description>
            <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoWait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoWait</maml:name>
          <maml:description>
            <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PollingRate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PollingRate</maml:name>
          <maml:description>
            <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Reinitialize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reinitialize</maml:name>
          <maml:description>
            <maml:para>This parameter is obsolete and will be removed in future versions. Please use -NoReinit instead. This parameter forces the reinitialization of the target. It is the opposite of the -NoReinit parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>The StateOnly mode</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThrowError -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ThrowError</maml:name>
          <maml:description>
            <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default Timeout (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Command -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>Command</maml:name>
        <maml:description>
          <maml:para>The state command.</maml:para>
          <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
        </maml:description>
        <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetId address where to set the state (Local system by default). Multiple values are allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>Port Address of the AdsServer where to set the state (Port 10000, SystemService by default)</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>10000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>Target route(s), where to set the state. Multiple values are allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>Target route(s), where to set the state. Multiple values are allowed.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>Target route(s), where to set the state. Multiple values are allowed.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address of the system where to set the state. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards and multiple values are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The address of the system where to set the state. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards and multiple values are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The ADS Session to use for the Cmdlet. Multiple sessions are allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) to use for the Cmdlet (multiple values are allowed)</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: StateOnly -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>StateOnly</maml:name>
        <maml:description>
          <maml:para>The StateOnly mode</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default Timeout (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: WaitTimeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WaitTimeout</maml:name>
        <maml:description>
          <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PollingRate -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PollingRate</maml:name>
        <maml:description>
          <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ThrowError -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ThrowError</maml:name>
        <maml:description>
          <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NoReinit -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NoReinit</maml:name>
        <maml:description>
          <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Reinitialize -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Reinitialize</maml:name>
        <maml:description>
          <maml:para>This parameter is obsolete and will be removed in future versions. Please use -NoReinit instead. This parameter forces the reinitialization of the target. It is the opposite of the -NoReinit parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>True</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NoWait -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NoWait</maml:name>
        <maml:description>
          <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Target route(s), where to set the state. Multiple values are allowed.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The ADS Session to use for the Cmdlet. Multiple sessions are allowed.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Set-AdsState -port 851 -command Run -force
 
Ok Target NetId Port ErrorCode Requested Original Reached Latency (ms)
-- ------ ----- ---- --------- --------- -------- ------- ------------
X CX-11111 1.1.1.1.1.1 851 NoError Run Stop Run 293</dev:code>
        <dev:remarks>
          <maml:para>Sets the Local PLC on port 851 to RUN. The ‘X’ in the ‘Ok’ Column indicates the success.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Set-AdsState -port 10000 -command Reset -force
 
Ok Target NetId Port ErrorCode Requested Original Reached Latency(ms)
-- ------ ----- ---- --------- --------- -------- ------- ------------
X MySystem 172.168.0.1.1.1 10000 NoError Reset Run Run 5007</dev:code>
        <dev:remarks>
          <maml:para>Restart the local System Service</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; $r = get-AdsRoute
PS&gt; Set-AdsState -port 851 -command Run -InputObject $r -force
 
Ok Target NetId Port ErrorCode Requested Original Reached Latency (ms)
-- ------ ----- ---- --------- --------- -------- ------- ------------
X CX-11111 1.1.1.1.1.1 851 NoError Run Stop Run 293
X CX-22222 1.1.1.2.1.1 851 NoError Run Stop Run 357
X CX-22222 1.1.1.3.1.1 851 NoError Run Stop Run 218
X CX-22222 1.1.1.4.1.1 851 NoError Run Stop Run 324</dev:code>
        <dev:remarks>
          <maml:para>Start the PLC on all registered target systems.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Add-AdsSubRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Add-AdsSubRoute</command:name>
      <command:verb>Add</command:verb>
      <command:noun>AdsSubRoute</command:noun>
      <maml:description>
        <maml:para>Adds a SubRoute to a target via a Gateway system.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>If two logical ADS Devices are in different (Sub)Networks of an heterogeneous network they can communicate via gateway system that connects both network segments. The gateway must be reachable from each of the ADS Devices. To enable communication via gateway the concept of so called ADS SubRoutes is used. A common user scenario is that this service engeneering system should be connected to machine devices via a gateway PC. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway PC (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX). Several communication channels must be announced here on the different devices of the subnetworks. - SourceDevice and TargetDevice must be registered as Route at the Gateway System - SourceDevice has a SubRoute to the TargetDevice (with gateway address) and vice versa. SourceDevice --&gt; Gateway (Route) --&gt; TargetDevice (SubRoute via Gateway) Gateway --&gt; SourceDevice --&gt; TargetDevice TargetDevice --&gt; Gateway (Route) --&gt; SourceDevice (SubRoute via Gateway) Only when this scenario of 6 Routes are registered routes poperly, SourceDevice can contact the TargetDevice and in the opposite direction. The 'AddSubRoute' Cmdlet helps in creating these registration. The Precondition is that the SourceDevice is already registered with the gateway (both directions). From this status on, this Cmdlet help to create the Route Registration from the Gateway to the target device and the registration of the SubRoutes on both ends of the communication channel (SourceDevice, TargetDevice).</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Default -->
      <command:syntaxItem>
        <maml:name>Add-AdsSubRoute</maml:name>
        <!-- Parameter: Source -->
        <command:parameter required="false" globbing="true" pipelineInput="true (ByPropertyName)" position="0">
          <maml:name>Source</maml:name>
          <maml:description>
            <maml:para>Address of the Source of the SubRoute. The Address can consist of NetId, IPAddress or HostName. Wildcards are permitted. The Source system is the system that builds up the (Sub)Route-Connection to the Target System via the gateway. By default this is the Local system that builds up the SubRoute and must exist as Registered route on the current system or be the local system itself. A common user scenario is that this system is the Service Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Gateway -->
        <command:parameter required="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1">
          <maml:name>Gateway</maml:name>
          <maml:description>
            <maml:para>Gets or sets the Gateway System address. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Gateway describes the ADS Device that acts as gateway between two (sub-)networks. This system must be reachable from the source and the target system which means that it is registered as route on the source system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Target -->
        <command:parameter required="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="2">
          <maml:name>Target</maml:name>
          <maml:description>
            <maml:para>The name / address of the target system. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Target system is the system to which the source system builds up the (Sub)Route-Connection via the gateway. A common user scenario is that this system is the Machine Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: GatewayCredential -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>GatewayCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the gateway system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This Parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: TargetCredential -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>TargetCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the target system (e.g. the Machine Device) SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SourceCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>SourceCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the source system (e.g. the Service Device) By default the Local system is used as source system. With this default no credentials are necessary. But if the source system is different from the local system (system where this Cmdlet runs), the credentials of that system must be specified. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: GatewayRoute -->
      <command:syntaxItem>
        <maml:name>Add-AdsSubRoute</maml:name>
        <!-- Parameter: Source -->
        <command:parameter required="false" globbing="true" pipelineInput="true (ByPropertyName)" position="0">
          <maml:name>Source</maml:name>
          <maml:description>
            <maml:para>Address of the Source of the SubRoute. The Address can consist of NetId, IPAddress or HostName. Wildcards are permitted. The Source system is the system that builds up the (Sub)Route-Connection to the Target System via the gateway. By default this is the Local system that builds up the SubRoute and must exist as Registered route on the current system or be the local system itself. A common user scenario is that this system is the Service Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: GatewayRoute -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1">
          <maml:name>GatewayRoute</maml:name>
          <maml:description>
            <maml:para>The Gateway system route. The Gateway describes the ADS Device that acts as gateway between two (sub-)networks. This system must be reachable from the source and the target system which means that it is registered as route on the source system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ConfiguredRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ConfiguredRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Target -->
        <command:parameter required="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="2">
          <maml:name>Target</maml:name>
          <maml:description>
            <maml:para>The name / address of the target system. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Target system is the system to which the source system builds up the (Sub)Route-Connection via the gateway. A common user scenario is that this system is the Machine Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: GatewayCredential -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>GatewayCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the gateway system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This Parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: TargetCredential -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>TargetCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the target system (e.g. the Machine Device) SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SourceCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>SourceCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the source system (e.g. the Service Device) By default the Local system is used as source system. With this default no credentials are necessary. But if the source system is different from the local system (system where this Cmdlet runs), the credentials of that system must be specified. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SourceRoute -->
      <command:syntaxItem>
        <maml:name>Add-AdsSubRoute</maml:name>
        <!-- Parameter: SourceRoute -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="0">
          <maml:name>SourceRoute</maml:name>
          <maml:description>
            <maml:para>The Source Route of the SubRoute. The Source system is the system that builds up the (Sub)Route-Connection to the Target System via the gateway. By default this is the Local system that builds up the SubRoute and must exist as Registered route on the current system or be the local system itself. A common user scenario is that this system is the Service Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
          </maml:description>
          <command:parameterValue required="true">ConfiguredRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ConfiguredRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Gateway -->
        <command:parameter required="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1">
          <maml:name>Gateway</maml:name>
          <maml:description>
            <maml:para>Gets or sets the Gateway System address. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Gateway describes the ADS Device that acts as gateway between two (sub-)networks. This system must be reachable from the source and the target system which means that it is registered as route on the source system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Target -->
        <command:parameter required="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="2">
          <maml:name>Target</maml:name>
          <maml:description>
            <maml:para>The name / address of the target system. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Target system is the system to which the source system builds up the (Sub)Route-Connection via the gateway. A common user scenario is that this system is the Machine Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: GatewayCredential -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>GatewayCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the gateway system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This Parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: TargetCredential -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>TargetCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the target system (e.g. the Machine Device) SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SourceCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>SourceCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the source system (e.g. the Service Device) By default the Local system is used as source system. With this default no credentials are necessary. But if the source system is different from the local system (system where this Cmdlet runs), the credentials of that system must be specified. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteOnly -->
      <command:syntaxItem>
        <maml:name>Add-AdsSubRoute</maml:name>
        <!-- Parameter: SourceRoute -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="0">
          <maml:name>SourceRoute</maml:name>
          <maml:description>
            <maml:para>The Source Route of the SubRoute. The Source system is the system that builds up the (Sub)Route-Connection to the Target System via the gateway. By default this is the Local system that builds up the SubRoute and must exist as Registered route on the current system or be the local system itself. A common user scenario is that this system is the Service Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
          </maml:description>
          <command:parameterValue required="true">ConfiguredRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ConfiguredRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: GatewayRoute -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1">
          <maml:name>GatewayRoute</maml:name>
          <maml:description>
            <maml:para>The Gateway system route. The Gateway describes the ADS Device that acts as gateway between two (sub-)networks. This system must be reachable from the source and the target system which means that it is registered as route on the source system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ConfiguredRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ConfiguredRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Target -->
        <command:parameter required="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="2">
          <maml:name>Target</maml:name>
          <maml:description>
            <maml:para>The name / address of the target system. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Target system is the system to which the source system builds up the (Sub)Route-Connection via the gateway. A common user scenario is that this system is the Machine Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: GatewayCredential -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>GatewayCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the gateway system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This Parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: TargetCredential -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>TargetCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the target system (e.g. the Machine Device) SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SourceCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>SourceCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the source system (e.g. the Service Device) By default the Local system is used as source system. With this default no credentials are necessary. But if the source system is different from the local system (system where this Cmdlet runs), the credentials of that system must be specified. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: GetRoutes -->
      <command:syntaxItem>
        <maml:name>Add-AdsSubRoute</maml:name>
        <!-- Parameter: Target -->
        <command:parameter required="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="2">
          <maml:name>Target</maml:name>
          <maml:description>
            <maml:para>The name / address of the target system. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Target system is the system to which the source system builds up the (Sub)Route-Connection via the gateway. A common user scenario is that this system is the Machine Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: GatewayCredential -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>GatewayCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the gateway system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This Parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: TargetCredential -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>TargetCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the target system (e.g. the Machine Device) SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: BroadcastTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BroadcastTimeout</maml:name>
          <maml:description>
            <maml:para>(BroadCast) Search Timeout timout for searching the unregistered target system in seconds (Default 5s)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>5</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SourceCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>SourceCredential</maml:name>
          <maml:description>
            <maml:para>The credentials of the source system (e.g. the Service Device) By default the Local system is used as source system. With this default no credentials are necessary. But if the source system is different from the local system (system where this Cmdlet runs), the credentials of that system must be specified. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Source -->
      <command:parameter required="false" globbing="true" pipelineInput="true (ByPropertyName)" position="0">
        <maml:name>Source</maml:name>
        <maml:description>
          <maml:para>Address of the Source of the SubRoute. The Address can consist of NetId, IPAddress or HostName. Wildcards are permitted. The Source system is the system that builds up the (Sub)Route-Connection to the Target System via the gateway. By default this is the Local system that builds up the SubRoute and must exist as Registered route on the current system or be the local system itself. A common user scenario is that this system is the Service Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SourceRoute -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="0">
        <maml:name>SourceRoute</maml:name>
        <maml:description>
          <maml:para>The Source Route of the SubRoute. The Source system is the system that builds up the (Sub)Route-Connection to the Target System via the gateway. By default this is the Local system that builds up the SubRoute and must exist as Registered route on the current system or be the local system itself. A common user scenario is that this system is the Service Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
        </maml:description>
        <command:parameterValue required="true">ConfiguredRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ConfiguredRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Gateway -->
      <command:parameter required="true" globbing="true" pipelineInput="true (ByPropertyName)" position="1">
        <maml:name>Gateway</maml:name>
        <maml:description>
          <maml:para>Gets or sets the Gateway System address. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Gateway describes the ADS Device that acts as gateway between two (sub-)networks. This system must be reachable from the source and the target system which means that it is registered as route on the source system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: GatewayRoute -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="1">
        <maml:name>GatewayRoute</maml:name>
        <maml:description>
          <maml:para>The Gateway system route. The Gateway describes the ADS Device that acts as gateway between two (sub-)networks. This system must be reachable from the source and the target system which means that it is registered as route on the source system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ConfiguredRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ConfiguredRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Target -->
      <command:parameter required="true" globbing="true" pipelineInput="true (ByValue, ByPropertyName)" position="2">
        <maml:name>Target</maml:name>
        <maml:description>
          <maml:para>The name / address of the target system. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Target system is the system to which the source system builds up the (Sub)Route-Connection via the gateway. A common user scenario is that this system is the Machine Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: SourceCredential -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
        <maml:name>SourceCredential</maml:name>
        <maml:description>
          <maml:para>The credentials of the source system (e.g. the Service Device) By default the Local system is used as source system. With this default no credentials are necessary. But if the source system is different from the local system (system where this Cmdlet runs), the credentials of that system must be specified. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: GatewayCredential -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
        <maml:name>GatewayCredential</maml:name>
        <maml:description>
          <maml:para>The credentials of the gateway system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This Parameter is mandatory.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: TargetCredential -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
        <maml:name>TargetCredential</maml:name>
        <maml:description>
          <maml:para>The credentials of the target system (e.g. the Machine Device) SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: BroadcastTimeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>BroadcastTimeout</maml:name>
        <maml:description>
          <maml:para>(BroadCast) Search Timeout timout for searching the unregistered target system in seconds (Default 5s)</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>5</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Address of the Source of the SubRoute. The Address can consist of NetId, IPAddress or HostName. Wildcards are permitted. The Source system is the system that builds up the (Sub)Route-Connection to the Target System via the gateway. By default this is the Local system that builds up the SubRoute and must exist as Registered route on the current system or be the local system itself. A common user scenario is that this system is the Service Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ConfiguredRoute</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Source Route of the SubRoute. The Source system is the system that builds up the (Sub)Route-Connection to the Target System via the gateway. By default this is the Local system that builds up the SubRoute and must exist as Registered route on the current system or be the local system itself. A common user scenario is that this system is the Service Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Gets or sets the Gateway System address. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Gateway describes the ADS Device that acts as gateway between two (sub-)networks. This system must be reachable from the source and the target system which means that it is registered as route on the source system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ConfiguredRoute</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Gateway system route. The Gateway describes the ADS Device that acts as gateway between two (sub-)networks. This system must be reachable from the source and the target system which means that it is registered as route on the source system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The name / address of the target system. The Address can consist of NetId, IPAddress or HostName. Wildcards are allowed. The Target system is the system to which the source system builds up the (Sub)Route-Connection via the gateway. A common user scenario is that this system is the Machine Device. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The credentials of the source system (e.g. the Service Device) By default the Local system is used as source system. With this default no credentials are necessary. But if the source system is different from the local system (system where this Cmdlet runs), the credentials of that system must be specified. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX)</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The credentials of the gateway system. SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This Parameter is mandatory.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The credentials of the target system (e.g. the Machine Device) SourceDevice (e.g Service System, engineering) &lt;--&gt; Gateway device (Connects Networks) &lt;--&gt; TargetDevice (e.g. Machine device CX) This parameter is mandatory.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>&gt; $gatewayTemp = Get-AdsRoute -All -name "GatewayPlant1" # Search for GatewaySystem
&gt; $gatewayCred = Get-Credential -User "EngineeringDomain\UserName" -Message "Password Gateway" # Credentials of the Gateway
&gt; $gateway = $gatewayTemp | Add-AdsRoute -Credential $gatewayCred -temporary # Add the Gateway route temporary to the Service PC
  
&gt; $target = "CX_1234" # Host Name of the Machine Controller / Device
&gt; $targetCred = Get-Credential -User "MachineParkDomain\UserName" -Message "Password Target System" # Credentials of the Gateway
 
&gt; Add-AdsSubRoute -GatewayRoute $gateway -GatewayCredential $gatewayCred -Target $target -TargetCredential $targetCred # Add the subroute
 
Name NetId Address Sub TcVersion RTSystem
---- ----- ------- --- --------- --------
CX_1234 172.17.1.2.1.1 172.17.1.2 X 2.11.2246 Win7</dev:code>
        <dev:remarks>
          <maml:para>Search for the gateway system from local service PC, add its route temporarily and add a network segment crossing SubRoute connection to the target system CX_1234.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-AmsNetId -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-AmsNetId</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AmsNetId</command:noun>
      <maml:description>
        <maml:para>Get the local NetId of the TwinCAT System.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet returns the AmsNetId of the local TwinCAT System. For getting more information about the local system the Cmdlets 'Get-AdsRoute -local' or 'Get-TcTargetInfo' can be used.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-AmsNetId</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-AmsNetId
             
            192.168.0.2.1.1</dev:code>
        <dev:remarks>
          <maml:para>Gets the AmsNetId of the Local system.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Set-AmsNetId -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-AmsNetId</command:name>
      <command:verb>Set</command:verb>
      <command:noun>AmsNetId</command:noun>
      <maml:description>
        <maml:para>Sets the AmsNetId of a device.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet configurates the AmsNetId (TargetNetId) of a device. A reboot is necessary after configuration (e.g. with 'Restart-AdsComputer') To contact the target system, it must be available as actual route. All actual connections to that systems via ADS are not valid anymore after calling this Cmdlet.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetId -->
      <command:syntaxItem>
        <maml:name>Set-AmsNetId</maml:name>
        <!-- Parameter: Target -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>Target</maml:name>
          <maml:description>
            <maml:para>NetId of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NewId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
          <maml:name>NewId</maml:name>
          <maml:description>
            <maml:para>The New NetId.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Set-AmsNetId</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NewId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
          <maml:name>NewId</maml:name>
          <maml:description>
            <maml:para>The New NetId.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Set-AmsNetId</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>Target names/addresses where to configure the CPU. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NewId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
          <maml:name>NewId</maml:name>
          <maml:description>
            <maml:para>The New NetId.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Set-AmsNetId</maml:name>
        <!-- Parameter: NewId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
          <maml:name>NewId</maml:name>
          <maml:description>
            <maml:para>The New NetId.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session where to configure the CPU (supports pipeline)</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Set-AmsNetId</maml:name>
        <!-- Parameter: NewId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
          <maml:name>NewId</maml:name>
          <maml:description>
            <maml:para>The New NetId.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) where to configure the CPU Core settings.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Target -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>Target</maml:name>
        <maml:description>
          <maml:para>NetId of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NewId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
        <maml:name>NewId</maml:name>
        <maml:description>
          <maml:para>The New NetId.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>Target names/addresses where to configure the CPU. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Target names/addresses where to configure the CPU. Wildcards are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session where to configure the CPU (supports pipeline)</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) where to configure the CPU Core settings.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session where to configure the CPU (supports pipeline)</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Set-AmsNetId -NewId 1.1.1.1.1.1
 
Changeing AmsNetId of target system.
Change the NetId of system '192.168.0.2.1.1' to '1.1.1.1.1.1'
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y
Changing the NetId of system '192.168.0.2.1.1' to '1.1.1.1.1.1' is succeeded. All preexisting connections to this system a invalid now. A reboot of this system is necessary!</dev:code>
        <dev:remarks>
          <maml:para>Sets the AmsNetId of the Local system to '1.1.1.1.1.1'.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-AmsRouterEndpoint -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-AmsRouterEndpoint</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AmsRouterEndpoint</command:noun>
      <maml:description>
        <maml:para>Get the actual AmsConfiguration / RouterEndpoint of the process.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet returns actual process-wide settings for the AmsConfiguration that define the TCP/IP Loopback Address that is used from the communication between AdsClient/Server and Router locally. For more information please have a look at the SetAmsRouterEndpointCmdlet Cmdlet help.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-AmsRouterEndpoint</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-AmsRouterEndpoint
             
            AddressFamily Address Port
            ------------- ------- ----
            InterNetwork 127.0.0.1 48898</dev:code>
        <dev:remarks>
          <maml:para>Returns the actual Loopback endpoint settings.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Set-AmsRouterEndpoint -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-AmsRouterEndpoint</command:name>
      <command:verb>Set</command:verb>
      <command:noun>AmsRouterEndpoint</command:noun>
      <maml:description>
        <maml:para>Sets the AmsConfiguration (Loopback address and port, RouterEndpoint).</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet sets the AmsConfiguration setting of the current running process. By default the AdsClients and AdsServers are connected to the TwinCAT Router./&gt;</maml:para>
      <maml:para>Actually the this Cmdlet doesn't work properly. Please use the 'AMSROUTER_LOOPBACK_IP', and 'AMSROUTER_LOOPBACK_PORT' environment variables to set the Router Loopback endpoint. The environment variables must be set at the hosting process before the 'TcXaeMgmt' module is loaded! Ideally, this Cmdlet is called first after loading the TcXaeMgmt module to configure the system. The involved communication uses the local Loopback address with port 0xBF02 by default. To enable virtualization scenarios, where AdsClient / AdsServer / Router applications run in their own (virtual) environment, this address has to be changed for the actual running process. This can be done in two different ways: 1.Setting of the following Environment Variables before this Powershell Module (TcXaeMgmt) is loaded: $env:AmsConfiguration:LoopbackAddress = "168.0.1.1" $env:AmsConfiguration:LoopbackPort = "1234" Both Variables are optional 2.Set the AmsConfiguration with the 'Set-AmsRouterEndpoint' Cmdlet. When processing this Cmdlet, all prexisting open AdsSessions will be invalid.&gt; The Default RouterEndpoint is IPAddess:127.0.0.1 and Port 0xBF02.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-AmsRouterEndpoint</maml:name>
        <!-- Parameter: IP -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="0">
          <maml:name>IP</maml:name>
          <maml:description>
            <maml:para>The state/value to set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IPAddress</command:parameterValue>
          <dev:type>
            <maml:name>System.Net.IPAddress</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>127.0.0.1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The state/value to set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>48898</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: IP -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="0">
        <maml:name>IP</maml:name>
        <maml:description>
          <maml:para>The state/value to set.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IPAddress</command:parameterValue>
        <dev:type>
          <maml:name>System.Net.IPAddress</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>127.0.0.1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The state/value to set.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>48898</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS &gt; Set-AmsRouterEndpoint -IP '168.0.1.1' -Port 1234
            Set the process wide RouterEndpoint to IPAddress '168.0.1.1' and port 1234.</dev:code>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-EcBoxes -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-EcBoxes</command:name>
      <command:verb>Get</command:verb>
      <command:noun>EcBoxes</command:noun>
      <maml:description>
        <maml:para>Gets the EtherCAT Boxes actually loaded on the specified target system.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command list the EtherCAT Boxes actually loaded on the target system.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Default -->
      <command:syntaxItem>
        <maml:name>Get-EcBoxes</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The EtherCAT master where to scan the slaves.</maml:para>
          </maml:description>
          <command:parameterValue required="true">EcMaster</command:parameterValue>
          <dev:type>
            <maml:name>EtherCAT.EcMaster</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Configured -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Configured</maml:name>
          <maml:description>
            <maml:para>The List of Configured Boxes will be returned if specified. If not specified, this Cmdlet will return the Online Boxes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Detailed -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Detailed</maml:name>
          <maml:description>
            <maml:para>Reads addional Info fromt he EtherCAT Slave EEPROM (Hw version, FW Version, Manufacturing Date).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>5000</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The EtherCAT master where to scan the slaves.</maml:para>
        </maml:description>
        <command:parameterValue required="true">EcMaster</command:parameterValue>
        <dev:type>
          <maml:name>EtherCAT.EcMaster</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Configured -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Configured</maml:name>
        <maml:description>
          <maml:para>The List of Configured Boxes will be returned if specified. If not specified, this Cmdlet will return the Online Boxes.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>5000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Detailed -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Detailed</maml:name>
        <maml:description>
          <maml:para>Reads addional Info fromt he EtherCAT Slave EEPROM (Hw version, FW Version, Manufacturing Date).</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>EtherCAT.EcMaster</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The EtherCAT master where to scan the slaves.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; $m = Get-EcMaster -NetId 5.62.192.46.1.1
PS&gt; $m | Get-EcBoxes
 
Pos Name Type Port State CrcError FW HW Production
--- ---- ---- ---- ----- --------- -- -- ----------
2 Term 2 (EL1808) EL1808-0000-0018 1001 PreOp A:0,B:0 7 0 2021-5-29
3 Term 3 (EL2088) EL2088-0000-0018 1002 PreOp A:0,B:0 9 0 2021-6-04
4 Term 4 (EL2624) EL2624-0000-0018 1003 PreOp A:0,B:0 12 1 2021-5-25
5 Term 5 (EL3064) EL3064-0000-0020 1004 PreOp A:0,B:0 15 9 2021-6-01
6 Term 6 (EL4004) EL4004-0000-0020 1005 PreOp A:0,B:0 19 4 2021-5-31
7 Term 7 (EL6021) EL6021-0000-0021 1006 PreOp A:0,B:0 13 9 2021-6-01
8 Term 8 (EL9110) EL9110-0000-0018 1007 PreOp A:0,B:0 14 0 2021-5-17
9 Term 9 (EL1004) EL1004-0000-0016 1008 PreOp A:0,B:0 0 0 2000-1-02
10 Term 10 (EL2008) EL2008-0000-0016 1009 PreOp A:0,B:0 0 0 2000-1-02</dev:code>
        <dev:remarks>
          <maml:para>Get the EtherCAT Master from NetID 5.62.192.46.1.1 and scan the connected (online) Boxes below this master</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; $m = Get-EcMaster -NetId 5.62.192.46.1.1
PS&gt; $m | Get-EcBoxes -configured
 
Pos Name Type Port State CrcError FW HW Production
--- ---- ---- ---- ----- ------------ -- -- ----------
2 Term 2 (EL1808) EL1808-0000-0018 1001 PreOp A:0,B:0 7 0 2021-5-29
3 Term 3 (EL2088) EL2088-0000-0018 1002 PreOp A:0,B:0 9 0 2021-6-04
4 Term 4 (EL2624) EL2624-0000-0018 1003 PreOp A:0,B:0 12 1 2021-5-25
5 Term 5 (EL3064) EL3064-0000-0020 1004 PreOp A:0,B:0 15 9 2021-6-01
6 Term 6 (EL4004) EL4004-0000-0020 1005 PreOp A:0,B:0 19 4 2021-5-31
7 Term 7 (EL6021) EL6021-0000-0021 1006 PreOp A:0,B:0 13 9 2021-6-01
8 Term 8 (EL9110) EL9110-0000-0018 1007 PreOp A:0,B:0 14 0 2021-5-17
9 Term 9 (EL1004) EL1004-0000-0016 1008 PreOp A:0,B:0 0 0 2000-1-02
10 Term 10 (EL2008) EL2008-0000-0016 1009 PreOp A:0,B:0 0 0 2000-1-02</dev:code>
        <dev:remarks>
          <maml:para>Get the EtherCAT Master from NetID 5.62.192.46.1.1 and scan the configured Boxes below this master</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-EcFrameStatistics -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-EcFrameStatistics</command:name>
      <command:verb>Get</command:verb>
      <command:noun>EcFrameStatistics</command:noun>
      <maml:description>
        <maml:para>Gets the EtherCAT Frame statistics from an EtherCAT master.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Gets the EtherCAT Frame statistics from an ETherCAT master.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Default -->
      <command:syntaxItem>
        <maml:name>Get-EcFrameStatistics</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The EtherCAT master.</maml:para>
          </maml:description>
          <command:parameterValue required="true">EcMaster</command:parameterValue>
          <dev:type>
            <maml:name>EtherCAT.EcMaster</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of statistic requests (Default is 1)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>Delay in Seconds between requests in Seconds (Default is 1s)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>ADS Communication timeout</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>5000</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The EtherCAT master.</maml:para>
        </maml:description>
        <command:parameterValue required="true">EcMaster</command:parameterValue>
        <dev:type>
          <maml:name>EtherCAT.EcMaster</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>ADS Communication timeout</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>5000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Count -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Count</maml:name>
        <maml:description>
          <maml:para>Specifies the number of statistic requests (Default is 1)</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Delay -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Delay</maml:name>
        <maml:description>
          <maml:para>Delay in Seconds between requests in Seconds (Default is 1s)</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>EtherCAT.EcMaster</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The EtherCAT master.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; $m = Get-EcMaster -NetId 5.62.192.46.1.1
PS&gt; $m | Get-EcFrameStatistics -count 5 -delay 0
 
Frames(1/s) Queued(1/s) Lost(1/s) QueuedLost TotalFrames TotalQueued TotalLost TotalQueued
                                        (1/s)
------------ ------------ ---------- ------------ ----------- ----------- --------- -----------
100 30 0 0 1524222 572157 0 0
100 30 0 0 1524232 572160 0 0
101 40 0 0 1524242 572164 0 0
101 40 0 0 1524252 572168 0 0
99 39 0 0 1524262 572172 0 0</dev:code>
        <dev:remarks>
          <maml:para>Getting the EtherCAT frame statistics of an EtherCAT Master. This example calculates the statistics 5 times with a minimal delay (0).</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-EcMaster -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-EcMaster</command:name>
      <command:verb>Get</command:verb>
      <command:noun>EcMaster</command:noun>
      <maml:description>
        <maml:para>Gets actually loaded EtherCAT Master devices on the target system.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command lists the loaded EtherCAT master devices on the specified target system. The devices must be already loaded and being active on the EtherCAT Network.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-EcMaster</maml:name>
        <!-- Parameter: Id -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>Specifies the DeviceId to scan by the Cmdlet. If not specified, all Devices will be scanned.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>Gets or sets the NetId of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-EcMaster</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address(es) of the target system(s) where to get the EtherCAT Master devices. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Id -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>Specifies the DeviceId to scan by the Cmdlet. If not specified, all Devices will be scanned.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-EcMaster</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Id -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>Specifies the DeviceId to scan by the Cmdlet. If not specified, all Devices will be scanned.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>Gets or sets the NetId of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address(es) of the target system(s) where to get the EtherCAT Master devices. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Id -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>Specifies the DeviceId to scan by the Cmdlet. If not specified, all Devices will be scanned.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code> PS&gt; Get-EcMaster -NetId 5.91.172.198.1.1
 
 ID Name Type DeviceNetId Port Slaves Slaves State PortCrcError
                                                                        (Online) (Config)
 -- ---- ---- ----------- ---- ---------- ---------- ----- ------------
 1 Device 1 (EtherCAT) P06b80001 R00000000 5.91.172.198.2.1 65535 9 9 Op A:0,B:0,C:0,D:0
  
 PS&gt; Get-EcBoxes -InputObject $m
 
Pos Name Type Port State CrcError FW HW Production
--- ---- ---- ---- ----- -------- -- -- ----------
2 Term 2 (EL1808) EL1808-0000-0018 1001 Op A:0,B:0 7 0 2021-5-29
3 Term 3 (EL2088) EL2088-0000-0018 1002 Op A:0,B:0 9 0 2021-6-04
4 Term 4 (EL2624) EL2624-0000-0018 1003 Op A:0,B:0 12 1 2021-5-25
5 Term 5 (EL3064) EL3064-0000-0020 1004 Op A:0,B:0 15 9 2021-6-01
6 Term 6 (EL4004) EL4004-0000-0020 1005 Op A:0,B:0 19 4 2021-5-31
7 Term 7 (EL6021) EL6021-0000-0021 1006 Op A:0,B:0 13 9 2021-6-01
8 Term 8 (EL9110) EL9110-0000-0018 1007 Op A:0,B:0 14 0 2021-5-17
9 Term 9 (EL1004) EL1004-0000-0016 1008 Op A:0,B:0 0 0 2000-1-02
10 Term 10 (EL2008) EL2008-0000-0016 1009 Op A:0,B:0 0 0 2000-1-02</dev:code>
        <dev:remarks>
          <maml:para>Getting EtherCAT master and connected boxes from target system.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-IODevice -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-IODevice</command:name>
      <command:verb>Get</command:verb>
      <command:noun>IODevice</command:noun>
      <maml:description>
        <maml:para>Gets actually loaded IO Devices of the target system.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command lists the actually loaded IO Devices of the target system. The list can be filted by specific Device IDs.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-IODevice</maml:name>
        <!-- Parameter: Id -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>Specifies the DeviceId to scan by the Cmdlet. If not specified, all Devices will be scanned.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The address where to get the device.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-IODevice</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address(es) where to get Devices. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Id -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>Specifies the DeviceId to scan by the Cmdlet. If not specified, all Devices will be scanned.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-IODevice</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Id -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>Specifies the DeviceId to scan by the Cmdlet. If not specified, all Devices will be scanned.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The address where to get the device.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address(es) where to get Devices. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Id -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>Specifies the DeviceId to scan by the Cmdlet. If not specified, all Devices will be scanned.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-IODevice -NetId 5.62.192.46.1.1
 
ID DeviceName DeviceType DeviceNetId BoxesCount
-- ---------- ---------- ----------- ----------
1 Device 1 (EtherCAT) EtherCAT_DirectModeV210 172.16.1.3.2.1 4</dev:code>
        <dev:remarks>
          <maml:para>Getting the IO Devices from NetID 5.62.192.46.1.1</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; (Get-IODevice -Address CX_01234 -Id 1).Boxes
 
ID Name BoxType Port Comment
-- ---- ------- ---- -------
1 Box 1 (IFC2422) EtherCAT_EXXXXX 1001
2 Box 2 (IFC2421m) EtherCAT_EXXXXX 1002
3 Box 3 (IFC2421m1) EtherCAT_EXXXXX 1003
4 Box 4 (IFC2421m2) EtherCAT_EXXXXX 1004</dev:code>
        <dev:remarks>
          <maml:para>Getting the Boxes of Device with Id 1 from the target system with Name/Address CX_01234</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-IoFreeRun -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-IoFreeRun</command:name>
      <command:verb>Get</command:verb>
      <command:noun>IoFreeRun</command:noun>
      <maml:description>
        <maml:para>Gets the IO FreeRun State of the specified target.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command gets the IO FreeRun state of specified target when the target is in config mode. If the target system is not in config mode, a warning is produced.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-IoFreeRun</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The address where to get the free run state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-IoFreeRun</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address(es) where to get the free run state. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-IoFreeRun</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The address where to get the free run state.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address(es) where to get the free run state. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-IoFreeRun -NetId 5.62.192.46.1.1
 
$true</dev:code>
        <dev:remarks>
          <maml:para>Getting the IO FreeRun State from NetID 5.62.192.46.1.1</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Reset-IoFreeRun -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Reset-IoFreeRun</command:name>
      <command:verb>Reset</command:verb>
      <command:noun>IoFreeRun</command:noun>
      <maml:description>
        <maml:para>Resets the IO FreeRun state on the specified target.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Resets the IO FreeRun state on the specified target if its in Config state. If its not in config state an error will be produced</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Reset-IoFreeRun</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>NetId of the target system where to Reset the FreeRun.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Reset-IoFreeRun</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="1">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address(es) where to set the free run. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Reset-IoFreeRun</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>NetId of the target system where to Reset the FreeRun.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="false" globbing="true" pipelineInput="false" position="1">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address(es) where to set the free run. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Reset-IOFreeRun -NetId 5.62.192.46.1.1</dev:code>
        <dev:remarks>
          <maml:para>Reset the IO Free Run mode of the target system with NetID 5.62.192.46.1.1.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Set-IoFreeRun -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-IoFreeRun</command:name>
      <command:verb>Set</command:verb>
      <command:noun>IoFreeRun</command:noun>
      <maml:description>
        <maml:para>Sets the IO FreeRun state of the target.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sets the IO FreeRun state of a TwinCAT target. The target must be in Config mode, otherwise an error will be produced.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Set-IoFreeRun</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The address where to set the TwinCAT FreeRun state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Set-IoFreeRun</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address(es) where to set the TwinCAT FreeRun state. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Set-IoFreeRun</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the Cmdlet</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The address where to set the TwinCAT FreeRun state.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address(es) where to set the TwinCAT FreeRun state. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Set-IOFreeRun -NetId 5.62.192.46.1.1</dev:code>
        <dev:remarks>
          <maml:para>Setting the target system with NetID 5.62.192.46.1.1 to IO FreeRun mode.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Add-MqttRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Add-MqttRoute</command:name>
      <command:verb>Add</command:verb>
      <command:noun>MqttRoute</command:noun>
      <maml:description>
        <maml:para>Adds an MQTT route to the destination system.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet adds an MQTT route to the destination system. To add the route, the Address of a MQTT route must be specified.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Identity -->
      <command:syntaxItem>
        <maml:name>Add-MqttRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Address of the MQTT Broker to add. This can be the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The TCP/IP Port of the MQTT Broker to add.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Topic -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Topic</maml:name>
          <maml:description>
            <maml:para>The MQTT Topic string under which this MQTT Consumer sends/receives data.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Credentials of the Preshared Key Identity.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the MQTT route is added remotely.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IdentityCaseSensitive -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IdentityCaseSensitive</maml:name>
          <maml:description>
            <maml:para>Key will be generated Sha256(Identity+Pwd), Identity in upper case if 'IdentityCaseSensitive' = false - UTF8</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Psk -->
      <command:syntaxItem>
        <maml:name>Add-MqttRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Address of the MQTT Broker to add. This can be the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The TCP/IP Port of the MQTT Broker to add.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Topic -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Topic</maml:name>
          <maml:description>
            <maml:para>The MQTT Topic string under which this MQTT Consumer sends/receives data.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>The identity name used to talk to the MQTT message broker (Preshared Key method).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PreSharedKey -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>PreSharedKey</maml:name>
          <maml:description>
            <maml:para>The Preshared key used togehter with the identity for MQTT message broker communication.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the MQTT route is added remotely.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SCA -->
      <command:syntaxItem>
        <maml:name>Add-MqttRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Address of the MQTT Broker to add. This can be the HostName or the IPAddress.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The TCP/IP Port of the MQTT Broker to add.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Topic -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Topic</maml:name>
          <maml:description>
            <maml:para>The MQTT Topic string under which this MQTT Consumer sends/receives data.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: CA -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>CA</maml:name>
          <maml:description>
            <maml:para>Path to the Certificate Authority file. Certificates of MQTT broker, signed by this CA will be accepted for connection. The file must be already located on the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Cert -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Cert</maml:name>
          <maml:description>
            <maml:para>Path to the public key Certificate (X.509). The file must be already located on the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Key -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Key</maml:name>
          <maml:description>
            <maml:para>Path of the private Key file of the X.509 Certifcate. The file must be already located on the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The Destination Address, where the MQTT route is added remotely.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The Address of the MQTT Broker to add. This can be the HostName or the IPAddress.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="1">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The TCP/IP Port of the MQTT Broker to add.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Topic -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
        <maml:name>Topic</maml:name>
        <maml:description>
          <maml:para>The MQTT Topic string under which this MQTT Consumer sends/receives data.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Destination -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The Destination Address, where the MQTT route is added remotely.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Credential -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Credentials of the Preshared Key Identity.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="TargetCredential">
        <maml:name>TargetCredential</maml:name>
        <maml:description>
          <maml:para>Credentials of the Preshared Key Identity.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that in the current version, tha password is transferred as clear text through the network. Use this only in safe subnetworks.</maml:para>
          <maml:para>This is an alias of the Credential parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: IdentityCaseSensitive -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IdentityCaseSensitive</maml:name>
        <maml:description>
          <maml:para>Key will be generated Sha256(Identity+Pwd), Identity in upper case if 'IdentityCaseSensitive' = false - UTF8</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>The identity name used to talk to the MQTT message broker (Preshared Key method).</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: PreSharedKey -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>PreSharedKey</maml:name>
        <maml:description>
          <maml:para>The Preshared key used togehter with the identity for MQTT message broker communication.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: CA -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>CA</maml:name>
        <maml:description>
          <maml:para>Path to the Certificate Authority file. Certificates of MQTT broker, signed by this CA will be accepted for connection. The file must be already located on the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Cert -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Cert</maml:name>
        <maml:description>
          <maml:para>Path to the public key Certificate (X.509). The file must be already located on the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Key -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Key</maml:name>
        <maml:description>
          <maml:para>Path of the private Key file of the X.509 Certifcate. The file must be already located on the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Add-MqttRoute -Address 1.2.3.4 -port 42</dev:code>
        <dev:remarks>
          <maml:para>Adds the MQTT route to an MQTT Broker system with the IPAddress '1.2.3.4' and Port '42' on the local system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Add-MqttRoute -Address MqttSystem -port 42 -Destination CX_1234</dev:code>
        <dev:remarks>
          <maml:para>Adds the MQTT route on the destination System 'CX_1234' to the MQTT Broker with Address '1.2.3.4' and Port '42'.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-MqttRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-MqttRoute</command:name>
      <command:verb>Get</command:verb>
      <command:noun>MqttRoute</command:noun>
      <maml:description>
        <maml:para>Remove a MQTT Route.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Removes a MQTT Route of the specified system.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-MqttRoute</maml:name>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The destination address, where to Remove the specified Mqtt route. This can be the NetId, the HostName or the IPAddress</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Destination -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The destination address, where to Remove the specified Mqtt route. This can be the NetId, the HostName or the IPAddress</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-MqttRoute -destination CX_1234
Address TcpPort Topic Qos Security
------- ------- ----- --- --------
192.168.2.1 44124 Topic1 TLS
192.200.2.2 44124 Topic2 PSK
192.200.3.3 44124 Topic3 None</dev:code>
        <dev:remarks>
          <maml:para>Gets the MQTT Routes registered on the destination System 'CX_1234'.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Remove-MqttRoute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Remove-MqttRoute</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>MqttRoute</command:noun>
      <maml:description>
        <maml:para>Remove a MQQT Route.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Removes a MQQT Route of the specified system.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Address -->
      <command:syntaxItem>
        <maml:name>Remove-MqttRoute</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The IPAddress or HostName of the Mqtt broker system to remove.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The TCP/IP port specification.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The destination address, where to Remove the specified Mqtt route. This can be the NetId, the HostName or the IPAddress</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteInfo -->
      <command:syntaxItem>
        <maml:name>Remove-MqttRoute</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="MqttRoute">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The Mqtt routes to remove.</maml:para>
          </maml:description>
          <command:parameterValue required="true">MqttRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.SystemService.MqttRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Destination -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>The destination address, where to Remove the specified Mqtt route. This can be the NetId, the HostName or the IPAddress</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The IPAddress or HostName of the Mqtt broker system to remove.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The TCP/IP port specification.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="MqttRoute">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Mqtt routes to remove.</maml:para>
        </maml:description>
        <command:parameterValue required="true">MqttRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.SystemService.MqttRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="MqttRoute">
        <maml:name>MqttRoute</maml:name>
        <maml:description>
          <maml:para>The Mqtt routes to remove.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">MqttRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.SystemService.MqttRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Destination -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The destination address, where to Remove the specified Mqtt route. This can be the NetId, the HostName or the IPAddress</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.SystemService.MqttRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Mqtt routes to remove.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Remove-MqttRoute -address 1.2.3.4 -port 42 -Destination CX_1234</dev:code>
        <dev:remarks>
          <maml:para>Removes the MQTT route on the destination System 'CX_1234' to MQTT Broker with Address '1.2.3.4' and Port '42'.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-RTimeCpuSettings -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-RTimeCpuSettings</command:name>
      <command:verb>Get</command:verb>
      <command:noun>RTimeCpuSettings</command:noun>
      <maml:description>
        <maml:para>Getting the Cpu Settings of the TwinCAT System</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command lists the actually configured Relatime, Windows and Realtime cores of the TwinCAT System.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-RTimeCpuSettings</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The AmsNetId of the Target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-RTimeCpuSettings</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The target address(es) where to get the CPU Settings. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-RTimeCpuSettings</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The AmsNetId of the Target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The target address(es) where to get the CPU Settings. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-RTimeCpuSettings
 
NetId Windows NonWin Realtime CPUArch CPUVendor CPUFrequency Threads/Core
                     Cores Cores Cores (GHz)
----- ---------- ---------- ---------- ------- --------- ------------ ------------
192.168.2.84.1.1 6 6 1 X86/AMD64 Intel 2712 2</dev:code>
        <dev:remarks>
          <maml:para>Getting the CPU Settings of the local system.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Set-RTimeCpuSettings -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-RTimeCpuSettings</command:name>
      <command:verb>Set</command:verb>
      <command:noun>RTimeCpuSettings</command:noun>
      <maml:description>
        <maml:para>Sets the Windows (Shared) CPU cores and Isolated cores for TwinCAT.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet configurates the CPU settings. A reboot is necessary after configuration.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPortShared -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>NetId of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SharedCores -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SharedCores</maml:name>
          <maml:description>
            <maml:para>The number of shared windows cores (Isolated cores will be: isolatedCores = allCores - sharedCores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdPortIsolated -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>NetId of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: IsolatedCores -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsolatedCores</maml:name>
          <maml:description>
            <maml:para>Number of Isolated cores. Shared cores will be: sharedCores = allCores - isolatedCores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdPortReset -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>NetId of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Reset -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reset</maml:name>
          <maml:description>
            <maml:para>Resets the number of shared cores. After reboot all Cores are dedicated to windows (shared).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteShared -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SharedCores -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SharedCores</maml:name>
          <maml:description>
            <maml:para>The number of shared windows cores (Isolated cores will be: isolatedCores = allCores - sharedCores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteIsolated -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: IsolatedCores -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsolatedCores</maml:name>
          <maml:description>
            <maml:para>Number of Isolated cores. Shared cores will be: sharedCores = allCores - isolatedCores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteReset -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Reset -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reset</maml:name>
          <maml:description>
            <maml:para>Resets the number of shared cores. After reboot all Cores are dedicated to windows (shared).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStrShared -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>Target names/addresses where to configure the CPU. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SharedCores -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SharedCores</maml:name>
          <maml:description>
            <maml:para>The number of shared windows cores (Isolated cores will be: isolatedCores = allCores - sharedCores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStrIsolated -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>Target names/addresses where to configure the CPU. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: IsolatedCores -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsolatedCores</maml:name>
          <maml:description>
            <maml:para>Number of Isolated cores. Shared cores will be: sharedCores = allCores - isolatedCores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStrReset -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>Target names/addresses where to configure the CPU. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Reset -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reset</maml:name>
          <maml:description>
            <maml:para>Resets the number of shared cores. After reboot all Cores are dedicated to windows (shared).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionShared -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session where to configure the CPU (supports pipeline)</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SharedCores -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SharedCores</maml:name>
          <maml:description>
            <maml:para>The number of shared windows cores (Isolated cores will be: isolatedCores = allCores - sharedCores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIsolated -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: IsolatedCores -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsolatedCores</maml:name>
          <maml:description>
            <maml:para>Number of Isolated cores. Shared cores will be: sharedCores = allCores - isolatedCores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session where to configure the CPU (supports pipeline)</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionReset -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: Reset -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reset</maml:name>
          <maml:description>
            <maml:para>Resets the number of shared cores. After reboot all Cores are dedicated to windows (shared).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session where to configure the CPU (supports pipeline)</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdShared -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) where to configure the CPU Core settings.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SharedCores -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SharedCores</maml:name>
          <maml:description>
            <maml:para>The number of shared windows cores (Isolated cores will be: isolatedCores = allCores - sharedCores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdIsolated -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: IsolatedCores -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsolatedCores</maml:name>
          <maml:description>
            <maml:para>Number of Isolated cores. Shared cores will be: sharedCores = allCores - isolatedCores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) where to configure the CPU Core settings.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdReset -->
      <command:syntaxItem>
        <maml:name>Set-RTimeCpuSettings</maml:name>
        <!-- Parameter: Reset -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reset</maml:name>
          <maml:description>
            <maml:para>Resets the number of shared cores. After reboot all Cores are dedicated to windows (shared).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) where to configure the CPU Core settings.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>NetId of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>Target names/addresses where to configure the CPU. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Target names/addresses where to configure the CPU. Wildcards are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session where to configure the CPU (supports pipeline)</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) where to configure the CPU Core settings.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: SharedCores -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SharedCores</maml:name>
        <maml:description>
          <maml:para>The number of shared windows cores (Isolated cores will be: isolatedCores = allCores - sharedCores.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IsolatedCores -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>IsolatedCores</maml:name>
        <maml:description>
          <maml:para>Number of Isolated cores. Shared cores will be: sharedCores = allCores - isolatedCores.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Reset -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Reset</maml:name>
        <maml:description>
          <maml:para>Resets the number of shared cores. After reboot all Cores are dedicated to windows (shared).</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces this command. It suppresses the ShouldContinue settings and bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The route object where to set the CPUs. This parameter support pipelining.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session where to configure the CPU (supports pipeline)</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Set-RTimeCpuSettings -SharedCores 6
 
Setting CPU cores
Setting WindowsCores: 6, IsolatedCores: 6 to device '172.17.62.146.1.1'?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): y
Number of processors successfully set to '6'. A reboot is necessary to activate settings!</dev:code>
        <dev:remarks>
          <maml:para>Sets the CPU Core Settings to 6 Shared and 6 Isolated on a 12 Core System</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-RTimeLatency -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-RTimeLatency</command:name>
      <command:verb>Get</command:verb>
      <command:noun>RTimeLatency</command:noun>
      <maml:description>
        <maml:para>Get the latency of TwinCAT Realtime Cores of the specified TwinCAT target system.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This commands lists the Realtime Cores of specified TwinCAT target systems. The values can be repeated by count parameter and a repeat delay can be set.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-RTimeLatency</maml:name>
        <!-- Parameter: Core -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Core</maml:name>
          <maml:description>
            <maml:para>Specifies the CoreID of the Realtime Core. If not specified, this Cmdlet returns all Realtime Cores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number request repeatations (Default is 1).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>Delay in Milliseconds between requests (Default is 1000ms)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The AmsNetId of the target system. The Default is the local system (if left out).</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NoReset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReset</maml:name>
          <maml:description>
            <maml:para>By default, the Maximum Latency of the data is reset in each polling cycle. Switching to -NoReset remains the maximum Latency between calls.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScanTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScanTimeout</maml:name>
          <maml:description>
            <maml:para>Scannning timeout in milliseconds (Default 5000 ms) This is the timeout for each single ADS roundtrip used by this Cmdlet.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-RTimeLatency</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address(es) where to get the Realtime latency. This can be the RouteName, NetId, the HostName or the IPAddress. Multiple Addresses and Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Core -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Core</maml:name>
          <maml:description>
            <maml:para>Specifies the CoreID of the Realtime Core. If not specified, this Cmdlet returns all Realtime Cores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number request repeatations (Default is 1).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>Delay in Milliseconds between requests (Default is 1000ms)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReset</maml:name>
          <maml:description>
            <maml:para>By default, the Maximum Latency of the data is reset in each polling cycle. Switching to -NoReset remains the maximum Latency between calls.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScanTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScanTimeout</maml:name>
          <maml:description>
            <maml:para>Scannning timeout in milliseconds (Default 5000 ms) This is the timeout for each single ADS roundtrip used by this Cmdlet.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-RTimeLatency</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Core -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Core</maml:name>
          <maml:description>
            <maml:para>Specifies the CoreID of the Realtime Core. If not specified, this Cmdlet returns all Realtime Cores.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number request repeatations (Default is 1).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>Delay in Milliseconds between requests (Default is 1000ms)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReset</maml:name>
          <maml:description>
            <maml:para>By default, the Maximum Latency of the data is reset in each polling cycle. Switching to -NoReset remains the maximum Latency between calls.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScanTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScanTimeout</maml:name>
          <maml:description>
            <maml:para>Scannning timeout in milliseconds (Default 5000 ms) This is the timeout for each single ADS roundtrip used by this Cmdlet.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The AmsNetId of the target system. The Default is the local system (if left out).</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address(es) where to get the Realtime latency. This can be the RouteName, NetId, the HostName or the IPAddress. Multiple Addresses and Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Core -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Core</maml:name>
        <maml:description>
          <maml:para>Specifies the CoreID of the Realtime Core. If not specified, this Cmdlet returns all Realtime Cores.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ScanTimeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScanTimeout</maml:name>
        <maml:description>
          <maml:para>Scannning timeout in milliseconds (Default 5000 ms) This is the timeout for each single ADS roundtrip used by this Cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Count -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Count</maml:name>
        <maml:description>
          <maml:para>Specifies the number request repeatations (Default is 1).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Delay -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Delay</maml:name>
        <maml:description>
          <maml:para>Delay in Milliseconds between requests (Default is 1000ms)</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NoReset -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NoReset</maml:name>
        <maml:description>
          <maml:para>By default, the Maximum Latency of the data is reset in each polling cycle. Switching to -NoReset remains the maximum Latency between calls.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-RTimeLatency
 
NetId CoreId Latency MaxLatency Limit
                               (us) (us)
---------------- ------ ---------- ---------- -----
5.91.172.198.1.1 1 0 20 0</dev:code>
        <dev:remarks>
          <maml:para>Getting the Realtime latency of all Realtime cores on the local system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Get-RTimeLatency -NetId 5.91.172.198.1.1 -core 1 -count 5 -Delay 0
 
NetId CoreId Latency MaxLatency Limit
                               (us) (us)
---------------- ------ ---------- ---------- -----
5.91.172.198.1.1 1 0 20 0
5.91.172.198.1.1 1 0 20 0
5.91.172.198.1.1 1 0 20 0
5.91.172.198.1.1 1 0 20 0
5.91.172.198.1.1 1 0 20 0</dev:code>
        <dev:remarks>
          <maml:para>Get the Realtime Latency of the System witt NetId 5.91.172.198.1.1 and CoreId 1 5 times without delay between values.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-RTimePerformance -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-RTimePerformance</command:name>
      <command:verb>Get</command:verb>
      <command:noun>RTimePerformance</command:noun>
      <maml:description>
        <maml:para>Gets the Realtime Performance of the specified system.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Gets the Realtime Performance of the specified TwinCAT Target systems. The output can be filtered for specified Realtime CPUs and contains the actual CPU Latency and CPU Load. This Cmdlet is preliminary and subject of change. Performance Data is not supported before TwinCAT Build 4026.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-RTimePerformance</maml:name>
        <!-- Parameter: Core -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Core</maml:name>
          <maml:description>
            <maml:para>Specifies the ID of the Core where to determine the performance data. If not specified, all Realtime CPUs will be returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of performance requests (Default is 1) per target and CPU.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>Delay in Milliseconds between performance requests (Default is 1000ms)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The AmsNetId of the target system. Uses the Local system if empty.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NoReset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReset</maml:name>
          <maml:description>
            <maml:para>By default, the Maximum Delay of the PerformanceData before getting new data is reset. Switching to -NoReset remains the maximum Delay between calls.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-RTimePerformance</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address(es) where to get the performance data. This can be the RouteName, NetId, the HostName or the IPAddress. Multiple addresses and wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Core -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Core</maml:name>
          <maml:description>
            <maml:para>Specifies the ID of the Core where to determine the performance data. If not specified, all Realtime CPUs will be returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of performance requests (Default is 1) per target and CPU.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>Delay in Milliseconds between performance requests (Default is 1000ms)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReset</maml:name>
          <maml:description>
            <maml:para>By default, the Maximum Delay of the PerformanceData before getting new data is reset. Switching to -NoReset remains the maximum Delay between calls.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-RTimePerformance</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Core -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Core</maml:name>
          <maml:description>
            <maml:para>Specifies the ID of the Core where to determine the performance data. If not specified, all Realtime CPUs will be returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of performance requests (Default is 1) per target and CPU.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>Delay in Milliseconds between performance requests (Default is 1000ms)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReset</maml:name>
          <maml:description>
            <maml:para>By default, the Maximum Delay of the PerformanceData before getting new data is reset. Switching to -NoReset remains the maximum Delay between calls.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The AmsNetId of the target system. Uses the Local system if empty.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address(es) where to get the performance data. This can be the RouteName, NetId, the HostName or the IPAddress. Multiple addresses and wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Core -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Core</maml:name>
        <maml:description>
          <maml:para>Specifies the ID of the Core where to determine the performance data. If not specified, all Realtime CPUs will be returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Count -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Count</maml:name>
        <maml:description>
          <maml:para>Specifies the number of performance requests (Default is 1) per target and CPU.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Delay -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Delay</maml:name>
        <maml:description>
          <maml:para>Delay in Milliseconds between performance requests (Default is 1000ms)</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NoReset -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NoReset</maml:name>
        <maml:description>
          <maml:para>By default, the Maximum Delay of the PerformanceData before getting new data is reset. Switching to -NoReset remains the maximum Delay between calls.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet, must be connected to port 300, R0_IO</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-RTimePerformance
 
NetId CoreId LastDelay MaxDelay DelayLimit Load (%) MaxLoad
                            (us) (us) (us) (%)
----- ------ ---------- ---------- ---------- -------- --------
192.168.0.2.1.1 1 0 109 0 0 80
192.168.0.2.1.1 2 0 109 0 0 80</dev:code>
        <dev:remarks>
          <maml:para>Getting the Performance Data from all Realtime CPUs on the local target system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Get-RTimePerformance -core 1 -count 5 -Delay 0 -noReset
 
NetId CoreId LastDelay MaxDelay DelayLimit Load (%) MaxLoad
                            (us) (us) (us) (%)
----- ------ ---------- ---------- ---------- -------- --------
192.168.0.2.1.1 1 0 1659 0 0 80
192.168.0.2.1.1 1 0 1659 0 0 80
192.168.0.2.1.1 1 0 1659 0 0 80
192.168.0.2.1.1 1 0 1659 0 0 80
192.168.0.2.1.1 1 0 1659 0 0 80</dev:code>
        <dev:remarks>
          <maml:para>Getting the Performance Data from the local System (Core 1) 5 times as fast as possible. The MaxDelay will not be reset on each call.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-TcDataType -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-TcDataType</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TcDataType</command:noun>
      <maml:description>
        <maml:para>Get the DataTypes from a TwinCAT target system / Device.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet get the DataTypes from a target system if symbolic information is provided by the device (Symbol Server running). The DataTypes can be determined via different Providers (e.g. ADS, MQTT, OPC, see the '-Provider' parameter.)</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-TcDataType</maml:name>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The data type name(s) to get. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port where to load the datatype descriptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the data types (forces to reload the internal cache).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetID address of the target system where to load the datatypes (Local by default).</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Get-TcDataType</maml:name>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The data type name(s) to get. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port where to load the datatype descriptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>The Route object where to load the datatypes from (RouteTarget.Local by default).</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the data types (forces to reload the internal cache).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-TcDataType</maml:name>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The data type name(s) to get. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address where to load the datatype descriptions. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port where to load the datatype descriptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the data types (forces to reload the internal cache).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-TcDataType</maml:name>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The data type name(s) to get. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The session object to use for datatype upload.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the data types (forces to reload the internal cache).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Get-TcDataType</maml:name>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The data type name(s) to get. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>The unique session Identifier that represents the session to ose for the datatype upload.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the data types (forces to reload the internal cache).</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Name -->
      <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The data type name(s) to get. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetID address of the target system where to load the datatypes (Local by default).</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Route -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The Route object where to load the datatypes from (RouteTarget.Local by default).</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The Route object where to load the datatypes from (RouteTarget.Local by default).</maml:para>
          <maml:para>This is an alias of the Route parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address where to load the datatype descriptions. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The Port where to load the datatype descriptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>10000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The session object to use for datatype upload.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The session object to use for datatype upload.</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>The unique session Identifier that represents the session to ose for the datatype upload.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>The unique session Identifier that represents the session to ose for the datatype upload.</maml:para>
          <maml:para>This is an alias of the SessionId parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces to reload the data types (forces to reload the internal cache).</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The session object to use for datatype upload.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-TcDataType -port 851
Name Size Category BaseType
---- ---- -------- --------
BYTE 1 Primitive
WORD 2 Primitive
DINT 4 Primitive
UDINT 4 Primitive
DWORD 4 Primitive
E_ByteEnum 1 Enum BYTE
FB_Test 12424 Struct
PLC.PlcAppSystemInfo 256 Struct
PLC.PlcTaskSystemInfo 128 Struct
POINTER TO BYTE 4 Pointer BYTE
R_Range 2 Alias INT (-6..12)
REFERENCE TO BOOL 4 Reference BOOL
ST_SimpleStruct 166 Struct
STRING(80) 81 String
...</dev:code>
        <dev:remarks>
          <maml:para>Get the data types from the local system (Port 851):</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; $types = Get-TcDataType -Name 'ST_*' -NetId 1.2.3.4.5.6 -Port 851</dev:code>
        <dev:remarks>
          <maml:para>Gets the DataTypes with name pattern 'ST_*' from the NetId / Port address symbol server.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; $session = New-TcSession -Name 'CX_123456' -port 851
PS&gt; Get-TcDataType -Session $session | where ByteSize -gt 1KB</dev:code>
        <dev:remarks>
          <maml:para>Gets an ADS-Session/Connection to the target system CX_123456 on port 851, downloads the datatype information and returns all the DataTypes that are larger than 1KB of Size.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-TcEvent -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-TcEvent</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TcEvent</command:noun>
      <maml:description>
        <maml:para>Gets TwinCAT events from event logs on local and remote computers.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>TwinCAT creates LogEntries in the Application log. These most important entries for system diagnostics source from the TcSysUI Application and the TwinCAT System Service (TcSysSrv) containing the logentries from the TwinCAT Drivers. This Get-TcEvent Cmdlet gets these events from the local system and as well from other reachable systems within the corporate network. If you're not running PowerShell as an Administrator, you might see error messages that you cannot retrieve information about a log.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-TcEvent</maml:name>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specifies the name of the computer that this cmdlet gets events from the event logs. Type the NetBIOS name, an IP address, or the fully qualified domain name (FQDN) of the computer. The default value is the local computer, localhost.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specifies a user account that has permission to perform this action. The default value is the current user. Type a user name, such as User01 or Domain01\User01.Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: EndTime -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>EndTime</maml:name>
          <maml:description>
            <maml:para>Filters the EventLog to return only entries that were produced up to the specified end time. By default the end time is not set, returning the newest entries.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTimeOffset</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTimeOffset</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ID</maml:name>
          <maml:description>
            <maml:para>Filters the EventLog to the specified EventIds.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Level -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Level</maml:name>
          <maml:description>
            <maml:para>The log level, that is determined. By default, all EventLog content will be returned. Allowed values are: - All - Critical - Error - Warning - Informational - Verbose</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MaxEvents -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxEvents</maml:name>
          <maml:description>
            <maml:para>Specifies the maximum number of events that are returned. Enter an integer such as 100. The default is to return all TwinCAT events.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Source -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Source</maml:name>
          <maml:description>
            <maml:para>The log level, that is determined. By default, all TwinCAT EventLog content will be returned. Actually allowed values are: - All - TcSysUI - TcSysSrv - TcEventLogger - Tc3ScopeServer - 'TF3300 TwinCAT 3 Scope Server' - 'TwinCAT3 Scope Server'</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StartTime -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StartTime</maml:name>
          <maml:description>
            <maml:para>Filters the EventLog to return only entries that were produced after the specified start time. By default the start time is not set, returning Events from the beginning of the log.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTimeOffset</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTimeOffset</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>Timeout of the Read event log operation (default: no timeout).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: MaxEvents -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MaxEvents</maml:name>
        <maml:description>
          <maml:para>Specifies the maximum number of events that are returned. Enter an integer such as 100. The default is to return all TwinCAT events.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specifies the name of the computer that this cmdlet gets events from the event logs. Type the NetBIOS name, an IP address, or the fully qualified domain name (FQDN) of the computer. The default value is the local computer, localhost.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Credential -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Specifies a user account that has permission to perform this action. The default value is the current user. Type a user name, such as User01 or Domain01\User01.Or, enter a PSCredential object, such as one generated by the Get-Credential cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Level -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Level</maml:name>
        <maml:description>
          <maml:para>The log level, that is determined. By default, all EventLog content will be returned. Allowed values are: - All - Critical - Error - Warning - Informational - Verbose</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>All</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Source -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Source</maml:name>
        <maml:description>
          <maml:para>The log level, that is determined. By default, all TwinCAT EventLog content will be returned. Actually allowed values are: - All - TcSysUI - TcSysSrv - TcEventLogger - Tc3ScopeServer - 'TF3300 TwinCAT 3 Scope Server' - 'TwinCAT3 Scope Server'</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>All</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: StartTime -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>StartTime</maml:name>
        <maml:description>
          <maml:para>Filters the EventLog to return only entries that were produced after the specified start time. By default the start time is not set, returning Events from the beginning of the log.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTimeOffset</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTimeOffset</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: EndTime -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>EndTime</maml:name>
        <maml:description>
          <maml:para>Filters the EventLog to return only entries that were produced up to the specified end time. By default the end time is not set, returning the newest entries.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTimeOffset</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTimeOffset</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: ID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ID</maml:name>
        <maml:description>
          <maml:para>Filters the EventLog to the specified EventIds.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>Timeout of the Read event log operation (default: no timeout).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; get-tcevent -MaxEvents 30
 
   ProviderName: TcSysUi
 
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
17.08.2021 15:56:44 3 Information Process startup apps was already triggerd.
17.08.2021 15:56:44 1 Information Process startup apps after reaching RUN state.
 
  ProviderName: TcSysSrv
 
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
17.08.2021 15:56:44 66 Information Starting COM Server TcEventLogger !
17.08.2021 15:56:44 20000 Information TwinCAT System Message: Source: License Server; Timestamp: 8/17/2021 3:56:44 PM 345 ms Message: license validation status is Valid(3)
17.08.2021 15:56:44 15 Information TcRTime Server started: TcRTime.
17.08.2021 15:56:44 15 Information TcRtsObjects Server started: TcRtsObjects.
17.08.2021 15:56:44 15 Information TcPlc30 Server started: TcPlc30.
17.08.2021 15:56:44 15 Information TcIo Server started: TcIo.
17.08.2021 15:56:44 69 Information Initializing COM Server TcEventLogger !
17.08.2021 15:56:44 71 Information Loading configuration of COM server TcEventLogger !
 
  ProviderName: TcSysUi
 
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
17.08.2021 15:56:44 2 Information Process startup apps skipped after reaching state '4'.
17.08.2021 15:56:44 2 Information Process startup apps skipped after reaching state '6'.
 
  ProviderName: TcSysSrv
 
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
17.08.2021 15:56:43 67 Information Stopping COM Server TcEventLogger !
17.08.2021 15:56:43 28 Information TCIODRIVERS Server stopped.
17.08.2021 15:56:43 28 Information TCIOECAT Server stopped.
17.08.2021 15:56:43 28 Information TCIOETH Server stopped.
17.08.2021 15:56:43 28 Information TCRTSOBJECTS Server stopped.
17.08.2021 15:56:43 28 Information TCRTIME Server stopped.
17.08.2021 15:56:43 28 Information TCIO Server stopped.
17.08.2021 15:56:43 68 Information Shutting down COM Server TcEventLogger !
17.08.2021 15:56:42 70 Information Saving configuration of COM server TcEventLogger !
 
 
  ProviderName: TcSysUi
 
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
17.08.2021 15:56:42 2 Information Process startup apps skipped after reaching state '17'.
 
 
  ProviderName: TcSysSrv
 
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
17.08.2021 15:56:42 33 Information TwinCAT System Restart initiated from AmsNetId: 172.17.60.197.1.1 port 32894.
 
 
  ProviderName: TcSysUi
 
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
17.08.2021 15:50:56 2 Information Process startup apps skipped after reaching state '15'.
 
 
  ProviderName: TcSysSrv
 
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
17.08.2021 15:50:56 66 Information Starting COM Server TcEventLogger !
17.08.2021 15:50:55 15 Information TCIODRIVERS Server started: TCIODRIVERS.</dev:code>
        <dev:remarks>
          <maml:para>Gets last 30 events (all events) on the local system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; get-tcevent -computerName CX_1234 -Level Critical, Error, Warning -source TcSysSrv -StartTime([DateTime]::Now -[TimeSpan]::FromDays(1))
 
  ProviderName: TcSysSrv
 
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
17.08.2021 15:50:53 89 Error Error: .. checking TwinCAT Licenses!
17.08.2021 15:50:53 20000 Error TwinCAT System Message: Source: License Server; Timestamp: 8/17/2021 3:50:53 PM 145 ms Message: License Violation: License 'TC3 PLC' not found, Requested by 'PLC1 Instance', LicenseId = {666…</dev:code>
        <dev:remarks>
          <maml:para>Getting the logged errors/warnings of system 'CX_1234' of the last 24 hours and filter the events for the Event provider 'TcSysSrv' (the TwinCAT System Service)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; get-tcevent --StartTime '2021-08-17 15:50:55' -EndTime '2021-08-17 15:55:56' -source TcSysSrv
 
   ProviderName: TcSysSrv
 
TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
17.08.2021 15:50:56 66 Information Starting COM Server TcEventLogger !
17.08.2021 15:50:55 15 Information TCIODRIVERS Server started: TCIODRIVERS.
17.08.2021 15:50:55 15 Information TCIOECAT Server started: TCIOECAT.
17.08.2021 15:50:55 15 Information TCIOETH Server started: TCIOETH.
17.08.2021 15:50:55 15 Information TCRTSOBJECTS Server started: TCRTSOBJECTS.
17.08.2021 15:50:55 15 Information TCRTIME Server started: TCRTIME.
17.08.2021 15:50:55 15 Information TCIO Server started: TCIO.
17.08.2021 15:50:55 69 Information Initializing COM Server TcEventLogger !
17.08.2021 15:50:55 71 Information Loading configuration of COM server TcEventLogger !
17.08.2021 15:50:55 67 Information Stopping COM Server TcEventLogger !
17.08.2021 15:50:55 68 Information Shutting down COM Server TcEventLogger !</dev:code>
        <dev:remarks>
          <maml:para>Show EventLog of TwinCAT SystemService between two points in time.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-TcLicense -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-TcLicense</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TcLicense</command:noun>
      <maml:description>
        <maml:para>Get TwinCAT License information.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet gets information about TwinCAT licenses from the target system. To contact the target system, it must be available as actual route or the local system.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-TcLicense</maml:name>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses internal caches and the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the license to get. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetID address of the target system where to load the licenses (Local by default).</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: OrderId -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
          <maml:name>OrderId</maml:name>
          <maml:description>
            <maml:para>The OrderID of the license. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Status -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Status</maml:name>
          <maml:description>
            <maml:para>The Status parameter selects the Licenses to return. Available is 'Valid' (the valid licenses), 'Invalid' (the invalid licenses) and 'All' ('Valid' + 'Invalid') licenses. The Default Value is 'All'</maml:para>
            <maml:para>Possible values: None, Valid, Invalid, All</maml:para>
          </maml:description>
          <command:parameterValue required="true">LicenseStatus</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.SystemService.Commands.LicenseStatus</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Valid</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Invalid</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">All</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Get-TcLicense</maml:name>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>The Route object where to load the licenses from (RouteTarget.Local by default).</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses internal caches and the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the license to get. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: OrderId -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
          <maml:name>OrderId</maml:name>
          <maml:description>
            <maml:para>The OrderID of the license. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Status -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Status</maml:name>
          <maml:description>
            <maml:para>The Status parameter selects the Licenses to return. Available is 'Valid' (the valid licenses), 'Invalid' (the invalid licenses) and 'All' ('Valid' + 'Invalid') licenses. The Default Value is 'All'</maml:para>
            <maml:para>Possible values: None, Valid, Invalid, All</maml:para>
          </maml:description>
          <command:parameterValue required="true">LicenseStatus</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.SystemService.Commands.LicenseStatus</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Valid</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Invalid</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">All</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-TcLicense</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address where to load the licenses. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses internal caches and the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the license to get. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: OrderId -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
          <maml:name>OrderId</maml:name>
          <maml:description>
            <maml:para>The OrderID of the license. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Status -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Status</maml:name>
          <maml:description>
            <maml:para>The Status parameter selects the Licenses to return. Available is 'Valid' (the valid licenses), 'Invalid' (the invalid licenses) and 'All' ('Valid' + 'Invalid') licenses. The Default Value is 'All'</maml:para>
            <maml:para>Possible values: None, Valid, Invalid, All</maml:para>
          </maml:description>
          <command:parameterValue required="true">LicenseStatus</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.SystemService.Commands.LicenseStatus</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Valid</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Invalid</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">All</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-TcLicense</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The session object to use for license upload. This must target port 30 (AmsPort.R0_LicenseServer).</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses internal caches and the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the license to get. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: OrderId -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
          <maml:name>OrderId</maml:name>
          <maml:description>
            <maml:para>The OrderID of the license. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Status -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Status</maml:name>
          <maml:description>
            <maml:para>The Status parameter selects the Licenses to return. Available is 'Valid' (the valid licenses), 'Invalid' (the invalid licenses) and 'All' ('Valid' + 'Invalid') licenses. The Default Value is 'All'</maml:para>
            <maml:para>Possible values: None, Valid, Invalid, All</maml:para>
          </maml:description>
          <command:parameterValue required="true">LicenseStatus</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.SystemService.Commands.LicenseStatus</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Valid</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Invalid</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">All</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Get-TcLicense</maml:name>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>The unique session Identifier that represents the session to use for the license upload.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses internal caches and the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>The name of the license to get. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: OrderId -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
          <maml:name>OrderId</maml:name>
          <maml:description>
            <maml:para>The OrderID of the license. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Status -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Status</maml:name>
          <maml:description>
            <maml:para>The Status parameter selects the Licenses to return. Available is 'Valid' (the valid licenses), 'Invalid' (the invalid licenses) and 'All' ('Valid' + 'Invalid') licenses. The Default Value is 'All'</maml:para>
            <maml:para>Possible values: None, Valid, Invalid, All</maml:para>
          </maml:description>
          <command:parameterValue required="true">LicenseStatus</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.SystemService.Commands.LicenseStatus</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>All</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Valid</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Invalid</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">All</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Name -->
      <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The name of the license to get. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: OrderId -->
      <command:parameter required="false" globbing="true" pipelineInput="false" position="named">
        <maml:name>OrderId</maml:name>
        <maml:description>
          <maml:para>The OrderID of the license. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetID address of the target system where to load the licenses (Local by default).</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Route -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Destination">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The Route object where to load the licenses from (RouteTarget.Local by default).</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Destination">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The Route object where to load the licenses from (RouteTarget.Local by default).</maml:para>
          <maml:para>This is an alias of the Route parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address where to load the licenses. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The session object to use for license upload. This must target port 30 (AmsPort.R0_LicenseServer).</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The session object to use for license upload. This must target port 30 (AmsPort.R0_LicenseServer).</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>The unique session Identifier that represents the session to use for the license upload.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>The unique session Identifier that represents the session to use for the license upload.</maml:para>
          <maml:para>This is an alias of the SessionId parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Status -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Status</maml:name>
        <maml:description>
          <maml:para>The Status parameter selects the Licenses to return. Available is 'Valid' (the valid licenses), 'Invalid' (the invalid licenses) and 'All' ('Valid' + 'Invalid') licenses. The Default Value is 'All'</maml:para>
          <maml:para>Possible values: None, Valid, Invalid, All</maml:para>
        </maml:description>
        <command:parameterValue required="true">LicenseStatus</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.SystemService.Commands.LicenseStatus</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>All</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Valid</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Invalid</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">All</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Force reading value. This flag bypasses internal caches and the FailFastInterceptor to retry communication in every case.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Route object where to load the licenses from (RouteTarget.Local by default).</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-TcLicense</dev:code>
        <dev:remarks>
          <maml:para>Get the the valid licenses from the local system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; $session = New-TcSession -Route TC3TESTA1-CP67X -Port 30
PS&gt; Get-TcLicense -Status All -name *scope* -session $session
 
Name Valid ValidityCode ExpireTime Available Used VolumeNo
---- ----- ------------ ---------- --------- ---- --------
TC3 Scope Server X Valid CPU License 0 0
TC3 Scope View Professional X Valid CPU License 0 0</dev:code>
        <dev:remarks>
          <maml:para>Create a session to the License Server on target 'TC3TESTA1-CP67X' and return all valid and invalid licenses that contain 'scope' in their name.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; Get-TcLicense -Route TC3TESTA1-CP67X -Status Valid
 
Name Valid ValidityCode ExpireTime Available Used VolumeNo
---- ----- ------------ ---------- --------- ---- --------
TC3 C++ / MatSim X Valid CPU License 0 0
TC3 CNC X Valid CPU License 0 0
TC3 Target For Matlab Simulink X Valid CPU License 0 0
TC3 CNC Axis X Valid CPU License 0 0
TC3 Serial-Communication X Valid CPU License 0 0
TC3 NC PTP Axes Pack unlimited X Valid CPU License 0 0
TC3 PLC / C++ / MatSim X Valid CPU License 0 0
TC3 Kinematic Transformation L4 X Valid CPU License 0 0
TC3 NC Camming X Valid CPU License 0 0
TC3 PLC-HMI Web X Valid CPU License 0 0
TC3 NC Flying Saw X Valid CPU License 0 0
TC3 CNC Spline X Valid CPU License 0 0
TC3 SMS-SMTP X Valid CPU License 0 0
TC3 Hydraulic Positioning X Valid CPU License 0 0
TC3 Kinematic Transformation L1 X Valid CPU License 0 0
...</dev:code>
        <dev:remarks>
          <maml:para>Connect to the License Server on target 'TC3TESTa1-CP67X' and return all valid licenses.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 4 ----------</maml:title>
        <dev:code>&gt; Get-TcLicense -NetId 172.17.60.153.1.1 -Status Invalid | format-list
 
 
Id : 4c256767-e6e6-4af5-bd68-9f7abad0c200
Name : TC3 ADS
ExpireTime : 8/17/2017 12:00:00 AM
ValidityCode : Expired
Valid : False
AvailableLicenses : 0
UsedLicenses : 0
VolumeNo : 0
 
Id : 66689887-ccbd-452c-ac9a-039d997c6e66
Name : TC3 PLC
ExpireTime : 8/17/2017 12:00:00 AM
ValidityCode : Expired
Valid : False
AvailableLicenses : 0
UsedLicenses : 0
VolumeNo : 0
 
Id : 3ff18e97-7754-401b-93fb-70544de28a13
Name : TC3 IO
ExpireTime : 8/17/2017 12:00:00 AM
ValidityCode : Expired
Valid : False
AvailableLicenses : 0
UsedLicenses : 0
VolumeNo : 0</dev:code>
        <dev:remarks>
          <maml:para>Connect to NetId 172.17.60.153.1.1, determine all invalid licenses and format the result into a list.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 5 ----------</maml:title>
        <dev:code>&gt; Get-TcLicense -OrderId TE*
 
OrderID Name Valid ValidityCode ExpireTime Available Used VolumeNo
------- ---- ----- ------------ ---------- --------- ---- --------
TE1400 TC3 Target For Matlab Simulink X Valid CPU License 0 0
TE1500 TC3 Valve-Diagram-Editor X Valid CPU License 0 0
TE1120 TC3 XCAD Interface X Valid CPU License 0 0
TE1510 TC3 Cam-Design-Tool X Valid CPU License 0 0
TE1110 TC3 Simulation Manager X Valid CPU License 0 0
TE1111 TC3 EtherCAT Simulation X Valid CPU License 0 0
TE1410 TC3 Interface For Matlab Simulink X Valid CPU License 0 0
TE1300 TC3 Scope View Professional X Valid CPU License 0 0</dev:code>
        <dev:remarks>
          <maml:para>Get the valid licenses from local system and filter them for OrderIds starting with TE*.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Send-TcReadWrite -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Send-TcReadWrite</command:name>
      <command:verb>Send</command:verb>
      <command:noun>TcReadWrite</command:noun>
      <maml:description>
        <maml:para>Sends a Read/Write access to ADS Server / TwinCAT Devices.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet Read/Writes values from/to TwinCAT Devices and works with different ValueProviders. Because this is a low level data access, only IndexGroup/IndexOffset addressing is available.</maml:para>
      <maml:para>IMPORTANT: Sending Read/Write commands should be done with highest care because it could destabilize the TwinCAT System when the write operation is not addressed properly. To enhance secure operation, the user is enforced to use Length parameters in conjunction with the in/out values which will be checked by the Cmdlet. The highest attention should also be taken with the IndexGroup/IndexOffset because that represents the Address in the Process Image and cannot be checked by principle. To prevent that process image overwrites important data by accident please use the -WhatIf and -Confirm parameters whenever it is appropriate and inform about the $ConfirmPreference settings ( PS&gt; get-help about_Preference_Variables) before usage of the Send-TcReadWrite Cmdlet.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPortIndexed -->
      <command:syntaxItem>
        <maml:name>Send-TcReadWrite</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>IndexGroup of the Value to ReadWrite, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset can overwrite data in the ProcessImage and posibly destabilizes the system. No validity check is done for the symbol alignment and therefore this should be done with highest care!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port, where to read/write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the Read/Write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The ADS target NetID(s) of the system(s) where to read/write the Value. More than one target will be supported. When not specified, this argument defaults to AmsNetId.Local.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReadLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReadLength</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be read from the process image.</maml:para>
            <maml:para>By default, when not specifiying this parameter the marshalling size of the -ReadType parameter will be taken. This -ReadLength parameter is only helpful when the marshalling size cannot be determined from the read type (e.g. byte[])</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReadType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReadType</maml:name>
          <maml:description>
            <maml:para>Use the ReadType parameter to specify the Read/Return type of the data.</maml:para>
            <maml:para>If not used, this cmdlet returns the raw byte[] as result.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Type</command:parameterValue>
          <dev:type>
            <maml:name>System.Type</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Byte[]</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WriteLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WriteLength</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
            <maml:para>By default the marshal size of the object used in the -WriteValue parameter is taken. This parameter is used to override the marshal size and can be helpful to secure the write operation - to not overwrite more data then expected.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WriteValue -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WriteValue</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshals this value to its appropriate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressIndexed -->
      <command:syntaxItem>
        <maml:name>Send-TcReadWrite</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The target address where to read/write the Value. The Address can consist of RouteName, NetId, HostName or IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>IndexGroup of the Value to ReadWrite, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset can overwrite data in the ProcessImage and posibly destabilizes the system. No validity check is done for the symbol alignment and therefore this should be done with highest care!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port, where to read/write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the Read/Write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReadLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReadLength</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be read from the process image.</maml:para>
            <maml:para>By default, when not specifiying this parameter the marshalling size of the -ReadType parameter will be taken. This -ReadLength parameter is only helpful when the marshalling size cannot be determined from the read type (e.g. byte[])</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReadType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReadType</maml:name>
          <maml:description>
            <maml:para>Use the ReadType parameter to specify the Read/Return type of the data.</maml:para>
            <maml:para>If not used, this cmdlet returns the raw byte[] as result.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Type</command:parameterValue>
          <dev:type>
            <maml:name>System.Type</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Byte[]</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WriteLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WriteLength</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
            <maml:para>By default the marshal size of the object used in the -WriteValue parameter is taken. This parameter is used to override the marshal size and can be helpful to secure the write operation - to not overwrite more data then expected.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WriteValue -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WriteValue</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshals this value to its appropriate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteIndexed -->
      <command:syntaxItem>
        <maml:name>Send-TcReadWrite</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>IndexGroup of the Value to ReadWrite, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset can overwrite data in the ProcessImage and posibly destabilizes the system. No validity check is done for the symbol alignment and therefore this should be done with highest care!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port, where to read/write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>The target system (as Route) where to read/write the value.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the Read/Write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReadLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReadLength</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be read from the process image.</maml:para>
            <maml:para>By default, when not specifiying this parameter the marshalling size of the -ReadType parameter will be taken. This -ReadLength parameter is only helpful when the marshalling size cannot be determined from the read type (e.g. byte[])</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReadType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReadType</maml:name>
          <maml:description>
            <maml:para>Use the ReadType parameter to specify the Read/Return type of the data.</maml:para>
            <maml:para>If not used, this cmdlet returns the raw byte[] as result.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Type</command:parameterValue>
          <dev:type>
            <maml:name>System.Type</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Byte[]</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WriteLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WriteLength</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
            <maml:para>By default the marshal size of the object used in the -WriteValue parameter is taken. This parameter is used to override the marshal size and can be helpful to secure the write operation - to not overwrite more data then expected.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WriteValue -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WriteValue</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshals this value to its appropriate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIndexed -->
      <command:syntaxItem>
        <maml:name>Send-TcReadWrite</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>IndexGroup of the Value to ReadWrite, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset can overwrite data in the ProcessImage and posibly destabilizes the system. No validity check is done for the symbol alignment and therefore this should be done with highest care!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The session object represents the target session where to read/write the value.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the Read/Write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReadLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReadLength</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be read from the process image.</maml:para>
            <maml:para>By default, when not specifiying this parameter the marshalling size of the -ReadType parameter will be taken. This -ReadLength parameter is only helpful when the marshalling size cannot be determined from the read type (e.g. byte[])</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReadType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReadType</maml:name>
          <maml:description>
            <maml:para>Use the ReadType parameter to specify the Read/Return type of the data.</maml:para>
            <maml:para>If not used, this cmdlet returns the raw byte[] as result.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Type</command:parameterValue>
          <dev:type>
            <maml:name>System.Type</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Byte[]</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WriteLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WriteLength</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
            <maml:para>By default the marshal size of the object used in the -WriteValue parameter is taken. This parameter is used to override the marshal size and can be helpful to secure the write operation - to not overwrite more data then expected.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WriteValue -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WriteValue</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshals this value to its appropriate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdIndexed -->
      <command:syntaxItem>
        <maml:name>Send-TcReadWrite</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>IndexGroup of the Value to ReadWrite, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset can overwrite data in the ProcessImage and posibly destabilizes the system. No validity check is done for the symbol alignment and therefore this should be done with highest care!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>The session ID represents the target session where to read/write the value.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the Read/Write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReadLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReadLength</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be read from the process image.</maml:para>
            <maml:para>By default, when not specifiying this parameter the marshalling size of the -ReadType parameter will be taken. This -ReadLength parameter is only helpful when the marshalling size cannot be determined from the read type (e.g. byte[])</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReadType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReadType</maml:name>
          <maml:description>
            <maml:para>Use the ReadType parameter to specify the Read/Return type of the data.</maml:para>
            <maml:para>If not used, this cmdlet returns the raw byte[] as result.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Type</command:parameterValue>
          <dev:type>
            <maml:name>System.Type</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Byte[]</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WriteLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WriteLength</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
            <maml:para>By default the marshal size of the object used in the -WriteValue parameter is taken. This parameter is used to override the marshal size and can be helpful to secure the write operation - to not overwrite more data then expected.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WriteValue -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WriteValue</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshals this value to its appropriate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: IndexGroup -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="IG">
        <maml:name>IndexGroup</maml:name>
        <maml:description>
          <maml:para>IndexGroup of the Value to ReadWrite, only for IndexGroup/IndexOffset access.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset can overwrite data in the ProcessImage and posibly destabilizes the system. No validity check is done for the symbol alignment and therefore this should be done with highest care!</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="IG">
        <maml:name>IG</maml:name>
        <maml:description>
          <maml:para>IndexGroup of the Value to ReadWrite, only for IndexGroup/IndexOffset access.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset can overwrite data in the ProcessImage and posibly destabilizes the system. No validity check is done for the symbol alignment and therefore this should be done with highest care!</maml:para>
          <maml:para>This is an alias of the IndexGroup parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IndexOffset -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="IO">
        <maml:name>IndexOffset</maml:name>
        <maml:description>
          <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="IO">
        <maml:name>IO</maml:name>
        <maml:description>
          <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          <maml:para>This is an alias of the IndexOffset parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: WriteValue -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WriteValue</maml:name>
        <maml:description>
          <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshals this value to its appropriate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
        </maml:description>
        <command:parameterValue required="true">object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: WriteLength -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WriteLength</maml:name>
        <maml:description>
          <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
          <maml:para>By default the marshal size of the object used in the -WriteValue parameter is taken. This parameter is used to override the marshal size and can be helpful to secure the write operation - to not overwrite more data then expected.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ReadLength -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ReadLength</maml:name>
        <maml:description>
          <maml:para>The Length of the data that will be read from the process image.</maml:para>
          <maml:para>By default, when not specifiying this parameter the marshalling size of the -ReadType parameter will be taken. This -ReadLength parameter is only helpful when the marshalling size cannot be determined from the read type (e.g. byte[])</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ReadType -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ReadType</maml:name>
        <maml:description>
          <maml:para>Use the ReadType parameter to specify the Read/Return type of the data.</maml:para>
          <maml:para>If not used, this cmdlet returns the raw byte[] as result.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Type</command:parameterValue>
        <dev:type>
          <maml:name>System.Type</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>System.Byte[]</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The ADS target NetID(s) of the system(s) where to read/write the Value. More than one target will be supported. When not specified, this argument defaults to AmsNetId.Local.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Route -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The target system (as Route) where to read/write the value.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The target system (as Route) where to read/write the value.</maml:para>
          <maml:para>This is an alias of the Route parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The target address where to read/write the Value. The Address can consist of RouteName, NetId, HostName or IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The session object represents the target session where to read/write the value.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>The session ID represents the target session where to read/write the value.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The Port, where to read/write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>10000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Encoding -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Encoding</maml:name>
        <maml:description>
          <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Encoding</command:parameterValue>
        <dev:type>
          <maml:name>System.Text.Encoding</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the Read/Write operation, even if the FailFastHandler is active.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The session object represents the target session where to read/write the value.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Send-TcReadWrite -NetId 1.2.3.4.5.6 -Port 851 -IndexGroup SymbolValueByName -IndexOffset 0 -WriteValue "TwinCAT_SystemInfoVarList._AppInfo.ProjectName" -ReadType string -ReadLength 1024
 
ReadWrite access of process image on target '1.2.3.4.5.6:851':
Start ReadWrite operation WriteData: 'TwinCAT_SystemInfoVarList._AppInfo.ProjectName'(IG:0xf004,IO:0x0000,Len:47),
Read: Type 'System.String' (Len:'1024) on target '1.2.3.4.5.6:851'?
[Y] Yes[A] Yes to All[N] No[L] No to All[S] Suspend[?] Help(default is "Y"): y
ADS_DynSymbols</dev:code>
        <dev:remarks>
          <maml:para>Sends a Read/Write request with index group 0xf004 (SymbolValueByName) and offset 0. The write data will be initialized with the project symbol path and an returned (read) string (Default encoded) returned.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Send-TcReadWrite -NetId 1.2.3.4.5.6 -Port 851 -IndexGroup SymbolValueByName -WriteValue "TwinCAT_SystemInfoVarList._AppInfo.ProjectName" -ReadLength 64 | format-hex
 
ReadWrite access of process image on target '1.2.3.4.5.6:851':
Start ReadWrite operation WriteData: 'TwinCAT_SystemInfoVarList._AppInfo.ProjectName'(IG:0xf004,IO:0x0000,Len:47),
Read: Type 'System.Byte[]' (Len:'64) on target '1.2.3.4.5.6:851'?
[Y] Yes[A] Yes to All[N] No[L] No to All[S] Suspend[?] Help(default is "Y"): y
 
 
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
 
00000000 41 44 53 5F 44 79 6E 53 79 6D 62 6F 6C 73 00 00 ADS_DynSymbols..
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................</dev:code>
        <dev:remarks>
          <maml:para>Sends a Read/Write request with index group 0xf004 (SymbolValueByName) and offset 0. The write data will be initialized with the project symbol path and the returned (read) data is by default a byte array of 64 bytes. The result value will be formatted as hex code.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; $route = Get-AdsRoute -Name 'CX-123456'
PS&gt; $session = $route | New-TcSession -Port 851
PS&gt; $handle = $session | Send-TcReadWrite -IndexGroup SymbolHandleByName -WriteValue "GVL.vgInt" -ReadType Int32 -force
PS&gt; $session | Read-TcValue -IndexGroup SymbolValueByHandle -IndexOffset $handle -ValueType Int16
42</dev:code>
        <dev:remarks>
          <maml:para>Create a session to the PLC (Port 851) of a target system, determine the SymbolHandle by InstancePath and use this handle to read its 'Int16' Value (INT on PLC System).</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-TcRouterInfo -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-TcRouterInfo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TcRouterInfo</command:noun>
      <maml:description>
        <maml:para>Gets the router status information of the specified target system.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet gets status information from the specified target system. To contact the target system, it must be available as actual route or must be the local system. The status information contains the amout of overall router memory and the used memory. Furthermore the number of active connections and the size of the actual router mailbox will be shown.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-TcRouterInfo</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>NetId(s) of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of repeats for this Cmdlet (Default is 1).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The Delay in Seconds between repeated requests in Seconds (Default is 1s). A delay of 0 Seconds means as fast as possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>2500</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Get-TcRouterInfo</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The route object where to get the Target information from..</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of repeats for this Cmdlet (Default is 1).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The Delay in Seconds between repeated requests in Seconds (Default is 1s). A delay of 0 Seconds means as fast as possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>2500</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-TcRouterInfo</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of repeats for this Cmdlet (Default is 1).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The Delay in Seconds between repeated requests in Seconds (Default is 1s). A delay of 0 Seconds means as fast as possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>2500</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-TcRouterInfo</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of repeats for this Cmdlet (Default is 1).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The Delay in Seconds between repeated requests in Seconds (Default is 1s). A delay of 0 Seconds means as fast as possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>2500</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Get-TcRouterInfo</maml:name>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Count -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Count</maml:name>
          <maml:description>
            <maml:para>Specifies the number of repeats for this Cmdlet (Default is 1).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Delay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Delay</maml:name>
          <maml:description>
            <maml:para>The Delay in Seconds between repeated requests in Seconds (Default is 1s). A delay of 0 Seconds means as fast as possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>2500</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>NetId(s) of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the value read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) to use for the value read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>2500</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Count -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Count</maml:name>
        <maml:description>
          <maml:para>Specifies the number of repeats for this Cmdlet (Default is 1).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Delay -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Delay</maml:name>
        <maml:description>
          <maml:para>The Delay in Seconds between repeated requests in Seconds (Default is 1s). A delay of 0 Seconds means as fast as possible.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the value read.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-TcRouterInfo
 
Target Result TotalMem(kb) AvailMem(kb) Ports Drivers Transports Mailbox Size(kb) Mailbox Queue
------ ------ ------------- ------------- ----- ------- ---------- ----------------- -------------
CX_1234 Ok 32768 32759 31 4 11 0 0</dev:code>
        <dev:remarks>
          <maml:para>Get router information from the local system.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Close-TcSession -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Close-TcSession</command:name>
      <command:verb>Close</command:verb>
      <command:noun>TcSession</command:noun>
      <maml:description>
        <maml:para>Closes the specified session.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet closes the specified Point-To-Point Connection to the TwinCAT Target that is represented by the returned session object. All registered SessionProvider types of Sessions can be used here. If using ADS as protocol, this Cmdlet is equivalent to Close/Dispose/Disconnect an ADS Client.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Default -->
      <command:syntaxItem>
        <maml:name>Close-TcSession</maml:name>
        <!-- Parameter: Id -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>The session object to close is specified by this session ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Close-TcSession</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Session">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The Session object to close.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Id -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>The session object to close is specified by this session ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Session">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The Session object to close.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Session">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session object to close.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session object to close.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; $session = New-TcSession -NetId '1.2.3.4.1.1' -port 10000
PS&gt; $session | Get-AdsState
 
Target NetId Port State Latency
                                                          (ms)
------ ----- ---- ----- -------
CX_1234 1.2.3.4.1.1 10000 Config 3
 
PS&gt; $session | Close-TcSession</dev:code>
        <dev:remarks>
          <maml:para>Opens a session to the registered route with AmsNetId: 1.2.3.4.1.1 and closes the ADS Session again.:</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-TcSession -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-TcSession</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TcSession</command:noun>
      <maml:description>
        <maml:para>List the currently established Sessions.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet lists all actually Point-To-Point connections to TwinCAT Targets in form of their session representation. Different types of Sessions can be accessed via the registered types of SessionProviders (e.g. ADS, MQTT, OPC).</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Id -->
      <command:syntaxItem>
        <maml:name>Get-TcSession</maml:name>
        <!-- Parameter: Id -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SessionID">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>Specifies the ID of the session to get.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the Cmdlet to determine also the internal used sessions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Id -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SessionID">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>Specifies the ID of the session to get.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="SessionID">
        <maml:name>SessionID</maml:name>
        <maml:description>
          <maml:para>Specifies the ID of the session to get.</maml:para>
          <maml:para>This is an alias of the Id parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the Cmdlet to determine also the internal used sessions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <maml:introduction>
          <maml:para>List all actual sessions:</maml:para>
        </maml:introduction>
        <dev:code>PS&gt; Get-TcSession</dev:code>
        <dev:remarks>
          <maml:para>Lists all actual initiated sessions.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: New-TcSession -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>New-TcSession</command:name>
      <command:verb>New</command:verb>
      <command:noun>TcSession</command:noun>
      <maml:description>
        <maml:para>Create a new session to a TwinCAT Target.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates a new Point-To-Point Connection to a TwinCAT Target that is represented by the returned session object. Different types of Sessions can be accessed by the registered types of SessionProviders (e.g. ADS, MQTT, OPC). If using ADS as protocol, this Cmdlet is equivalent to create and connect an ADSClient. The Address of the remote system is the AmsNetId and AmsPort.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>New-TcSession</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetID Address</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The AmsPort Address of the new session.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to create the session independant of ReachableRoutes</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>New-TcSession</maml:name>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The AmsPort Address of the new session.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The route target object.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to create the session independant of ReachableRoutes</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>New-TcSession</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The target address of the new session. This can be the NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The AmsPort Address of the new session.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to create the session independant of ReachableRoutes</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Provider -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Provider</maml:name>
          <maml:description>
            <maml:para>Selects the session provider registered on the System (ADS by default)</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetID Address</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The route target object.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The route target object.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The route target object.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Provider -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Provider</maml:name>
        <maml:description>
          <maml:para>Selects the session provider registered on the System (ADS by default)</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The target address of the new session. This can be the NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The target address of the new session. This can be the NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="2">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The AmsPort Address of the new session.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>10000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces to create the session independant of ReachableRoutes</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The route target object.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; $route = Get-AdsRoute -Name "Tc3*"
PS&gt; $session = New-TcSession -Route $route -Port 851
PS&gt; $session
 
ID Address Connected State Cycles Losses LastError Established LastSucceed
-- ------- --------- ----- ------ ------ --------- ----------- -----------
5 172.17.62.105.1.1:851 True Connected 0 0 2016-12-12T12:22:02</dev:code>
        <dev:remarks>
          <maml:para>Establishes a new ADS Session/Connection to the specified route destination that has the name pattern "tc3*" via port 851 (PLC1)</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; New-TcSession -NetId '172.17.62.105.1.1' -port 851
 
ID Address Connected State Cycles Losses LastError Established LastSucceed
-- ------- --------- ----- ------ ------ --------- ----------- -----------
5 172.17.62.105.1.1:851 True Connected 0 0 2016-12-12T12:22:02</dev:code>
        <dev:remarks>
          <maml:para>Establishes a new Ads Session/Connection to the specified NetId/Port address.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; New-TcSession -Name 'CX_123456' -port 851
 
ID Address Connected State Cycles Losses LastError Established LastSucceed
-- ------- --------- ----- ------ ------ --------- ----------- -----------
5 172.17.62.105.1.1:851 True Connected 0 0 2016-12-12T12:22:02</dev:code>
        <dev:remarks>
          <maml:para>Establishes a new Ads Session/Connection to the target system with the Name/HostName 'CX_123456' (Port 851).</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-TcSymbol -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-TcSymbol</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TcSymbol</command:noun>
      <maml:description>
        <maml:para>Get the symbols from a TwinCAT target system / Device.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet get the symbolic information from a target system if symbols are provided. The information can be determined via different Providers (e.g. ADS, MQTT, OPC).</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbol</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path of the Symbol(s). Because wildcards are permitted with path, the wildcard parameters '[' and ']' must be escaped with a backtick.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The target system port.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeArrays -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeArrays</maml:name>
          <maml:description>
            <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The target system NetId.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Recurse -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbol</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path of the Symbol(s). Because wildcards are permitted with path, the wildcard parameters '[' and ']' must be escaped with a backtick.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address for the target system where to get the symbol.. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The target system port.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeArrays -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeArrays</maml:name>
          <maml:description>
            <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Recurse -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbol</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path of the Symbol(s). Because wildcards are permitted with path, the wildcard parameters '[' and ']' must be escaped with a backtick.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The target system port.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>The target system route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeArrays -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeArrays</maml:name>
          <maml:description>
            <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Recurse -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbol</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path of the Symbol(s). Because wildcards are permitted with path, the wildcard parameters '[' and ']' must be escaped with a backtick.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The session object that is used to get the symbols.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeArrays -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeArrays</maml:name>
          <maml:description>
            <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Recurse -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbol</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path of the Symbol(s). Because wildcards are permitted with path, the wildcard parameters '[' and ']' must be escaped with a backtick.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>The unique id of the session object that is used to get the symbols.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeArrays -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeArrays</maml:name>
          <maml:description>
            <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Recurse -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdPortLiteral -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbol</maml:name>
        <!-- Parameter: LiteralPath -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>LiteralPath</maml:name>
          <maml:description>
            <maml:para>The literal instance path of the symbol (Path access without wildcard).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The target system port.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeArrays -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeArrays</maml:name>
          <maml:description>
            <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The target system NetId.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Recurse -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStrLiteral -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbol</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address for the target system where to get the symbol.. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: LiteralPath -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>LiteralPath</maml:name>
          <maml:description>
            <maml:para>The literal instance path of the symbol (Path access without wildcard).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The target system port.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeArrays -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeArrays</maml:name>
          <maml:description>
            <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Recurse -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteLiteral -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbol</maml:name>
        <!-- Parameter: LiteralPath -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>LiteralPath</maml:name>
          <maml:description>
            <maml:para>The literal instance path of the symbol (Path access without wildcard).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The target system port.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>The target system route.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeArrays -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeArrays</maml:name>
          <maml:description>
            <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Recurse -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionLiteral -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbol</maml:name>
        <!-- Parameter: LiteralPath -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>LiteralPath</maml:name>
          <maml:description>
            <maml:para>The literal instance path of the symbol (Path access without wildcard).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The session object that is used to get the symbols.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeArrays -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeArrays</maml:name>
          <maml:description>
            <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Recurse -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdLiteral -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbol</maml:name>
        <!-- Parameter: LiteralPath -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>LiteralPath</maml:name>
          <maml:description>
            <maml:para>The literal instance path of the symbol (Path access without wildcard).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>The unique id of the session object that is used to get the symbols.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeArrays -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeArrays</maml:name>
          <maml:description>
            <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Recurse -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Recurse</maml:name>
          <maml:description>
            <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Path -->
      <command:parameter required="false" globbing="true" pipelineInput="false" position="0">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The instance path of the Symbol(s). Because wildcards are permitted with path, the wildcard parameters '[' and ']' must be escaped with a backtick.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: LiteralPath -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>LiteralPath</maml:name>
        <maml:description>
          <maml:para>The literal instance path of the symbol (Path access without wildcard).</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The target system NetId.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Route -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The target system route.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address for the target system where to get the symbol.. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The target system port.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>10000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The session object that is used to get the symbols.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The session object that is used to get the symbols.</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>The unique id of the session object that is used to get the symbols.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>The unique id of the session object that is used to get the symbols.</maml:para>
          <maml:para>This is an alias of the SessionId parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Recurse -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Recurse</maml:name>
        <maml:description>
          <maml:para>Gets the symbol recursively. Often used in conjunction with Wildcards in -Path</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces to reload the symbols (forces to reload the internal cache)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IncludeArrays -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IncludeArrays</maml:name>
        <maml:description>
          <maml:para>Active only in recursive mode - ignored otherwise. This parameter forces the Cmdlet to output all symbols - even Array Elements. Please take care because the output can be very lengthy dependent on the Size of the Array.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The session object that is used to get the symbols.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-TcSymbol -port 851
InstanceName DataType Size InstancePath
------------ -------- ---- ------------
tc2vBool BOOL 1 .tc2vBool
tc2vInt INT 2 .tc2vInt
Constants 0 Constants
GVL 0 GVL
MAIN 0 MAIN
Slow 0 Slow
TwinCAT_SystemInfoVarList 0 TwinCAT_SystemInfoVarList</dev:code>
        <dev:remarks>
          <maml:para>Get the root symbolic information from the local system (Port 851):</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt;$session = New-TcSession -NetId 1.2.3.4.5.6 -Port 851
PS&gt;$session | Get-TcSymbol "TwinCAT_SystemInfoVarList._AppInfo" -recurse
 
 InstanceName DataType Size InstancePath
------------ -------- ---- ------------
_AppInfo PLC.PlcAppSystemInfo 256 TwinCAT_SystemInfoVarList._AppInfo
ObjId OTCID 4 TwinCAT_SystemInfoVarList._AppInfo.ObjId
TaskCnt UDINT 4 TwinCAT_SystemInfoVarList._AppInfo.TaskCnt
OnlineChangeCnt UDINT 4 TwinCAT_SystemInfoVarList._AppInfo.OnlineChangeCnt
Flags DWORD 4 TwinCAT_SystemInfoVarList._AppInfo.Flags
AdsPort UINT 2 TwinCAT_SystemInfoVarList._AppInfo.AdsPort
BootDataLoaded BOOL 1 TwinCAT_SystemInfoVarList._AppInfo.BootDataLoaded
OldBootData BOOL 1 TwinCAT_SystemInfoVarList._AppInfo.OldBootData
AppTimestamp DT 4 TwinCAT_SystemInfoVarList._AppInfo.AppTimestamp
KeepOutputsOnBP BOOL 1 TwinCAT_SystemInfoVarList._AppInfo.KeepOutputsOnBP
ShutdownInProgress BOOL 1 TwinCAT_SystemInfoVarList._AppInfo.ShutdownInProgress
LicensesPending BOOL 1 TwinCAT_SystemInfoVarList._AppInfo.LicensesPending
BSODOccured BOOL 1 TwinCAT_SystemInfoVarList._AppInfo.BSODOccured
TComSrvPtr ITComObjectServer 4 TwinCAT_SystemInfoVarList._AppInfo.TComSrvPtr
AppName STRING(63) 64 TwinCAT_SystemInfoVarList._AppInfo.AppName
ProjectName STRING(63) 64 TwinCAT_SystemInfoVarList._AppInfo.ProjectName</dev:code>
        <dev:remarks>
          <maml:para>Create a session to the target system '1.2.3.4.5.6' Port: 851 and get the symbol 'TwinCAT_SystemInfoVarList._AppInfo' and its subsymbols recursively.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; $session = New-TcSession -Name 'CX_123456' -port 851
PS&gt; $session | Get-TcSymbol -recurse | where InstanceName -like 'Project*'
 
 InstanceName DataType Size InstancePath
 ------------ -------- ---- ------------
 ProjectName STRING(63) 64 TwinCAT_SystemInfoVarList._AppInfo.ProjectName</dev:code>
        <dev:remarks>
          <maml:para>Gets an ADS-Session/Connection to the target system CX_123456 on port 851, downloads the symbol information recursively and returns all Instances where the instance name is like the pattern 'Project*'.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 4 ----------</maml:title>
        <dev:code>PS&gt; $s = New-TcSession -port 851
PS&gt; $s | Get-TcSymbol -path '.tc2vStructArray`[0`]','.tc2vStructArray`[1`]'
 
InstancePath Category DataType Size Static Persistant IG IO
------------ -------- -------- ---- ------ ---------- ---- ------
.tc2vStructArray[0] Struct ST_SimpleStruct 165 False False 4040 117942
.tc2vStructArray[1] Struct ST_SimpleStruct 165 False False 4040 1179E7</dev:code>
        <dev:remarks>
          <maml:para>Gets an ADS-Session/connection to the local system PLC (Port 851) and get two Array Elements. Because the -path parameter uses the wildcard paramater '[' and ']' these characters must be escaped with backtick '`'.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 5 ----------</maml:title>
        <dev:code>PS&gt; $s = New-TcSession -port 851
PS&gt; $s | Get-TcSymbol -literalPath '.tc2vStructArray[0]','.tc2vStructArray[1]'
 
InstancePath Category DataType Size Static Persistant IG IO
------------ -------- -------- ---- ------ ---------- ---- ------
.tc2vStructArray[0] Struct ST_SimpleStruct 165 False False 4040 117942
.tc2vStructArray[1] Struct ST_SimpleStruct 165 False False 4040 1179E7</dev:code>
        <dev:remarks>
          <maml:para>Gets an ADS-Session/connection to the local system PLC (Port 851) and gets two Array Elements with their literal path.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-TcSymbolStatistics -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-TcSymbolStatistics</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TcSymbolStatistics</command:noun>
      <maml:description>
        <maml:para>Get the Symbol statistics from a TwinCAT target system / Device.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet gets the Symbol statistics from a target system if symbolic information is provided by the device (Symbol Server available). The Statistic information include information about the amount of available Symbols and Datatypes, how they are configured and the actual caching information.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbolStatistics</maml:name>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to load the statistic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetID address of the target system where get the statistic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port where to load the datatype descriptions (Default Port 851)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>851</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Reset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reset</maml:name>
          <maml:description>
            <maml:para>Resets and reloads all cached symbolic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbolStatistics</maml:name>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>The Route target where the the statistic information to load (RouteTarget.Local by default).</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to load the statistic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port where to load the datatype descriptions (Default Port 851)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>851</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Reset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reset</maml:name>
          <maml:description>
            <maml:para>Resets and reloads all cached symbolic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbolStatistics</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address where to load the statistic information. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to load the statistic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port where to load the datatype descriptions (Default Port 851)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>851</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Reset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reset</maml:name>
          <maml:description>
            <maml:para>Resets and reloads all cached symbolic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbolStatistics</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The session object to use for the statistic information upload.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to load the statistic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Reset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reset</maml:name>
          <maml:description>
            <maml:para>Resets and reloads all cached symbolic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Get-TcSymbolStatistics</maml:name>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>The unique session Identifier that represents the session to use for statistic information upload.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces to load the statistic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Reset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Reset</maml:name>
          <maml:description>
            <maml:para>Resets and reloads all cached symbolic information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetID address of the target system where get the statistic information.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Route -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The Route target where the the statistic information to load (RouteTarget.Local by default).</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The Route target where the the statistic information to load (RouteTarget.Local by default).</maml:para>
          <maml:para>This is an alias of the Route parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address where to load the statistic information. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The Port where to load the datatype descriptions (Default Port 851)</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>851</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The session object to use for the statistic information upload.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named" aliases="InputObject">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The session object to use for the statistic information upload.</maml:para>
          <maml:para>This is an alias of the Session parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>The unique session Identifier that represents the session to use for statistic information upload.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Id">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>The unique session Identifier that represents the session to use for statistic information upload.</maml:para>
          <maml:para>This is an alias of the SessionId parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces to load the statistic information.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Reset -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Reset</maml:name>
        <maml:description>
          <maml:para>Resets and reloads all cached symbolic information.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The session object to use for the statistic information upload.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code></dev:code>
        <dev:remarks>
          <maml:para>Get the data types from the local system (Port 851):</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-TcTargetInfo -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-TcTargetInfo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TcTargetInfo</command:noun>
      <maml:description>
        <maml:para>Get TwinCAT Device Target information.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet gets information from the specified target system. To contact the target system, it must be available as actual route. The information contains the TargetName, TwinCAT Version, Running Operating system, CPU Architecture and Image Information.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-TcTargetInfo</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>NetId(s) of the target system.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Get-TcTargetInfo</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The route object where to get the Target information from..</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-TcTargetInfo</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-TcTargetInfo</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Get-TcTargetInfo</maml:name>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>NetId(s) of the target system.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Target names/addresses. These can consist of RouteName, NetID, HostName or IPAddress. Wildcards are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the value read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) to use for the value read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The route object where to get the Target information from..</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the value read.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-TcTargetInfo
 
Target NetId Version OS Image Device CPUArch SystemId Fingerprint
------ ----- ------- -- ----- ------ ------- -------- -----------
CX_11111 192.168.0.1.1.1 3.1.4026.2 Win10 AMD64 5b42297a-a9dd-6623-1780-e52074e54f71 2f72d63cba3069b5e1…</dev:code>
        <dev:remarks>
          <maml:para>Get the target information of the local system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Get-AdsRoute | Get-TcTargetInfo
 
Target Version Level OS Image Device CPUArch
------ ------- ----- -- ----- ------ -------
CP-15ECA0 3.1.4021.50 CP Win7 IntelX86
TC3TESTA1-CP67X 3.1.4021.54 CP Win7 IntelX86</dev:code>
        <dev:remarks>
          <maml:para>Get the target information of the actual connected routes.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Read-TcValue -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Read-TcValue</command:name>
      <command:verb>Read</command:verb>
      <command:noun>TcValue</command:noun>
      <maml:description>
        <maml:para>Reads values from TwinCAT devices.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet read values from TwinCAT Devices. The devices can be accessed via different ValueProviders.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPortIndexed -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="ReadSize,Length">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetId part of the AmsAddress for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdPortIndexedTyped -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="ReadSize,Length">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ValueType -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="Type,ReadType">
          <maml:name>ValueType</maml:name>
          <maml:description>
            <maml:para>The dataType of the Value for a 'ReadAny' access. Only usable with IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Type</command:parameterValue>
          <dev:type>
            <maml:name>System.Type</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetId part of the AmsAddress for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdPortSymbol -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Extended -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="FullMetadata">
          <maml:name>Extended</maml:name>
          <maml:description>
            <maml:para>Switch on 'ExtendedMode', what means that primitive values are not resolved to their primitive managed (powershell) counterparts, but still contain rich metadata as DynamicValues.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetId part of the AmsAddress for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteIndexed -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="ReadSize,Length">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>Specifies the target system(s) to read value from.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteIndexedTyped -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ValueType -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="Type,ReadType">
          <maml:name>ValueType</maml:name>
          <maml:description>
            <maml:para>The dataType of the Value for a 'ReadAny' access. Only usable with IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Type</command:parameterValue>
          <dev:type>
            <maml:name>System.Type</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>Specifies the target system(s) to read value from.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ReadSize,Length">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteSymbol -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>Specifies the target system(s) to read value from.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Extended -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="FullMetadata">
          <maml:name>Extended</maml:name>
          <maml:description>
            <maml:para>Switch on 'ExtendedMode', what means that primitive values are not resolved to their primitive managed (powershell) counterparts, but still contain rich metadata as DynamicValues.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressIndexed -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="ReadSize,Length">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Address(es) of the system(s) where to read the value. The Address can consist of NetId, IPAddress or HostName. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressIndexedTyped -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ValueType -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="Type,ReadType">
          <maml:name>ValueType</maml:name>
          <maml:description>
            <maml:para>The dataType of the Value for a 'ReadAny' access. Only usable with IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Type</command:parameterValue>
          <dev:type>
            <maml:name>System.Type</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Address(es) of the system(s) where to read the value. The Address can consist of NetId, IPAddress or HostName. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ReadSize,Length">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressSymbol -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The Address(es) of the system(s) where to read the value. The Address can consist of NetId, IPAddress or HostName. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The address Port to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Extended -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="FullMetadata">
          <maml:name>Extended</maml:name>
          <maml:description>
            <maml:para>Switch on 'ExtendedMode', what means that primitive values are not resolved to their primitive managed (powershell) counterparts, but still contain rich metadata as DynamicValues.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIndexed -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="ReadSize,Length">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIndexedTyped -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ValueType -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="Type,ReadType">
          <maml:name>ValueType</maml:name>
          <maml:description>
            <maml:para>The dataType of the Value for a 'ReadAny' access. Only usable with IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Type</command:parameterValue>
          <dev:type>
            <maml:name>System.Type</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ReadSize,Length">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionSymbol -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Extended -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="FullMetadata">
          <maml:name>Extended</maml:name>
          <maml:description>
            <maml:para>Switch on 'ExtendedMode', what means that primitive values are not resolved to their primitive managed (powershell) counterparts, but still contain rich metadata as DynamicValues.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdIndexed -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="ReadSize,Length">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdIndexedTyped -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ValueType -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="Type,ReadType">
          <maml:name>ValueType</maml:name>
          <maml:description>
            <maml:para>The dataType of the Value for a 'ReadAny' access. Only usable with IndexGroup/IndexOffset access.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Type</command:parameterValue>
          <dev:type>
            <maml:name>System.Type</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ReadSize,Length">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdSymbol -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use for the value read.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Extended -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="FullMetadata">
          <maml:name>Extended</maml:name>
          <maml:description>
            <maml:para>Switch on 'ExtendedMode', what means that primitive values are not resolved to their primitive managed (powershell) counterparts, but still contain rich metadata as DynamicValues.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: InputObject -->
      <command:syntaxItem>
        <maml:name>Read-TcValue</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Symbol">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The symbol object to read value from.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISymbol</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.TypeSystem.ISymbol</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetId part of the AmsAddress for the value read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Route -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>Specifies the target system(s) to read value from.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>Specifies the target system(s) to read value from.</maml:para>
          <maml:para>This is an alias of the Route parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The Address(es) of the system(s) where to read the value. The Address can consist of NetId, IPAddress or HostName. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the value read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) to use for the value read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The address Port to use for the value read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>10000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IndexGroup -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
        <maml:name>IndexGroup</maml:name>
        <maml:description>
          <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
        <maml:name>IG</maml:name>
        <maml:description>
          <maml:para>The IndexGroup of the Symbol to read from target system. Only for IndexGroup/IndexOffset access.</maml:para>
          <maml:para>This is an alias of the IndexGroup parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IndexOffset -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
        <maml:name>IndexOffset</maml:name>
        <maml:description>
          <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
        <maml:name>IO</maml:name>
        <maml:description>
          <maml:para>The IndexOffset of the Symbol to read from the target system. Only for IndexGroup/IndexOffset access.</maml:para>
          <maml:para>This is an alias of the IndexOffset parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ValueType -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="Type,ReadType">
        <maml:name>ValueType</maml:name>
        <maml:description>
          <maml:para>The dataType of the Value for a 'ReadAny' access. Only usable with IndexGroup/IndexOffset access.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Type</command:parameterValue>
        <dev:type>
          <maml:name>System.Type</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="Type,ReadType">
        <maml:name>Type</maml:name>
        <maml:description>
          <maml:para>The dataType of the Value for a 'ReadAny' access. Only usable with IndexGroup/IndexOffset access.</maml:para>
          <maml:para>This is an alias of the ValueType parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Type</command:parameterValue>
        <dev:type>
          <maml:name>System.Type</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="Type,ReadType">
        <maml:name>ReadType</maml:name>
        <maml:description>
          <maml:para>The dataType of the Value for a 'ReadAny' access. Only usable with IndexGroup/IndexOffset access.</maml:para>
          <maml:para>This is an alias of the ValueType parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Type</command:parameterValue>
        <dev:type>
          <maml:name>System.Type</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Size -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="ReadSize,Length">
        <maml:name>Size</maml:name>
        <maml:description>
          <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="ReadSize,Length">
        <maml:name>ReadSize</maml:name>
        <maml:description>
          <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          <maml:para>This is an alias of the Size parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="3" aliases="ReadSize,Length">
        <maml:name>Length</maml:name>
        <maml:description>
          <maml:para>The 'Size' of Value (in bytes) to read.</maml:para>
          <maml:para>This is an alias of the Size parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Path -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The instance path of the symbol to read (symbolic access). This parameter supports wildcards.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Symbol">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The symbol object to read value from.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISymbol</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.TypeSystem.ISymbol</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Symbol">
        <maml:name>Symbol</maml:name>
        <maml:description>
          <maml:para>The symbol object to read value from.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISymbol</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.TypeSystem.ISymbol</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Extended -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="FullMetadata">
        <maml:name>Extended</maml:name>
        <maml:description>
          <maml:para>Switch on 'ExtendedMode', what means that primitive values are not resolved to their primitive managed (powershell) counterparts, but still contain rich metadata as DynamicValues.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="FullMetadata">
        <maml:name>FullMetadata</maml:name>
        <maml:description>
          <maml:para>Switch on 'ExtendedMode', what means that primitive values are not resolved to their primitive managed (powershell) counterparts, but still contain rich metadata as DynamicValues.</maml:para>
          <maml:para>This is an alias of the Extended parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Force reading value. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Encoding -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Encoding</maml:name>
        <maml:description>
          <maml:para>Specifies the Encoding for strings. The DefaultEncoding is ANSI with actual code page.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Encoding</command:parameterValue>
        <dev:type>
          <maml:name>System.Text.Encoding</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the value read.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.TypeSystem.ISymbol</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The symbol object to read value from.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; $session = New-TcSession -NetId '1.2.3.4.5.6' -Port 851
PS&gt; $symbol = $session | get-TcSymbol -Path 'TwinCAT_SystemInfoVarList._AppInfo.ProjectName'
PS&gt; $symbol | Read-TcValue
 
ADS_DynSymbols</dev:code>
        <dev:remarks>
          <maml:para>Create an ADS Session/Connection, determine the 'ProjectName' Symbol from the running PLC Project, read the current value of the symbol and print it to the console.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Read-TcValue -IndexGroup 0x4040 -IndexOffset 0x1247a8 -NetId 172.17.62.105.1.1 -port 851 -size 0xff | format-hex
 
 
           00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000 41 44 53 5F 44 79 6E 53 79 6D 62 6F 6C 73 00 00 ADS_DynSymbols..
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000080 11 00 01 01 A0 86 01 00 14 00 5E 01 21 C2 15 00 .... ?....^.!A..
00000090 00 7F F1 57 3B 83 6C 07 1E 00 00 00 00 00 00 00 .⌂ñW;?l.........
000000A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000C0 41 44 53 5F 44 79 6E 53 79 6D 62 6F 6C 73 5F 50 ADS_DynSymbols_P
000000D0 6C 63 54 61 73 6B 00 00 00 00 00 00 00 00 00 00 lcTask..........
000000E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000000F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...............</dev:code>
        <dev:remarks>
          <maml:para>Reads 256 Bytes via IndexGroup/IndexOffset from the specified target system and prints the out formatted as hexdump.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; Read-TcValue -session $session -IndexGroup 0x4040 -IndexOffset 0x1247A8 -ValueType String
ADS_DynSymbols</dev:code>
        <dev:remarks>
          <maml:para>Reads a string typed value from IndexGroup / IndexOffset. In this example the ProjectName of the running PLC Project resides at that ProcessImage Address.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 4 ----------</maml:title>
        <dev:code>PS&gt; $route = Get-AdsRoute -Name 'CX-123456'
PS&gt; $session = $route | New-TcSession -Port 851
PS&gt; $handle = $session | Send-TcReadWrite -IndexGroup SymbolHandleByName -WriteValue "GVL.vgInt" -ReadType Int32 -force
PS&gt; $session | Read-TcValue -IndexGroup SymbolValueByHandle -IndexOffset $handle -ValueType Int16
42</dev:code>
        <dev:remarks>
          <maml:para>Create a session to the PLC (Port 851) of a target system, determine the SymbolHandle by InstancePath and use this handle to read its 'Int16' Value (INT on PLC System).</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Write-TcValue -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Write-TcValue</command:name>
      <command:verb>Write</command:verb>
      <command:noun>TcValue</command:noun>
      <maml:description>
        <maml:para>Write values to TwinCAT devices.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet writes values to TwinCAT Devices. The devices can be accessed via different ValueProviders. All sorts of ADS-addressing will be supported by this Cmdlet: Addressing by IndexGroup / IndexOffset (see IndexGroup, IndexOffset paramters) Addressing by Instance Path (see path parameter) Addressing by Symbol (see InputObject / Symbol parameter)</maml:para>
      <maml:para>IMPORTANT: Writing values should be done with highest care because it could destabilize the TwinCAT System when the write operation is not addressed properly. While writing with available symbol information is not critical and should be preferred the size and position of symbol data is known within the process image), the access via Instance path is less secure. The size of the overwritten data is not known and therefore not checked by the Cmdlet. The highest attention should be taken with write IndexGroup / IndexOffset write operations because beneath the unknown data size even the position of the data is not checked. The data is written directly into the process image.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPortIndexed -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>IndexGroup of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port, where to write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The ADS target NetID(s) of the system(s) where to write the Value. More than one target will be supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Length,WriteSize">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and could destabilize the system. No further validity check is done for the symbol alignment and therefore this should be done with highest care (best with use of the -Confirm and -Whatif Cmdlet arguments). If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: NetIdPortSymbol -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path to the symbol to write (Symbolic access). Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port, where to write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The ADS target NetID(s) of the system(s) where to write the Value. More than one target will be supported.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteIndexed -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>IndexGroup of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port, where to write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>The target system (as Route) where to write the value.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Length,WriteSize">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and could destabilize the system. No further validity check is done for the symbol alignment and therefore this should be done with highest care (best with use of the -Confirm and -Whatif Cmdlet arguments). If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RouteSymbol -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path to the symbol to write (Symbolic access). Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port, where to write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Route -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
          <maml:name>Route</maml:name>
          <maml:description>
            <maml:para>The target system (as Route) where to write the value.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressIndexed -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>IndexGroup of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The target address where to write the Value. The Address can consist of RouteName, NetId, HostName or IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port, where to write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Length,WriteSize">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and could destabilize the system. No further validity check is done for the symbol alignment and therefore this should be done with highest care (best with use of the -Confirm and -Whatif Cmdlet arguments). If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressSymbol -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path to the symbol to write (Symbolic access). Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The target address where to write the Value. The Address can consist of RouteName, NetId, HostName or IPAddress. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Port -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Port</maml:name>
          <maml:description>
            <maml:para>The Port, where to write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>10000</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIndexed -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>IndexGroup of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The session object represents the target session where to write the value.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Length,WriteSize">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and could destabilize the system. No further validity check is done for the symbol alignment and therefore this should be done with highest care (best with use of the -Confirm and -Whatif Cmdlet arguments). If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionSymbol -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path to the symbol to write (Symbolic access). Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The session object represents the target session where to write the value.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdIndexed -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: IndexGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
          <maml:name>IndexGroup</maml:name>
          <maml:description>
            <maml:para>IndexGroup of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IndexOffset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
          <maml:name>IndexOffset</maml:name>
          <maml:description>
            <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">uint</command:parameterValue>
          <dev:type>
            <maml:name>System.UInt32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>The session ID represents the target session where to write the value.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Size -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Length,WriteSize">
          <maml:name>Size</maml:name>
          <maml:description>
            <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
            <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and could destabilize the system. No further validity check is done for the symbol alignment and therefore this should be done with highest care (best with use of the -Confirm and -Whatif Cmdlet arguments). If applicable writing data via symbolic information should be preferred!</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionIdSymbol -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>The instance path to the symbol to write (Symbolic access). Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>The session ID represents the target session where to write the value.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: InputObject -->
      <command:syntaxItem>
        <maml:name>Write-TcValue</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Symbol">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The symbol object on which to write the value.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISymbol</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.TypeSystem.ISymbol</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Encoding -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Encoding</maml:name>
          <maml:description>
            <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Encoding</command:parameterValue>
          <dev:type>
            <maml:name>System.Text.Encoding</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The ADS target NetID(s) of the system(s) where to write the Value. More than one target will be supported.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Route -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The target system (as Route) where to write the value.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Destination">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The target system (as Route) where to write the value.</maml:para>
          <maml:para>This is an alias of the Route parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="named">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The target address where to write the Value. The Address can consist of RouteName, NetId, HostName or IPAddress. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The session object represents the target session where to write the value.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>The session ID represents the target session where to write the value.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Port -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Port</maml:name>
        <maml:description>
          <maml:para>The Port, where to write the value. This Parameter is used in combination with the NetId, Route or Address input parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>10000</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Value -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Value</maml:name>
        <maml:description>
          <maml:para>The value to write. If no additional Length parameter is set, the Write-TcValue Cmdlet marshalls this value to its appropiate size. To not overwrite data of other symbols within the process image, special attention must be taken (see the Confirm and Whatif parameters).</maml:para>
        </maml:description>
        <command:parameterValue required="true">object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: IndexGroup -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
        <maml:name>IndexGroup</maml:name>
        <maml:description>
          <maml:para>IndexGroup of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="1" aliases="IG">
        <maml:name>IG</maml:name>
        <maml:description>
          <maml:para>IndexGroup of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          <maml:para>This is an alias of the IndexGroup parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IndexOffset -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
        <maml:name>IndexOffset</maml:name>
        <maml:description>
          <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="2" aliases="IO">
        <maml:name>IO</maml:name>
        <maml:description>
          <maml:para>IndexOffset of the Value to write, only for IndexGroup/IndexOffset access.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and can destabilize the system. No validity check is done for the symbol alignment and therefore this should be done with highest care! If applicable writing data via symbolic information should be preferred!</maml:para>
          <maml:para>This is an alias of the IndexOffset parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">uint</command:parameterValue>
        <dev:type>
          <maml:name>System.UInt32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Size -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Length,WriteSize">
        <maml:name>Size</maml:name>
        <maml:description>
          <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and could destabilize the system. No further validity check is done for the symbol alignment and therefore this should be done with highest care (best with use of the -Confirm and -Whatif Cmdlet arguments). If applicable writing data via symbolic information should be preferred!</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Length,WriteSize">
        <maml:name>Length</maml:name>
        <maml:description>
          <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and could destabilize the system. No further validity check is done for the symbol alignment and therefore this should be done with highest care (best with use of the -Confirm and -Whatif Cmdlet arguments). If applicable writing data via symbolic information should be preferred!</maml:para>
          <maml:para>This is an alias of the Size parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Length,WriteSize">
        <maml:name>WriteSize</maml:name>
        <maml:description>
          <maml:para>The Length of the data that will be overwritten within the process image.</maml:para>
          <maml:para>IMPORTANT: Please be aware, that writing data via IndexGroup/IndexOffset simply overwrites data in the ProcessImage and could destabilize the system. No further validity check is done for the symbol alignment and therefore this should be done with highest care (best with use of the -Confirm and -Whatif Cmdlet arguments). If applicable writing data via symbolic information should be preferred!</maml:para>
          <maml:para>This is an alias of the Size parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Path -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>The instance path to the symbol to write (Symbolic access). Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Symbol">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The symbol object on which to write the value.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISymbol</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.TypeSystem.ISymbol</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Symbol">
        <maml:name>Symbol</maml:name>
        <maml:description>
          <maml:para>The symbol object on which to write the value.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISymbol</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.TypeSystem.ISymbol</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Encoding -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Encoding</maml:name>
        <maml:description>
          <maml:para>Specifies the Encoding for strings. The Default is ANSI with actual code page.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Encoding</command:parameterValue>
        <dev:type>
          <maml:name>System.Text.Encoding</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>System.Text.SBCSCodePageEncoding</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the write operation, even if the FailFastHandler is active.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>The Quiet parameter suppresses the 'ShouldProcess' messsage and the Cmdlet will be processed without further user confirmation.</maml:para>
          <maml:para>This is an alias of the Quiet parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The session object represents the target session where to write the value.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.TypeSystem.ISymbol</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The symbol object on which to write the value.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; $session = New-TcSession -NetId 1.2.3.4.5.6 -Port 851
PS&gt; $projectNameSymbol = $session | Get-TcSymbol -path "*ProjectName"
PS&gt; $projectNameSymbol
 
InstanceName DataType Size InstancePath
------------ -------- ---- ------------
ProjectName STRING(63) 64 TwinCAT_SystemInfoVarList._AppInfo.ProjectName
 
PS&gt; $projectNameSymbol | Read-TcValue
 
OldProjectName
 
PS&gt; $projectNameSymbol | Write-TcValue -Value "NewProjectName" -force
PS&gt; $projectNameSymbol | ReadTcValue
 
NewProjectName</dev:code>
        <dev:remarks>
          <maml:para>This example shows how to create a session, determining the Symbol 'ProjectName within the _AppInfo Struct on a running PLC project and reading its value. After that, the Value will be overwritten with 'NewProjectName'.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>Write-TcValue -session $session -IndexGroup 0x4040 -IndexOffset 0x1247A8 -Value "NewProjectName"</dev:code>
        <dev:remarks>
          <maml:para>Writes a string typed Value to the specified IndexGroup/IndexOffset Address.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Get-TcVersion -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-TcVersion</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TcVersion</command:noun>
      <maml:description>
        <maml:para>Get the TwinCAT Version of a target system.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet gets the TwinCAT version of the specified target version and returns the version object.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetIdPort -->
      <command:syntaxItem>
        <maml:name>Get-TcVersion</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The target address.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces reading the version. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Get-TcVersion</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>The target routes where to determine the Version information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces reading the version. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Get-TcVersion</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>Addresses where to determine the Version information. The Addresses can consist of NetId, IPAddress or HostName. Wildcards are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces reading the version. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Get-TcVersion</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The Session to use for the Cmdlet.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces reading the version. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Get-TcVersion</maml:name>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use for the Cmdlet.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces reading the version. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The target address.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>The target routes where to determine the Version information.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>The target routes where to determine the Version information.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>The target routes where to determine the Version information.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>Addresses where to determine the Version information. The Addresses can consist of NetId, IPAddress or HostName. Wildcards are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Addresses where to determine the Version information. The Addresses can consist of NetId, IPAddress or HostName. Wildcards are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) to use for the Cmdlet.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces reading the version. This flag bypasses the FailFastInterceptor to retry communication in every case.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The target routes where to determine the Version information.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The Session to use for the Cmdlet.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Get-TcVersion
 
Major Minor Build Revision
----- ----- ----- --------
3 1 4021 50</dev:code>
        <dev:remarks>
          <maml:para>Get the TwinCAT version of the local system.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Get-AdsRoute | Get-TcVersion
 
Major Minor Build Revision
----- ----- ----- --------
3 1 4021 50
3 1 4021 54</dev:code>
        <dev:remarks>
          <maml:para>Get the TwinCAT version actual routes.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
  <!-- Cmdlet: Restart-TwinCAT -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Restart-TwinCAT</command:name>
      <command:verb>Restart</command:verb>
      <command:noun>TwinCAT</command:noun>
      <maml:description>
        <maml:para>Restarts or Resets a specified TwinCAT System.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This Cmdlet Restarts or Resets the specified TwinCAT System dependant of its command parameter. The TwinCAT system will end up in ADS State 'Run' or 'Config'.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: NetId -->
      <command:syntaxItem>
        <maml:name>Restart-TwinCAT</maml:name>
        <!-- Parameter: NetId -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
          <maml:name>NetId</maml:name>
          <maml:description>
            <maml:para>The NetId address where to set the state (Local system by default). Multiple values are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Command -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Command</maml:name>
          <maml:description>
            <maml:para>The timeout to wait for restart. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
            <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Reset</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReinit -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReinit</maml:name>
          <maml:description>
            <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoWait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoWait</maml:name>
          <maml:description>
            <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PollingRate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PollingRate</maml:name>
          <maml:description>
            <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>This Cmdlet return only the AdsState instead of full information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThrowError -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ThrowError</maml:name>
          <maml:description>
            <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Route -->
      <command:syntaxItem>
        <maml:name>Restart-TwinCAT</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>Target route(s), where to set the state. Multiple values are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">IRoute[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.IRoute[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Command -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Command</maml:name>
          <maml:description>
            <maml:para>The timeout to wait for restart. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
            <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Reset</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReinit -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReinit</maml:name>
          <maml:description>
            <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoWait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoWait</maml:name>
          <maml:description>
            <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PollingRate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PollingRate</maml:name>
          <maml:description>
            <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>This Cmdlet return only the AdsState instead of full information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThrowError -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ThrowError</maml:name>
          <maml:description>
            <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AddressStr -->
      <command:syntaxItem>
        <maml:name>Restart-TwinCAT</maml:name>
        <!-- Parameter: Address -->
        <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
          <maml:name>Address</maml:name>
          <maml:description>
            <maml:para>The address of the system where to set the state. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards and multiple values are permitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Command -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Command</maml:name>
          <maml:description>
            <maml:para>The timeout to wait for restart. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
            <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Reset</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReinit -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReinit</maml:name>
          <maml:description>
            <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoWait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoWait</maml:name>
          <maml:description>
            <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PollingRate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PollingRate</maml:name>
          <maml:description>
            <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>This Cmdlet return only the AdsState instead of full information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThrowError -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ThrowError</maml:name>
          <maml:description>
            <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Session -->
      <command:syntaxItem>
        <maml:name>Restart-TwinCAT</maml:name>
        <!-- Parameter: Session -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
          <maml:name>Session</maml:name>
          <maml:description>
            <maml:para>The ADS Session to use for the Cmdlet. Multiple sessions are allowed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">ISession[]</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.ISession[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Command -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Command</maml:name>
          <maml:description>
            <maml:para>The timeout to wait for restart. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
            <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Reset</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReinit -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReinit</maml:name>
          <maml:description>
            <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoWait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoWait</maml:name>
          <maml:description>
            <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PollingRate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PollingRate</maml:name>
          <maml:description>
            <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>This Cmdlet return only the AdsState instead of full information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThrowError -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ThrowError</maml:name>
          <maml:description>
            <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: SessionId -->
      <command:syntaxItem>
        <maml:name>Restart-TwinCAT</maml:name>
        <!-- Parameter: SessionId -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SessionId</maml:name>
          <maml:description>
            <maml:para>Specifies the Session (with unique ID) to use for the Cmdlet (multiple values are allowed)</maml:para>
          </maml:description>
          <command:parameterValue required="true">int[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Command -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Command</maml:name>
          <maml:description>
            <maml:para>The timeout to wait for restart. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
            <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
          </maml:description>
          <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
          <dev:type>
            <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Reset</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoReinit -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoReinit</maml:name>
          <maml:description>
            <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoWait -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoWait</maml:name>
          <maml:description>
            <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PollingRate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PollingRate</maml:name>
          <maml:description>
            <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Quiet -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Quiet</maml:name>
          <maml:description>
            <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: StateOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>StateOnly</maml:name>
          <maml:description>
            <maml:para>This Cmdlet return only the AdsState instead of full information.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThrowError -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ThrowError</maml:name>
          <maml:description>
            <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Timeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Timeout</maml:name>
          <maml:description>
            <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WaitTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WaitTimeout</maml:name>
          <maml:description>
            <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>-1</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: NetId -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="1">
        <maml:name>NetId</maml:name>
        <maml:description>
          <maml:para>The NetId address where to set the state (Local system by default). Multiple values are allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">AmsNetId[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AmsNetId[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>Target route(s), where to set the state. Multiple values are allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>Target route(s), where to set the state. Multiple values are allowed.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="1" aliases="Destination,Route">
        <maml:name>Route</maml:name>
        <maml:description>
          <maml:para>Target route(s), where to set the state. Multiple values are allowed.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">IRoute[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Address -->
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Address</maml:name>
        <maml:description>
          <maml:para>The address of the system where to set the state. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards and multiple values are permitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="true" pipelineInput="false" position="1" aliases="Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>The address of the system where to set the state. This can be the RouteName, NetId, the HostName or the IPAddress. Wildcards and multiple values are permitted.</maml:para>
          <maml:para>This is an alias of the Address parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Session -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue)" position="named">
        <maml:name>Session</maml:name>
        <maml:description>
          <maml:para>The ADS Session to use for the Cmdlet. Multiple sessions are allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">ISession[]</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SessionId -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SessionId</maml:name>
        <maml:description>
          <maml:para>Specifies the Session (with unique ID) to use for the Cmdlet (multiple values are allowed)</maml:para>
        </maml:description>
        <command:parameterValue required="true">int[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Quiet -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Quiet</maml:name>
        <maml:description>
          <maml:para>Sets the Quiet mode of the command. The Cmdlet then returns a $true or $false but not the actual states of the targets. The return value will be $true if all operations succeed and it will be $false if at least one have failed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces the command (no confirmation, Resets the FailFastHandler)</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: StateOnly -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>StateOnly</maml:name>
        <maml:description>
          <maml:para>This Cmdlet return only the AdsState instead of full information.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Timeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Timeout</maml:name>
        <maml:description>
          <maml:para>The communication ADS timeout in milliseconds. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NoReinit -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NoReinit</maml:name>
        <maml:description>
          <maml:para>Activates a state check before sending WriteControl if the target system is already in the expected target state</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NoWait -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NoWait</maml:name>
        <maml:description>
          <maml:para>The -NoWait parameter skips the waiting for the target end state. If set, the Cmdlet returns immediatly after sending the WriteControl request, without waiting for the state change.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: WaitTimeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WaitTimeout</maml:name>
        <maml:description>
          <maml:para>The wait timout for the state change in ms. This Cmdlet waits for the target state changes which is limited by this WaitTimeout. A value &lt;= 0 sets the Default (45000 ms). This parameter is only used if -NoWait is not set.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PollingRate -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PollingRate</maml:name>
        <maml:description>
          <maml:para>The Wait polling rate in Milliseconds. A value &lt;= 0 sets the Default polling rate (200 ms for local systems, 1000ms for remote systems). This parameter is only used, if -NoWait is not set.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>-1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Command -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Command</maml:name>
        <maml:description>
          <maml:para>The timeout to wait for restart. A value of 0 disables the timeout. A value &lt;= 0 sets the Default (5000 ms).</maml:para>
          <maml:para>Possible values: None, Reset, Start, Stop, Reconfig, Run</maml:para>
        </maml:description>
        <command:parameterValue required="true">AdsStateCommand</command:parameterValue>
        <dev:type>
          <maml:name>TwinCAT.Ads.AdsStateCommand</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Reset</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Reset</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Start</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Stop</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Reconfig</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Run</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
      <!-- Parameter: ThrowError -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ThrowError</maml:name>
        <maml:description>
          <maml:para>Throws an error, if the target system(s) not reaching the expected state.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.IRoute[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Target route(s), where to set the state. Multiple values are allowed.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>TwinCAT.ISession[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>The ADS Session to use for the Cmdlet. Multiple sessions are allowed.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>PS&gt; Restart-TwinCAT -command Reset -force
 
Ok Target NetId Port ErrorCode Requested Original Reached Latency (ms)
-- ------ ----- ---- --------- --------- -------- ------- ------------
X CX_1111 192.168.0.2.1.1 10000 Succeeded Reset Run Run 2853</dev:code>
        <dev:remarks>
          <maml:para>Restarts the local TwinCAT System. The ‘X’ in the ‘Ok’ Column indicates the success.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>PS&gt; Restart-TwinCAT -command Reset -force
 
WARNING: 192.168.0.2.1.1:10 ERR | 18:26:28:108 |'TCOM Server' (10): Device 1 (EtherCAT) (Adapter): Failed to connect to network adapter!
WARNING: 192.168.0.2.1.1:10 WRN | 18:26:28:108 |'TCOM Server' (10): PREOP to SAFEOP of 'Device 1 (EtherCAT) (Adapter)' (0x03010011) failed - 'request is aborted' 0x9811071F
WARNING: 192.168.0.2.1.1:10000 ERR | 18:26:28:117 |'TwinCAT System' (10000): Sending ams command &gt;&gt; Init12\IO: Set State TComObj SAFEOP: Set Objects (4) to SAFEOP &gt;&gt; AdsError: 1823 (0x71f, ADS ERROR: device aborted the action) &lt;&lt; failed!
 
Ok Target NetId Port ErrorCode Requested Original Reached Latency (ms)
-- ------ ----- ---- --------- --------- -------- ------- ------------
   CX_1111 192.168.0.2.1.1 10000 Succeeded Reset Config Config 3427</dev:code>
        <dev:remarks>
          <maml:para>Calls a Reset to the local SystemService that fails!. Error log messages will be logged out.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>PS&gt; Restart-TwinCAT -command Reset -force | select-object -ExpandProperty LogMessages
 
WARNING: 192.168.0.2.1.1:10 ERR | 18:20:45:969 |'TCOM Server' (10): Device 1 (EtherCAT) (Adapter): Failed to connect to network adapter!
WARNING: 192.168.0.2.1.1:10 WRN | 18:20:45:969 |'TCOM Server' (10): PREOP to SAFEOP of 'Device 1 (EtherCAT) (Adapter)' (0x03010011) failed - 'request is aborted' 0x9811071F
WARNING: 192.168.0.2.1.1:10000 ERR | 18:20:45:979 |'TwinCAT System' (10000): Sending ams command &gt;%gt; Init12\IO: Set State TComObj SAFEOP: Set Objects (4) to SAFEOP &gt;%gt; AdsError: 1823 (0x71f, ADS ERROR: device aborted the action) &lt;&lt; failed!
 
Type TimeStamp DeviceName Port Message
---- --------- ---------- ---- -------
Message 18:20:44.874 TwinCAT System 10000 TwinCAT System Restart initiated from AmsNetId: 192.168.0.2.1.1 port 34564.
Message 18:20:44.879 TwinCAT System 10000 Saving configuration of COM server TcVnService !
Message 18:20:44.880 TwinCAT System 10000 Saving configuration of COM server TcEventLogger !
Message 18:20:44.970 TwinCAT System 10000 Shutting down COM Server TcVnService !
Message 18:20:44.971 TwinCAT System 10000 Shutting down COM Server TcEventLogger !
Message 18:20:45.745 TwinCAT System 10000 Loading configuration of COM server TcVnService !
Message 18:20:45.747 TwinCAT System 10000 Loading configuration of COM server TcEventLogger !
Message 18:20:45.748 TwinCAT System 10000 Initializing COM Server TcVnService !
Message 18:20:45.773 TwinCAT System 10000 Initializing COM Server TcEventLogger !
Message 18:20:45.783 TwinCAT System 10000 TcIoEth Server started: TcIoEth.
Message 18:20:45.791 TwinCAT System 10000 TcRtsObjects Server started: TcRtsObjects.
Message 18:20:45.798 TwinCAT System 10000 TcIoECat Server started: TcIoECat.
Message 18:20:45.805 TwinCAT System 10000 TcIo Server started: TcIo.
Message 18:20:45.814 TwinCAT System 10000 TcPlc30 Server started: TcPlc30.
Message 18:20:45.821 TwinCAT System 10000 TcRTime Server started: TcRTime.
Message 18:20:45.927 License Server 30 license validation status is Valid(3)
Error 18:20:45.969 TCOM Server 10 Device 1 (EtherCAT) (Adapter): Failed to connect to network adapter!
Warning 18:20:45.969 TCOM Server 10 PREOP to SAFEOP of 'Device 1 (EtherCAT) (Adapter)' (0x03010011) failed - 'request is aborted' 0x9811071F
Error 18:20:45.979 TwinCAT System 10000 Sending ams command &gt;%gt; Init12\IO: Set State TComObj SAFEOP: Set Objects (4) to SAFEOP &gt;%gt; AdsError: 1823 (0x71f, ADS ERROR: device aborted the action) %lt;%lt; failed!
Message 18:20:47.879 TwinCAT System 10000 Loading configuration of COM server TcVnService
Message 18:20:47.881 TwinCAT System 10000 Loading configuration of COM server TcEventLogger
Message 18:20:47.882 TwinCAT System 10000 Initializing COM Server TcVnService
Message 18:20:47.910 TwinCAT System 10000 Initializing COM Server TcEventLogger
Message 18:20:47.922 TwinCAT System 10000 TCIO Server started: TCIO.
Message 18:20:47.931 TwinCAT System 10000 TCRTIME Server started: TCRTIME.
Message 18:20:47.939 TwinCAT System 10000 TCRTSOBJECTS Server started: TCRTSOBJECTS.
Message 18:20:47.948 TwinCAT System 10000 TCIOETH Server started: TCIOETH.
Message 18:20:47.956 TwinCAT System 10000 TCIOECAT Server started: TCIOECAT.
Message 18:20:47.963 TwinCAT System 10000 TCIODRIVERS Server started: TCIODRIVERS.
Message 18:20:48.078 TwinCAT System 10000 Starting COM Server TcVnService
Message 18:20:48.078 TwinCAT System 10000 Starting COM Server TcEventLogger</dev:code>
        <dev:remarks>
          <maml:para>Tries to restart the local TwinCAT system and write the log messages to the output. This Command fails.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
  </command:command>
</helpItems>