EulandaConnect-help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Approve-Signature</command:name>
      <command:verb>Approve</command:verb>
      <command:noun>Signature</command:noun>
      <maml:description>
        <maml:para>Signs a script or program with an EV certificate</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Signs a script, module or exe program with an Authenticode certificate. </maml:para>
      <maml:para>The prerequisite is that the sign tool from the Microsoft SDK and compatible software such as the SafeNet Authentication Client from Thales are installed. The Signtool can be installed using the `Install-Signtool` function from this module. In addition, a valid token (USB device) for the EV certificate must be available. </maml:para>
      <maml:para>&gt; The dongle must be plugged into the signing PC or connected via a probe server such as the UTN servers from SEH. This is tested and used with the dongle Token-JC, which also works in virtual environments with the UTN server.</maml:para>
      <maml:para>If the path parameter is specified without path and without extension, the current path is assumed and ps1 is used as extension. If the parameter is not specified or empty, then the name of the folder is used as file name and it is tested whether a ps1, psm1 or an exe with the name can be found.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Approve-Signature</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>Path to the script or executable file to be signed. If no extension is specified or no path is specified, ps1 is used as extension and the current path is used as path. If the parameter is not specified or empty, then the name of the folder (or the last folder name) is used as file name and it is tested whether a ps1, psm1 or an exe with the name can be found.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>Path to the script or executable file to be signed. If no extension is specified or no path is specified, ps1 is used as extension and the current path is used as path. If the parameter is not specified or empty, then the name of the folder (or the last folder name) is used as file name and it is tested whether a ps1, psm1 or an exe with the name can be found.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------------- Example 1:Signs a PowerShell script -------------</maml:title>
        <dev:code>PS C:\&gt; Approve-Signature test</dev:code>
        <dev:remarks>
          <maml:para>Signs the script `.\test.ps1` in the current folder.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Approve-Signature.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-SignToolPath</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Install-SignTool</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Close-Delivery</command:name>
      <command:verb>Close</command:verb>
      <command:noun>Delivery</command:noun>
      <maml:description>
        <maml:para>On closing the delivery quantities are debited from the warehouse</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>On the one hand, a delivery bill is write-protected when it is closed, and on the other hand, the delivery quantities are debited from the warehouse.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Close-Delivery</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The `DeliveryId` is the `ID` of the header record of the delivery bill. The `ID` is always unique throughout the table.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The DeliveryNo is the delivery bill number of the record. It is the number used in the business correspondence and of course in the delivery bill itself. It is also unique.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The `DeliveryId` is the `ID` of the header record of the delivery bill. The `ID` is always unique throughout the table.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The DeliveryNo is the delivery bill number of the record. It is the number used in the business correspondence and of course in the delivery bill itself. It is also unique.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None. You cannot pipe objects</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------- Example 1:Close the Delivery Note 202305230 ---------</maml:title>
        <dev:code>PS C:\&gt; Close-Delivery -deliveryNo 202305230 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>This closes the delivery bill with the delivery bill number 202305230. The database, i.e. the client is specified in this example by a UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Close-Delivery.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Open-Delivery</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Close-SalesOrder</command:name>
      <command:verb>Close</command:verb>
      <command:noun>SalesOrder</command:noun>
      <maml:description>
        <maml:para>When the sales order is closed, it is considered completed and can no longer be modified.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>After the sales order is closed, it is kept as an open order in ERP and, for example, displayed as an order in the brief information system at the customer's site. Orders with this status can no longer be changed.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Close-SalesOrder</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>salesOrderId</maml:name>
          <maml:description>
            <maml:para>The `SalesOrderId` is the `ID` of the header record of the sales order. The `ID` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>salesOrderNo</maml:name>
          <maml:description>
            <maml:para>The `SalesOrderNo` is the userfriendly `number` of the header record of the sales order. The `number` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>customerOrderNo</maml:name>
          <maml:description>
            <maml:para>This is the customer's order number. It is typically passed from an external system, such as an online shop system, to the ERP (Enterprise Resource Planning) system as a unique reference. It should be noted that this value is not defined as unique in the ERP system's database itself.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>salesOrderId</maml:name>
        <maml:description>
          <maml:para>The `SalesOrderId` is the `ID` of the header record of the sales order. The `ID` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>salesOrderNo</maml:name>
        <maml:description>
          <maml:para>The `SalesOrderNo` is the userfriendly `number` of the header record of the sales order. The `number` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>customerOrderNo</maml:name>
        <maml:description>
          <maml:para>This is the customer's order number. It is typically passed from an external system, such as an online shop system, to the ERP (Enterprise Resource Planning) system as a unique reference. It should be noted that this value is not defined as unique in the ERP system's database itself.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------------ Example 1:Close Sales Order with Id 25 ------------</maml:title>
        <dev:code>PS C:\&gt; Close-SalesOrder -salesOrderId 25 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>This closes the sales order specified by its Id=25 and the database connection to the UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Close-SalesOrder.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Confirm-System</command:name>
      <command:verb>Confirm</command:verb>
      <command:noun>System</command:noun>
      <maml:description>
        <maml:para>This function retrieves various system information to quickly diagnose a malfunction</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function retrieves various values from the computer system to quickly diagnose a malfunction. The results are collected in an array of PsCustomObject, which can be piped to Out-GridView or Format-Table for further processing.</maml:para>
      <maml:para>Different switches can be used to determine which check sets should be retrieved.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Confirm-System</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>administrator</maml:name>
          <maml:description>
            <maml:para>Checks if the user has administrative rights.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>controlledFolderAccess</maml:name>
          <maml:description>
            <maml:para>This function checks if the Microsoft ransomware protection for monitored folders is active. This protection prevents, for example, the creation of folders in 'My Documents' in the command prompt. Similarly, PowerShell modules cannot be installed as the current user, only as an administrator for all users.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>drives</maml:name>
          <maml:description>
            <maml:para>This function retrieves the list of installed drives and checks the health status of the disks. The function retrieves the installed drives using `Get-PSDrive` and filters the file system drives. It then loops through the drives, checks the physical disks using `Get-PhysicalDisk`, and filters the HDD and SSD disks that have an operational status of OK or Healthy.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>memory</maml:name>
          <maml:description>
            <maml:para>Checks how much memory is installed.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>network</maml:name>
          <maml:description>
            <maml:para>This function checks the network settings and tests name resolution. It pings the default gateway and then performs a DNS lookup of the local host name and compares the results. If they match, it checks if the DNS server is reachable. The output is a `PsCustomObject` that can be piped to `Out-GridView` or `Format-Table`.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>all</maml:name>
          <maml:description>
            <maml:para>All optiones are used.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>administrator</maml:name>
        <maml:description>
          <maml:para>Checks if the user has administrative rights.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>controlledFolderAccess</maml:name>
        <maml:description>
          <maml:para>This function checks if the Microsoft ransomware protection for monitored folders is active. This protection prevents, for example, the creation of folders in 'My Documents' in the command prompt. Similarly, PowerShell modules cannot be installed as the current user, only as an administrator for all users.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>drives</maml:name>
        <maml:description>
          <maml:para>This function retrieves the list of installed drives and checks the health status of the disks. The function retrieves the installed drives using `Get-PSDrive` and filters the file system drives. It then loops through the drives, checks the physical disks using `Get-PhysicalDisk`, and filters the HDD and SSD disks that have an operational status of OK or Healthy.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>memory</maml:name>
        <maml:description>
          <maml:para>Checks how much memory is installed.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>network</maml:name>
        <maml:description>
          <maml:para>This function checks the network settings and tests name resolution. It pings the default gateway and then performs a DNS lookup of the local host name and compares the results. If they match, it checks if the DNS server is reachable. The output is a `PsCustomObject` that can be piped to `Out-GridView` or `Format-Table`.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>all</maml:name>
        <maml:description>
          <maml:para>All optiones are used.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------- Example 1:Possible results for system diagnosis. -------</maml:title>
        <dev:code>PS C:\&gt; $result = Confirm-System -administrator -controlledFolderAccess -memory -drives -network
PS C:\&gt; $result | Format-Table
 
Description Value
----------- -----
Administrative rights False
Ransomware protection aktiv False
Working memory (GB) 32
Drive free on C (GB) 445
Drive free on D (GB) 427
Drive free on F (GB) 17
S.M.A.R.T. (USB SanDisk 3.2Gen1 USB Device) OK
S.M.A.R.T. (Samsung SSD 870 QVO 2TB) OK
S.M.A.R.T. (NVMe Samsung SSD 970) OK
Gateway Ip 192.168.178.1
Gateway Name fritz.box
Local Ip 192.168.178.10
Local Subnet 255.255.255.0
Local CIDR 24
Public Ip 98.32.56.11
Max possible Hosts 254
Network ID 192.168.178.0
First possible Ip 192.168.178.1
Last possible Ip 192.168.178.254
Broadcast Ip 192.168.178.255</dev:code>
        <dev:remarks>
          <maml:para>The output of this function shows some of the possible results for system diagnosis.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Confirm-System.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Convert-Accent</command:name>
      <command:verb>Convert</command:verb>
      <command:noun>Accent</command:noun>
      <maml:description>
        <maml:para>Special characters from other languages are converted to the characters a-z. ö becomes oe etc.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function converts special characters that occur in a string into common characters from the US character set. ö becomes oe , é becomes an e . Additionally it is possible to output the characters of the output in lowercase, uppercase or capitalized. If nothing is specified for the `strCase` parameter, no further conversion is performed.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Convert-Accent</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>value</maml:name>
          <maml:description>
            <maml:para>The text to be converted, which may contain the special characters or umlauts from foreign languages.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>strCase</maml:name>
          <maml:description>
            <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">none</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">upper</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">lower</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">capital</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>strCase</maml:name>
        <maml:description>
          <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>value</maml:name>
        <maml:description>
          <maml:para>The text to be converted, which may contain the special characters or umlauts from foreign languages.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-- Example 1:Converts special characters to US characters a-z --</maml:title>
        <dev:code>PS C:\&gt; [string]$myOutput= Convert-Accent -value "Häuser stehen in Zürich"
PS C:\&gt; Write-Host $myOutput
 
# Output
 
Haeuser stehen in Zuerich</dev:code>
        <dev:remarks>
          <maml:para>In this example, a simple transformation of the text is performed. Characters like the German umlauts are converted here.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Convert-Accent.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Convert-DataToXml</command:name>
      <command:verb>Convert</command:verb>
      <command:noun>DataToXml</command:noun>
      <maml:description>
        <maml:para>Converts data structures like nested hashtables or arrays into an XML</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The data structures can contain nested hashtables combined with arrays, which may also contain hashtables. Additionally, an array containing hashtables can be passed directly. For cases involving arrays, a separate array root name can be specified, allowing for the creation of a plural form, such as 'Records' and its corresponding 'Record' elements.</maml:para>
      <maml:para>The notation for node names can be set via a parameter, which is particularly useful when dealing with data from external databases.</maml:para>
      <maml:para>At the moment, pure arrays of simple data types, such as arrays of integers or arrays containing only simple data types, are not supported. However, these have not been encountered in previous work with databases.</maml:para>
      <maml:para>An alternative approach is to use the built-in ConvertTo-Xml function. Although this function returns the field name and value in two separate nodes, it is a good choice if you require data types. To use this function, call: `[xml]$xml = $data | ConvertTo-Xml`.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Convert-DataToXml</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>data</maml:name>
          <maml:description>
            <maml:para>The data parameter contains the data structure to be converted into an XML file. So for example a hashtable variable `$h = @{ "Field1" = "Value1"; "Field2" = "Value2" }`</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>strCase</maml:name>
          <maml:description>
            <maml:para>The node names in the XML are always sensitive to upper and lower case. This parameter can be used to standardize the spelling. The default is `upper`, you can make the following settings:</maml:para>
            <maml:para>| Command | Meaning | | ------- | ----------------------------------- | | none | keep spelling | | upper | upper case | | lower | lowercase letters | | capital | only the first letter in upper case |</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">none</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">upper</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">lower</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">capital</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Upper</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>root</maml:name>
          <maml:description>
            <maml:para>The parameter specifies the name of the root in the XML. The default is `Root`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Root</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>arrRoot</maml:name>
          <maml:description>
            <maml:para>If a structure starts with an array, or it is arrays of arrays, there is no possibility to take a field name. For this case it is possible to use a node name, which should be in plural like `ITEMS`. The default is `Records`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Records</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>arrSubRoot</maml:name>
          <maml:description>
            <maml:para>When arrays of hash tables are formed, the field containing the array is called, for example, `Items`. `arrSubRoot` are the child items of that. In the case here it should be `item`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Record</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>metadata</maml:name>
          <maml:description>
            <maml:para>If the switch metadata is passed, then an ERP-specific metablock is output as the first node.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>arrRoot</maml:name>
        <maml:description>
          <maml:para>If a structure starts with an array, or it is arrays of arrays, there is no possibility to take a field name. For this case it is possible to use a node name, which should be in plural like `ITEMS`. The default is `Records`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Records</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>arrSubRoot</maml:name>
        <maml:description>
          <maml:para>When arrays of hash tables are formed, the field containing the array is called, for example, `Items`. `arrSubRoot` are the child items of that. In the case here it should be `item`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Record</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>data</maml:name>
        <maml:description>
          <maml:para>The data parameter contains the data structure to be converted into an XML file. So for example a hashtable variable `$h = @{ "Field1" = "Value1"; "Field2" = "Value2" }`</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>metadata</maml:name>
        <maml:description>
          <maml:para>If the switch metadata is passed, then an ERP-specific metablock is output as the first node.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>root</maml:name>
        <maml:description>
          <maml:para>The parameter specifies the name of the root in the XML. The default is `Root`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Root</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>strCase</maml:name>
        <maml:description>
          <maml:para>The node names in the XML are always sensitive to upper and lower case. This parameter can be used to standardize the spelling. The default is `upper`, you can make the following settings:</maml:para>
          <maml:para>| Command | Meaning | | ------- | ----------------------------------- | | none | keep spelling | | upper | upper case | | lower | lowercase letters | | capital | only the first letter in upper case |</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Upper</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None. You cannot pipe objects</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Xml.XmlDocument</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------------- EXAMPLE 1:Sample for a metablock ---------------</maml:title>
        <dev:code>&lt;EULANDA&gt;
    &lt;METADATA&gt;
        &lt;VERSION&gt;1.22&lt;/VERSION&gt;/VERSION&gt;
        &lt;GENERATOR&gt;EulandaConnect&lt;/GENERATOR&gt;
        &lt;DATEFORMAT&gt;ISO8601&lt;/DATEFORMAT&gt;
        &lt;FLOATFORMAT&gt;US&lt;/FLOATFORMAT&gt;
        &lt;COUNTRYFORMAT&gt;ISO2&lt;/COUNTRYFORMAT&gt;
        &lt;FIELDNAMES&gt;NATIVE&lt;/FIELDNAMES&gt;
        &lt;DATE&gt;2023-02-16T13:05:12&lt;/DATE&gt;
        &lt;PCNAME&gt;PC4ALL&lt;/PCNAME&gt;
        &lt;USERNAME&gt;DOE&lt;/USERNAME&gt;
    &lt;/METADATA&gt;
&lt;/EULANDA&gt;</dev:code>
        <dev:remarks>
          <maml:para>A meta block, when the `metadata` parameter is used, would appear as the first node after the root in the generated XML. This block is created by the `Write-XmlMetadata` function, which is implicitly called when the `metadata` parameter is specified. The meta block provides additional information about the XML structure, such as data types or other relevant metadata.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>EXAMPLE 2:A hash table containing arrays of hash tables is converted to XML</maml:title>
        <dev:code>$data = [ordered]@{
    "Name" = "John Doe";
    "City" = "New York";
    "Items" = @(
        [ordered]@{ "Field1" = "Value1"; "Field2" = "Value2" },
        [ordered]@{ "Field3" = "Value3"; "Field4" = "Value4" }
    )
}
[xml]$xml = Convert-DataToXml -data $data -arrRoot 'ITEMS' -arrSubRoot 'ITEM'
$xml.Save("C:\Temp\MyData.xml")
 
&lt;ROOT&gt;
    &lt;NAME&gt;John Doe&lt;/NAME&gt;
    &lt;CITY&gt;New York&lt;/CITY&gt;
    &lt;ITEMS&gt;
        &lt;ITEM&gt;
            &lt;FIELD1&gt;Value1&lt;/FIELD1&gt;
            &lt;FIELD2&gt;Value2&lt;/FIELD2&gt;
        &lt;/ITEM&gt;
        &lt;ITEM&gt;
            &lt;FIELD3&gt;Value3&lt;/FIELD3&gt;
            &lt;FIELD4&gt;Value4&lt;/FIELD4&gt;
        &lt;/ITEM&gt;
    &lt;/ITEMS&gt;
&lt;/ROOT&gt;</dev:code>
        <dev:remarks>
          <maml:para>In this example, there is a hash table that contains a field with an array of hash tables at the end.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---- EXAMPLE 3:An array of hash tables is converted to XML ----</maml:title>
        <dev:code>$data = @(
[ordered]@{ "Field1" = "Value1"; "Field2" = "Value2" },
[ordered]@{ "Field3" = "Value3"; "Field4" = "Value4" }
)
 
[xml]$xml = Convert-DataToXml -data $data
$xml.Save("C:\Temp\MyData.xml")
 
&lt;ROOT&gt;
    &lt;RECORDS&gt;
        &lt;RECORD&gt;
            &lt;FIELD1&gt;Value1&lt;/FIELD1&gt;
            &lt;FIELD2&gt;Value2&lt;/FIELD2&gt;
        &lt;/RECORD&gt;
        &lt;RECORD&gt;
            &lt;FIELD3&gt;Value3&lt;/FIELD3&gt;
            &lt;FIELD4&gt;Value4&lt;/FIELD4&gt;
        &lt;/RECORD&gt;
    &lt;/RECORDS&gt;
&lt;/ROOT&gt;</dev:code>
        <dev:remarks>
          <maml:para>In this example, the structure starts with an array. This is where the arrRoot parameter comes into play, which then holds the individual records of the hash tables. The node is then used from the arrSubRoot parameter. The default is for arrRoot = 'Records' and for arrSubRoots 'Record'.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Convert-DataToXml.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Write-XmlMetadata</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Convert-DateToIso</command:name>
      <command:verb>Convert</command:verb>
      <command:noun>DateToIso</command:noun>
      <maml:description>
        <maml:para>Converts a date to an ISO string</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function has several options to convert a date-time value combination into a string.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Convert-DateToIso</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>value</maml:name>
          <maml:description>
            <maml:para>The value of the date/time combination to convert.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>asUtc</maml:name>
          <maml:description>
            <maml:para>The date is output in UTC, i.e. Greenwitch time. Here only a Z is appended to the output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noDate</maml:name>
          <maml:description>
            <maml:para>The date is suppressed or set to 1.1.1 for this output. However, only the time is output due to the formatting.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noTime</maml:name>
          <maml:description>
            <maml:para>The time is suppressed for this output or set to 0:00. However, only the date is output due to the formatting.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noTimeZone</maml:name>
          <maml:description>
            <maml:para>The date is output in local time without specifying the time zone.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noonTime</maml:name>
          <maml:description>
            <maml:para>The time is ignored and set to 12 noon.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>zeroTime</maml:name>
          <maml:description>
            <maml:para>The time is ignored and set to 0:00.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>asUtc</maml:name>
        <maml:description>
          <maml:para>The date is output in UTC, i.e. Greenwitch time. Here only a Z is appended to the output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noDate</maml:name>
        <maml:description>
          <maml:para>The date is suppressed or set to 1.1.1 for this output. However, only the time is output due to the formatting.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noTime</maml:name>
        <maml:description>
          <maml:para>The time is suppressed for this output or set to 0:00. However, only the date is output due to the formatting.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noTimeZone</maml:name>
        <maml:description>
          <maml:para>The date is output in local time without specifying the time zone.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noonTime</maml:name>
        <maml:description>
          <maml:para>The time is ignored and set to 12 noon.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>value</maml:name>
        <maml:description>
          <maml:para>The value of the date/time combination to convert.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>zeroTime</maml:name>
        <maml:description>
          <maml:para>The time is ignored and set to 0:00.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------- Example 1:Local date in ISO format --------------</maml:title>
        <dev:code>PS C:\&gt; [string]$myDate= Convert-DateToIso -value $(Get-Date) -noTimeZone
PS C:\&gt; $myDate=
 
# Output
 
2023-02-17T13:29:02</dev:code>
        <dev:remarks>
          <maml:para>`Convert-DateToIso` takes the current date with time via the value parameter and outputs the date value in the local time.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Convert-DateToIso.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Convert-ImageToBase64</command:name>
      <command:verb>Convert</command:verb>
      <command:noun>ImageToBase64</command:noun>
      <maml:description>
        <maml:para>Converts an image file into a mime text Base64 encoded</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Convert-ImageToBase64 function loads an image file from the specified path and converts it to a Base64-encoded MIME string, using the file extension to determine the MIME type (jpeg, bmp, or png). The resulting string can be used to embed the image in HTML or other documents.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Convert-ImageToBase64</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>This parameter is mandatory and specifies the path of the image file that needs to be converted. The path can be a local file path or a remote file path (UNC path), and it must include the name and extension of the file. If the file is located in a directory with a space in its name, the path must be enclosed in quotation marks. The parameter accepts string values.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>This parameter is mandatory and specifies the path of the image file that needs to be converted. The path can be a local file path or a remote file path (UNC path), and it must include the name and extension of the file. If the file is located in a directory with a space in its name, the path must be enclosed in quotation marks. The parameter accepts string values.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------ Example 1:Converts an image file into a mime text ------</maml:title>
        <dev:code>PS C:\&gt; Convert-ImageToBase64 -path "C:\Temp\MyImage.jpg"
 
# Output
 
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAwADAAAD/4cNoRXhpZgAATU0AKgAAAAgACwEPAAIAAAAKAAAAkgEQAAIAAAAWAAAAnAESAAMAAAABAAEAAAEaAAUAAAABAAAAsgEbAAUAAAABAAAAugEoAAMAAAABAAIAAAExAAIAAAAmAAAAwgEyAAIAAAAUAAAA6AITAAMAAAABAAEAAIdpAAQAAAABAAAA/IglAAQAAAABAADCyAAAAABNaWNyb3NvZnQATHVta...</dev:code>
        <dev:remarks>
          <maml:para>This will convert the image file "MyImage.jpg" located in the "C:\Temp" directory to a Base64-encoded MIME string.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Convert-ImageToBase64.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Convert-Slugify</command:name>
      <command:verb>Convert</command:verb>
      <command:noun>Slugify</command:noun>
      <maml:description>
        <maml:para>Converts a string so that only letters from a-z, underscores and digits are output.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Converts the text from value to a contiguous string consisting only of letters a-z, digits 0-9 and an underscore. Special characters from the different languages are automatically converted in a meaningful way, e.g. ö becomes oe . All other characters are converted to an underscore. If several underscores meet, all but one are removed. The output can be additionally controlled by the parameter `strCase`. Here the output can be converted completely into lowercase or uppercase letters or into capizalized .</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Convert-Slugify</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>value</maml:name>
          <maml:description>
            <maml:para>The text to be converted</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>strCase</maml:name>
          <maml:description>
            <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">none</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">upper</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">lower</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">capital</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>delimiter</maml:name>
          <maml:description>
            <maml:para>The delimiter connects the words to each other. The default delimiter is the underscore character. Alternatively, the hyphen can be specified as the delimiter.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>strCase</maml:name>
        <maml:description>
          <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>value</maml:name>
        <maml:description>
          <maml:para>The text to be converted</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>delimiter</maml:name>
        <maml:description>
          <maml:para>The delimiter connects the words to each other. The default delimiter is the underscore character. Alternatively, the hyphen can be specified as the delimiter.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Converts the text from value to a contiguous string of a-z 0-9 and underscore</maml:title>
        <dev:code>PS C:\&gt; [string]$myOutput= convert-slugify -value 'Mein Haus Österreich'
PS C:\&gt; Write-Host $myOutput
 
# Output
 
mein_haus_oesterreich</dev:code>
        <dev:remarks>
          <maml:para>The function converts the text into a slugy text. All special characters are removed and words are connected with underscores.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Convert-Slugify.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Convert-StringCase</command:name>
      <command:verb>Convert</command:verb>
      <command:noun>StringCase</command:noun>
      <maml:description>
        <maml:para>Converts text to lowercase, uppercase, or capitalized</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Converts text to lowercase, uppercase, or capitalized. With Capitalized, only the first letter starts in upper case.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Convert-StringCase</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>value</maml:name>
          <maml:description>
            <maml:para>The text to be converted</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>strCase</maml:name>
          <maml:description>
            <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">none</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">upper</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">lower</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">capital</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>strCase</maml:name>
        <maml:description>
          <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>value</maml:name>
        <maml:description>
          <maml:para>The text to be converted</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------------ Example 1:Converts text in upper case ------------</maml:title>
        <dev:code>PS C:\&gt; [string]$myOutput= Convert-StringCase -value 'Hello, i am John, John Doe' -strCase upper
PS C:\&gt; Write-Host $myOutput
 
# Output
 
HELLO, I AM JOHN, JOHN DOE</dev:code>
        <dev:remarks>
          <maml:para>The text specified in value is converted to uppercase. The strCase parameter also allows conversion to lowercase or capitalized.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Convert-StringCase.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Convert-SubnetToBitmask</command:name>
      <command:verb>Convert</command:verb>
      <command:noun>SubnetToBitmask</command:noun>
      <maml:description>
        <maml:para>Subnet mask or CIDR to its bit representation</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function converts the subnet mask or CIDR to its bit representation. If neither `$subnet` nor `$cidr` is provided, the function gets the subnet mask from the local IP address.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Convert-SubnetToBitmask</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>subnet</maml:name>
          <maml:description>
            <maml:para>The subnet mask in IP address format (e.g., 255.255.255.0).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>cidr</maml:name>
          <maml:description>
            <maml:para>The CIDR notation (e.g., 24 for a subnet mask of 255.255.255.0).</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>cidr</maml:name>
        <maml:description>
          <maml:para>The CIDR notation (e.g., 24 for a subnet mask of 255.255.255.0).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>subnet</maml:name>
        <maml:description>
          <maml:para>The subnet mask in IP address format (e.g., 255.255.255.0).</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------- Example 1:Representation of the subnet mask ---------</maml:title>
        <dev:code>PS C:\&gt; Convert-SubnetToBitmask -subnet '255.255.255.0'
 
# Output
 
11111111111111111111111100000000</dev:code>
        <dev:remarks>
          <maml:para>The output is a string representing the bit representation of the subnet mask or CIDR.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Convert-SubnetToBitmask.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>ConvertTo-WrappedLines</command:name>
      <command:verb>ConvertTo</command:verb>
      <command:noun>WrappedLines</command:noun>
      <maml:description>
        <maml:para>Performs a wrap of a text</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Performs a wrap of a text. The maximum width can be specified with `width`. If an overlong word is found, which is longer than the specified `width`, the word will be split at the maximally necessary position.</maml:para>
      <maml:para>The output is an array of strings, but it is also possible to get the value as a string with line feeds by setting the switch `asString`. Optionally the string can also get carriage-return and line-feeds, as it is common under Windows, by setting the `useCrLf` switch.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>ConvertTo-WrappedLines</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>text</maml:name>
          <maml:description>
            <maml:para>The text to be wrapped is passed as a string. This can already contain line breaks like CRLF or LF. These are removed and the wrap is recalculated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>width</maml:name>
          <maml:description>
            <maml:para>Specifies the maximum width of a line.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>asString</maml:name>
          <maml:description>
            <maml:para>This switch is used to specify that the output is not an array but a string. With a string the individual lines are separated by CRLF or LF.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>useCrLf</maml:name>
          <maml:description>
            <maml:para>If the return is a string, the lines are separated by LF (line feeds), as is common under Linux. If the switch is set, the separation is done by CRLF (carriage return + line feed), as it is usual under Windows.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>asString</maml:name>
        <maml:description>
          <maml:para>This switch is used to specify that the output is not an array but a string. With a string the individual lines are separated by CRLF or LF.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>text</maml:name>
        <maml:description>
          <maml:para>The text to be wrapped is passed as a string. This can already contain line breaks like CRLF or LF. These are removed and the wrap is recalculated.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>useCrLf</maml:name>
        <maml:description>
          <maml:para>If the return is a string, the lines are separated by LF (line feeds), as is common under Linux. If the switch is set, the separation is done by CRLF (carriage return + line feed), as it is usual under Windows.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>width</maml:name>
        <maml:description>
          <maml:para>Specifies the maximum width of a line.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Performs a wrap of a text with a width of 40 ----</maml:title>
        <dev:code>PS C:\&gt; $myText = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.'
PS C:\&gt; $newLines= ConvertTo-WrappedLines -text $myText -width 40
PS C:\&gt; $newLines
 
#Output
 
Lorem ipsum dolor sit amet, consetetur
sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et
dolore magna aliquyam erat, sed diam
voluptua.</dev:code>
        <dev:remarks>
          <maml:para>The text specified in the `myText` variable is wrapped to the maximum width of 40 specified in `width`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Convert-WrappedLines.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>ConvertTo-WrappedLinesEdi</command:name>
      <command:verb>ConvertTo</command:verb>
      <command:noun>WrappedLinesEdi</command:noun>
      <maml:description>
        <maml:para>Creates two lines of text from a long continuous text</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The first two lines are extracted from a continuous text. Various optimizations are performed to obtain the relevant information. Overlong lines are wrapped. The continuous text can be passed either with LF as with Linux or with CRLF in lines separated. This separation is taken into account in the conversion. The maximum line length can be set via Width, where the default value is 80 characters. This kind of separation is especially needed for EDI. The lines are there `al` for the first line and `a1` for the second line. If a text needs to be truncated because it is too long, three dots are placed at the end to indicate this. The result is passed as a string array .</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>ConvertTo-WrappedLinesEdi</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>text</maml:name>
          <maml:description>
            <maml:para>The text to be wrapped is passed as a string. This can already contain line breaks like CRLF or LF. These are removed and the wrap is recalculated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Width</maml:name>
          <maml:description>
            <maml:para>Specifies the maximum width of a line.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Width</maml:name>
        <maml:description>
          <maml:para>Specifies the maximum width of a line.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>text</maml:name>
        <maml:description>
          <maml:para>The text to be wrapped is passed as a string. This can already contain line breaks like CRLF or LF. These are removed and the wrap is recalculated.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------ Example 1:Separates a text into two relevant lines ------</maml:title>
        <dev:code>PS C:\&gt; ConvertTo-WrappedLinesEdi -text "This is my house, but it is also my castle.`nBut anyway my car is also my car" -width 30
 
# Output
 
This is my house, but it is
also my castle. But anyway ...</dev:code>
        <dev:remarks>
          <maml:para>The text had to be wrapped. The last line was also cut off and therefore three dots were added at the end. The result is an array of strings.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Convert-WrappedLinesEdi.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>ConvertTo-XmlString</command:name>
      <command:verb>ConvertTo</command:verb>
      <command:noun>XmlString</command:noun>
      <maml:description>
        <maml:para>The `ConvertTo-XmlString` function converts ADO (ActiveX Data Objects) field objects into XML strings. It accepts various data types and handles `NULL` values according to the specified options.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `ConvertTo-XmlString` function in PowerShell accepts an ADO field object and an optional switch `-includeEmpty`, which specifies whether empty values should be included in the output or not. The function checks the data type of the passed object and converts its value accordingly into an XML string. For `NULL` values, it returns the default value or an empty value (depending on the `-includeEmpty` option).</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>ConvertTo-XmlString</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>adoField</maml:name>
          <maml:description>
            <maml:para>An ADO field object to be converted. This object must be of type `System.__ComObject`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">__ComObject</command:parameterValue>
          <dev:type>
            <maml:name>__ComObject</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>includeEmpty</maml:name>
          <maml:description>
            <maml:para>An optional switch specifying whether empty values should be included in the output. If this switch is provided, empty values will be used in the output; otherwise, default values will be used.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>adoField</maml:name>
        <maml:description>
          <maml:para>An ADO field object to be converted. This object must be of type `System.__ComObject`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">__ComObject</command:parameterValue>
        <dev:type>
          <maml:name>__ComObject</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>includeEmpty</maml:name>
        <maml:description>
          <maml:para>An optional switch specifying whether empty values should be included in the output. If this switch is provided, empty values will be used in the output; otherwise, default values will be used.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1: Convert an ado date field to an XML string ----</maml:title>
        <dev:code># Create a recordset with a field of type adDBTimeStamp
$rs = New-Object -ComObject ADODB.Recordset
$rs.Fields.Append("MyDateField", $adDBTimeStamp)
$rs.Open()
 
# Add a new record and set the value to the current date
$rs.AddNew()
$rs.Fields("MyDateField").Value = Get-Date
 
# Retrieve the ADO object
$adoField = $rs.Fields("MyDateField")
 
# Convert the ADO object to an XML string using the ConvertTo-XmlString function
$convertedXmlString = ConvertTo-XmlString -adoField $adoField
 
# Output the converted XML string
Write-Output $convertedXmlString
 
# Close the recordset and release the used memory
$rs.Close()
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($rs) | Out-Null</dev:code>
        <dev:remarks>
          <maml:para>In this example, an ADO recordset is created with a field of type `adDBTimeStamp`. A new record is added, and the field value is set to the current date. Then, the ADO object is converted to an XML string using the `ConvertTo-XmlString` function, and the output is displayed. Finally, the recordset is closed and the used memory is released.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/ConvertTo-XmlString.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Export-ArticleToXml</command:name>
      <command:verb>Export</command:verb>
      <command:noun>ArticleToXml</command:noun>
      <maml:description>
        <maml:para>xports an XML message type for Eulanda articles, calling various fragment functions to create the output. Compatible with the classic Eulanda shop interface format.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function exports an XML article message type by calling various fragment functions that are also available as commands. The format is compatible with the previously used shop interface. The description of the XML format is available in a separate GitHub project http://www.github.com/eulanda/EulandaXML for reference. A summary of the XML structure can be found in this documentation under XmlStructure (./../XmlStructure.md).</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Export-ArticleToXml</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>select</maml:name>
          <maml:description>
            <maml:para>Specifies a comma-separated list of field names to include in the output. Also an `*` for all fields is possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>filter</maml:name>
          <maml:description>
            <maml:para>Specifies an array of SQL filter conditions to apply to the output. For example: `-filter "ArtNummer='130100'`. Only native database field names are allowed in the filter conditions.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>alias</maml:name>
          <maml:description>
            <maml:para>Specifies an alternate field name to use as the unique identifier for each record. This field is always output as 'ID.ALIAS' in the XML.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>order</maml:name>
          <maml:description>
            <maml:para>Specifies a field name to sort the output of the articles.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>customerGroups</maml:name>
          <maml:description>
            <maml:para>Specifies the customer groups to use for calculating customer-specific prices based on the discounts associated with the article's discount group and the specified customer groups. This can be a single group or a comma-separated list of groups.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>breadcrumbPath</maml:name>
          <maml:description>
            <maml:para>Specifies the root of a property tree path starting with a forward slash `/`. This parameter is used to search for the corresponding branch in the property tree and retrieve its ID. The retrieved ID is used to check if the current article is included in one or more breadcrumbs or catalogs. For each article, the resulting breadcrumbs or catalogs are outputted in their own node.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>The parameter `-path` specifies the path and filename of the XML file to be exported. The default value is the current directory. If a file with the same name already exists, it will be overwritten. The file path must be valid and accessible for writing.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="9" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noEmptyPropertyTree</maml:name>
          <maml:description>
            <maml:para>If this switch is set, the property is only displayed if child elements are found in the database. Otherwise, an empty XML tag with a subfield is output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>reorder</maml:name>
          <maml:description>
            <maml:para>Rearranges the field names in alphabetical order.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>revers</maml:name>
          <maml:description>
            <maml:para>Reverses the order of the output records.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>alias</maml:name>
        <maml:description>
          <maml:para>Specifies an alternate field name to use as the unique identifier for each record. This field is always output as 'ID.ALIAS' in the XML.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>breadcrumbPath</maml:name>
        <maml:description>
          <maml:para>Specifies the root of a property tree path starting with a forward slash `/`. This parameter is used to search for the corresponding branch in the property tree and retrieve its ID. The retrieved ID is used to check if the current article is included in one or more breadcrumbs or catalogs. For each article, the resulting breadcrumbs or catalogs are outputted in their own node.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="9" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>customerGroups</maml:name>
        <maml:description>
          <maml:para>Specifies the customer groups to use for calculating customer-specific prices based on the discounts associated with the article's discount group and the specified customer groups. This can be a single group or a comma-separated list of groups.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>filter</maml:name>
        <maml:description>
          <maml:para>Specifies an array of SQL filter conditions to apply to the output. For example: `-filter "ArtNummer='130100'`. Only native database field names are allowed in the filter conditions.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noEmptyPropertyTree</maml:name>
        <maml:description>
          <maml:para>If this switch is set, the property is only displayed if child elements are found in the database. Otherwise, an empty XML tag with a subfield is output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>order</maml:name>
        <maml:description>
          <maml:para>Specifies a field name to sort the output of the articles.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>The parameter `-path` specifies the path and filename of the XML file to be exported. The default value is the current directory. If a file with the same name already exists, it will be overwritten. The file path must be valid and accessible for writing.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>reorder</maml:name>
        <maml:description>
          <maml:para>Rearranges the field names in alphabetical order.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>revers</maml:name>
        <maml:description>
          <maml:para>Reverses the order of the output records.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>select</maml:name>
        <maml:description>
          <maml:para>Specifies a comma-separated list of field names to include in the output. Also an `*` for all fields is possible.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Exports articles using the Eulanda standard XML structure</maml:title>
        <dev:code>PS C:\&gt; Export-ArticleToXml -filter "ArtNummer&gt;='1000' and ArtNummer&lt;='1100'" -customerGroups 'HA,HB,HC' -udl 'C:\temp\Eulanda_1 JohnDoe.udl' -path "$(Get-DesktopDir)\ARTICLE.xml"
 
EULANDA&gt;
    &lt;METADATA&gt;
        &lt;VERSION&gt;2.3.15&lt;/VERSION&gt;
        &lt;GENERATOR&gt;EulandaConnect&lt;/GENERATOR&gt;
        &lt;DATEFORMAT&gt;ISO8601&lt;/DATEFORMAT&gt;
        &lt;FLOATFORMAT&gt;US&lt;/FLOATFORMAT&gt;
        &lt;COUNTRYFORMAT&gt;ISO2&lt;/COUNTRYFORMAT&gt;
        &lt;FIELDNAMES&gt;NATIVE&lt;/FIELDNAMES&gt;
        &lt;DATE&gt;2023-03-22T13:08:27&lt;/DATE&gt;
        &lt;PCNAME&gt;DOE-PC&lt;/PCNAME&gt;
        &lt;USERNAME&gt;JOHN&lt;/USERNAME&gt;
    &lt;/METADATA&gt;
    &lt;MERKMALBAUM&gt;
        &lt;ARTIKEL&gt;
            &lt;MERKMAL&gt;
                &lt;ID&gt;2277&lt;/ID&gt;
                &lt;PARENTID&gt;38&lt;/PARENTID&gt;
                &lt;NAME&gt;SHOP&lt;/NAME&gt;
                &lt;UID&gt;{8E549CA7-CE73-418E-B2AD-743BA1AE7264}&lt;/UID&gt;
                &lt;SORT&gt;0&lt;/SORT&gt;
                &lt;COLOR /&gt;
                &lt;MERKMAL&gt;
                    &lt;ID&gt;2280&lt;/ID&gt;
                    &lt;PARENTID&gt;2277&lt;/PARENTID&gt;
                    &lt;NAME&gt;Enterprise Linie&lt;/NAME&gt;
                    &lt;UID&gt;{C412C2E2-290F-4ECE-AA68-A06F42866C69}&lt;/UID&gt;
                    &lt;SORT&gt;0&lt;/SORT&gt;
                    &lt;COLOR&gt;536870911&lt;/COLOR&gt;
                    &lt;MERKMAL&gt;
                        &lt;ID&gt;2297&lt;/ID&gt;
                        &lt;PARENTID&gt;2280&lt;/PARENTID&gt;
                        &lt;NAME&gt;Ausstattungspakete&lt;/NAME&gt;
                        &lt;UID&gt;{49561AFA-404B-4F1E-AC40-8F93BCC949E7}&lt;/UID&gt;
                        &lt;SORT&gt;1&lt;/SORT&gt;
                        &lt;COLOR&gt;536870911&lt;/COLOR&gt;
                    &lt;/MERKMAL&gt;
                    ...</dev:code>
        <dev:remarks>
          <maml:para>This example demonstrates how to export articles using the Eulanda standard XML structure. The function is called with the -filter parameter to specify a range of article numbers to export. The -customerGroups parameter is used to specify which customer groups to use for pricing. The -udl parameter specifies the location of the UDL file for connecting to the Eulanda database. The resulting XML file is saved to the desktop. The output XML file contains metadata and a property tree with the article data.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Export-ArticleToXml.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Export-DeliveryToXml</command:name>
      <command:verb>Export</command:verb>
      <command:noun>DeliveryToXml</command:noun>
      <maml:description>
        <maml:para>Exports a delivery bill including its positions to an XML file</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The delivery note to be exported is selected either by the ID or the delivery note number. You can specify the XML root node via $root. Additionally $arrRoot can be specified. The positions are then appended to this.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Export-DeliveryToXml</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>A path is a combination of the drive letter, share, subfolders, and the filename of the resource, for example, a XML file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>includeEmpty</maml:name>
          <maml:description>
            <maml:para>Normally, empty nodes or nodes with a value of null are not exported. This switch allows for exporting of these nodes as well.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>sql</maml:name>
          <maml:description>
            <maml:para>This string array is pre-populated by default with an SQL SELECT statement for the delivery note and the delivery note position, so it does not need to be specified. However, if you want to include a field selection or new fields, such as calculated or combined fields, in the XML, you can specify this SQL statement here as an array. The first element is the master, which is the delivery note header, and the second array element is the SELECT statement to select the corresponding positions. The positions are implicitly sorted by the first field of the position, which is normally the delivery note position. The field name is then ID.ALIAS.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>A path is a combination of the drive letter, share, subfolders, and the filename of the resource, for example, a XML file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>includeEmpty</maml:name>
        <maml:description>
          <maml:para>Normally, empty nodes or nodes with a value of null are not exported. This switch allows for exporting of these nodes as well.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>sql</maml:name>
        <maml:description>
          <maml:para>This string array is pre-populated by default with an SQL SELECT statement for the delivery note and the delivery note position, so it does not need to be specified. However, if you want to include a field selection or new fields, such as calculated or combined fields, in the XML, you can specify this SQL statement here as an array. The first element is the master, which is the delivery note header, and the second array element is the SELECT statement to select the corresponding positions. The positions are implicitly sorted by the first field of the position, which is normally the delivery note position. The field name is then ID.ALIAS.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None. You cannot pipe objects</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------ EXAMPLE 1:Exports a delivery bill as an xml file. ------</maml:title>
        <dev:code>PS C:\&gt; Export-DeliveryToXml -deliveryNo 430220 -includeEmpty -path "C:\Temp\Result.xml"</dev:code>
        <dev:remarks>
          <maml:para>This operation creates an XML output containing the details of a specific delivery note, including its associated header and line items. the metadata and the EULANDA root. Because the switch `-includeEmpty` was set, also empty fields were exported. An example of an export can be found under XML Delivery Note (../XmlDeliveryNote.md).</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Export-DeliveryToXml.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Export-PropertyToXml</command:name>
      <command:verb>Export</command:verb>
      <command:noun>PropertyToXml</command:noun>
      <maml:description>
        <maml:para>Exports the entire property tree starting from a specified path in a hierarchical xml structure.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Exports the complete property tree starting from a certain path in a hierarchical structure. The `-npEmptyPropertyTree` parameter can be used to specify that the node should be completely omitted if no data is found to be exported due to the specified parameters. If a path is specified, the XML file is saved there, otherwise the XML structure is returned as an XML string.</maml:para>
      <maml:para>Access to the database is done either via an ADO COM object, a connection string, or a UDL file.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Export-PropertyToXml</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>breadcrumbPath</maml:name>
          <maml:description>
            <maml:para>Specifies the root of a property tree path starting with a backslash ``. This parameter is used to search for the corresponding branch in the property tree and retrieve its ID. The retrieved ID is used the tree from that point.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>tablename</maml:name>
          <maml:description>
            <maml:para>The parameter specifies the name of the table for which the property tree should be exported. Currently, three tables are supported: Article, Address, and Delivery. The valid table names can be retrieved using the `Get-MappingTablename` function, which allows input in both the native and English names.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>The parameter `-path` specifies the path and filename of the XML file to be exported. The default value is the current directory. If a file with the same name already exists, it will be overwritten. The file path must be valid and accessible for writing.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noEmptyPropertyTree</maml:name>
          <maml:description>
            <maml:para>If this switch is set, the property is only displayed if child elements are found in the database. Otherwise, an empty XML tag with a subfield is output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>breadcrumbPath</maml:name>
        <maml:description>
          <maml:para>Specifies the root of a property tree path starting with a backslash ``. This parameter is used to search for the corresponding branch in the property tree and retrieve its ID. The retrieved ID is used the tree from that point.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noEmptyPropertyTree</maml:name>
        <maml:description>
          <maml:para>If this switch is set, the property is only displayed if child elements are found in the database. Otherwise, an empty XML tag with a subfield is output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>The parameter `-path` specifies the path and filename of the XML file to be exported. The default value is the current directory. If a file with the same name already exists, it will be overwritten. The file path must be valid and accessible for writing.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>tablename</maml:name>
        <maml:description>
          <maml:para>The parameter specifies the name of the table for which the property tree should be exported. Currently, three tables are supported: Article, Address, and Delivery. The valid table names can be retrieved using the `Get-MappingTablename` function, which allows input in both the native and English names.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Exports the property tree of articles as xml ----</maml:title>
        <dev:code>PS C:\&gt; Export-PropertyToXml -breadcrumbPath '\shop' -tablename 'Article' -udl 'C:\temp\Eulanda_1 JohnDoe.udl'
 
&lt;EULANDA&gt;
    &lt;METADATA&gt;
        &lt;VERSION&gt;2.3.15&lt;/VERSION&gt;
        &lt;GENERATOR&gt;EulandaConnect&lt;/GENERATOR&gt;
        &lt;DATEFORMAT&gt;ISO8601&lt;/DATEFORMAT&gt;
        &lt;FLOATFORMAT&gt;US&lt;/FLOATFORMAT&gt;
        &lt;COUNTRYFORMAT&gt;ISO2&lt;/COUNTRYFORMAT&gt;
        &lt;FIELDNAMES&gt;NATIVE&lt;/FIELDNAMES&gt;
        &lt;DATE&gt;2023-03-22T16:41:43&lt;/DATE&gt;
        &lt;PCNAME&gt;DOE-PC&lt;/PCNAME&gt;
        &lt;USERNAME&gt;JOHN&lt;/USERNAME&gt;
    &lt;/METADATA&gt;
    &lt;MERKMALBAUM&gt;
        &lt;ARTIKEL&gt;
            &lt;MERKMAL&gt;
                &lt;ID&gt;133&lt;/ID&gt;
                &lt;PARENTID&gt;47&lt;/PARENTID&gt;
                &lt;NAME&gt;SHOP&lt;/NAME&gt;
                &lt;UID&gt;{1D3C5272-BB5F-4B63-88E4-B48F11FE7695}&lt;/UID&gt;
                &lt;SORT&gt;0&lt;/SORT&gt;
                &lt;COLOR /&gt;
                &lt;MERKMAL&gt;
                    &lt;ID&gt;166&lt;/ID&gt;
                    &lt;PARENTID&gt;133&lt;/PARENTID&gt;
                    &lt;NAME&gt;Ausstattung&lt;/NAME&gt;
                    &lt;UID&gt;{0628D2F7-BBC0-4A55-B340-1CEA90945D10}&lt;/UID&gt;
                    &lt;SORT&gt;0&lt;/SORT&gt;
                    &lt;COLOR&gt;536870911&lt;/COLOR&gt;
                    &lt;MERKMAL&gt;
                        &lt;ID&gt;171&lt;/ID&gt;
                        &lt;PARENTID&gt;166&lt;/PARENTID&gt;
                        &lt;NAME&gt;Pinsel&lt;/NAME&gt;
                        &lt;UID&gt;{033C07ED-63DA-4331-B3CD-DCB5A05597B2}&lt;/UID&gt;
                        &lt;SORT&gt;0&lt;/SORT&gt;
                        &lt;COLOR&gt;536870911&lt;/COLOR&gt;
                        ...</dev:code>
        <dev:remarks>
          <maml:para>Exports the property tree of articles under the specified breadcrumb path in XML format using the UDL file specified.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Export-PropertyToXml.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Export-StockToXml</command:name>
      <command:verb>Export</command:verb>
      <command:noun>StockToXml</command:noun>
      <maml:description>
        <maml:para>Exports the stock level to an XML file</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The quantities of individual warehouses can be exported individually or as a whole. In addition to your own warehouses, you can also export the stock levels of suppliers warehouses as an XML file.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Export-StockToXml</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>A path is a combination of the drive letter, share, subfolders, and the filename of the resource, for example, a XML file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>filter</maml:name>
          <maml:description>
            <maml:para>The filters are passed as an array of strings and refer to the native field names of the article table. They can contain single logical operators in PowerShell syntax. All filters are joined by logical AND. So the result set becomes smaller with the number of filters.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>alias</maml:name>
          <maml:description>
            <maml:para>Historically, the article number is always used as the unique field. However, there are other unique fields in the article table such as the `ID` and the `UID`. In addition, the barcode can be such a field, if this is changed user-specifically to uniqueness in the database. The XML file always contains `ID.ALIAS` as field name, but now related to one of the new possible field names. Allowed values are: `ID`, `UID`, `ARTNUMBER` and `BARCODE`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>qtyStatic</maml:name>
          <maml:description>
            <maml:para>Regardless of the actual stock quantities, this can be overwritten by a static specification. All outputs will then contain this static value. The idea behind this is that you can transmit stock figures to an online store in this way, for example, so that you can place and test orders in the store even without stock.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>warehouse</maml:name>
          <maml:description>
            <maml:para>The name of the warehouse, which must be located in the account area 1000-1399 in inventory management.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>legacy</maml:name>
          <maml:description>
            <maml:para>Historically, three fields are always output during warehouse data transfer as xml file. One that contains the total stock of all warehouses, one that lists this quantity minus all sales orders and one that also takes into account the purchase orders. If, for example, only one storage location is to be output, the other two values are also output if the legacy switch is activated; in this case, however, always with the same stock level.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>alias</maml:name>
        <maml:description>
          <maml:para>Historically, the article number is always used as the unique field. However, there are other unique fields in the article table such as the `ID` and the `UID`. In addition, the barcode can be such a field, if this is changed user-specifically to uniqueness in the database. The XML file always contains `ID.ALIAS` as field name, but now related to one of the new possible field names. Allowed values are: `ID`, `UID`, `ARTNUMBER` and `BARCODE`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>filter</maml:name>
        <maml:description>
          <maml:para>The filters are passed as an array of strings and refer to the native field names of the article table. They can contain single logical operators in PowerShell syntax. All filters are joined by logical AND. So the result set becomes smaller with the number of filters.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>legacy</maml:name>
        <maml:description>
          <maml:para>Historically, three fields are always output during warehouse data transfer as xml file. One that contains the total stock of all warehouses, one that lists this quantity minus all sales orders and one that also takes into account the purchase orders. If, for example, only one storage location is to be output, the other two values are also output if the legacy switch is activated; in this case, however, always with the same stock level.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>A path is a combination of the drive letter, share, subfolders, and the filename of the resource, for example, a XML file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>qtyStatic</maml:name>
        <maml:description>
          <maml:para>Regardless of the actual stock quantities, this can be overwritten by a static specification. All outputs will then contain this static value. The idea behind this is that you can transmit stock figures to an online store in this way, for example, so that you can place and test orders in the store even without stock.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>warehouse</maml:name>
        <maml:description>
          <maml:para>The name of the warehouse, which must be located in the account area 1000-1399 in inventory management.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None. You cannot pipe objects</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>EXAMPLE 1:Exports the quantities of the CHICAGO warehouse to an XML file</maml:title>
        <dev:code>PS C:\&gt; Export-StockToXml -path "C:\Temp\Stock.xml" -udl "C:\temp\Eulanda_1 JohnDoe.udl" -filter @("Barcode &gt;= '1000000'", "Barcode &lt;= '8888889'") -alias 'BARCODE' -warehouse 'CHICAGO'
 
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;EULANDA&gt;
  &lt;METADATA&gt;
    &lt;VERSION&gt;1.22&lt;/VERSION&gt;
    &lt;GENERATOR&gt;EulandaConnect&lt;/GENERATOR&gt;
    &lt;DATEFORMAT&gt;ISO8601&lt;/DATEFORMAT&gt;
    &lt;FLOATFORMAT&gt;US&lt;/FLOATFORMAT&gt;
    &lt;COUNTRYFORMAT&gt;ISO2&lt;/COUNTRYFORMAT&gt;
    &lt;FIELDNAMES&gt;NATIVE&lt;/FIELDNAMES&gt;
    &lt;DATE&gt;2023-02-13T09:44:46&lt;/DATE&gt;
    &lt;PCNAME&gt;SURFACE&lt;/PCNAME&gt;
    &lt;USERNAME&gt;JD&lt;/USERNAME&gt;
  &lt;/METADATA&gt;
  &lt;ARTIKELLISTE&gt;
    &lt;ARTIKEL&gt;
      &lt;ID.ALIAS&gt;3102069&lt;/ID.ALIAS&gt;
      &lt;LAGER&gt;
        &lt;BESTANDVERFUEGBAR&gt;5500.0000&lt;/BESTANDVERFUEGBAR&gt;
      &lt;/LAGER&gt;
    &lt;/ARTIKEL&gt;
    &lt;ARTIKEL&gt;
      &lt;ID.ALIAS&gt;3102070&lt;/ID.ALIAS&gt;
      &lt;LAGER&gt;
        &lt;BESTANDVERFUEGBAR&gt;57100.0000&lt;/BESTANDVERFUEGBAR&gt;
      &lt;/LAGER&gt;
    &lt;/ARTIKEL&gt;
    &lt;ARTIKEL&gt;
      &lt;ID.ALIAS&gt;3102071&lt;/ID.ALIAS&gt;
      &lt;LAGER&gt;
        &lt;BESTANDVERFUEGBAR&gt;16100.0000&lt;/BESTANDVERFUEGBAR&gt;
      &lt;/LAGER&gt;
    &lt;/ARTIKEL&gt;
    &lt;ARTIKEL&gt;
      &lt;ID.ALIAS&gt;3102113&lt;/ID.ALIAS&gt;
      &lt;LAGER&gt;
        &lt;BESTANDVERFUEGBAR&gt;31538.0000&lt;/BESTANDVERFUEGBAR&gt;
      &lt;/LAGER&gt;
    &lt;/ARTIKEL&gt;
  &lt;/ARTIKELLISTE&gt;
&lt;/EULANDA&gt;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Export-StockToXml.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Find-MssqlServer</command:name>
      <command:verb>Find</command:verb>
      <command:noun>MssqlServer</command:noun>
      <maml:description>
        <maml:para>Searches for all SQL-Servers in a specified IP range</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function searches for all SQL-Servers in a specified IP range and returns the found IPs, Instance Name, the found SQL-Server Version and if TCP is enabled. The output is a PSCustomObject and is directly compatible for piping into an `Out-GridView`. Alternatively, you can specify only the `-fromIP`, then a single broadcast is sent. If nothing is specified, the local network configuration is evaluated (network ID and CIDR) and the entire subnet is scanned.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-MssqlServer</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>localIp</maml:name>
          <maml:description>
            <maml:para>If the local IP is not specified, the SQL servers are searched on the local PC, if you specify 0.0.0.0, the local network is searched. The network interface assigned to the default gateway is used here.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>remoteIp</maml:name>
          <maml:description>
            <maml:para>If you know of a remote IP that is bound on one of your network interfaces but is not on the local network, you can specify it. This is often a VPN connection to a remote SQL server.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>udpPort</maml:name>
          <maml:description>
            <maml:para>Specifies the port number to scan for SQL Browser services. The default value is 1434 for the standard UDP-Port of the SQL-Browser service.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>timeoutSeconds</maml:name>
          <maml:description>
            <maml:para>Specifies the maximum time in seconds to wait for a response from IP address. The default value is 2 seconds.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>localIp</maml:name>
        <maml:description>
          <maml:para>If the local IP is not specified, the SQL servers are searched on the local PC, if you specify 0.0.0.0, the local network is searched. The network interface assigned to the default gateway is used here.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>remoteIp</maml:name>
        <maml:description>
          <maml:para>If you know of a remote IP that is bound on one of your network interfaces but is not on the local network, you can specify it. This is often a VPN connection to a remote SQL server.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>timeoutSeconds</maml:name>
        <maml:description>
          <maml:para>Specifies the maximum time in seconds to wait for a response from IP address. The default value is 2 seconds.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>udpPort</maml:name>
        <maml:description>
          <maml:para>Specifies the port number to scan for SQL Browser services. The default value is 1434 for the standard UDP-Port of the SQL-Browser service.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--- Example 1:This will display the output in a table format ---</maml:title>
        <dev:code>PS C:\&gt; Find-MssqlServer | Format-Table
 
Ip ServerName InstanceName IsClustered Version tcp np
-- ---------- ------------ ----------- ------- --- --
192.168.178.10 STUDIO EULANDA No 12.0.6024.0 60983 \\STUDIO\pipe\MSSQL$EULANDA\sql\query
192.168.178.10 STUDIO SQL2019 No 15.0.2000.5 61310 \\STUDIO\pipe\MSSQL$SQL2019\sql\query
192.168.178.16 GO EULANDA No 15.0.2000.5 52894 \\GO\pipe\MSSQL$EULANDA\sql\query</dev:code>
        <dev:remarks>
          <maml:para>Without specifying any parameters, the function will scan the entire subnet for SQL-Servers. The output can be piped to an `Out-GridView`. Instead of sending the output of `Find-MssqlServer` to a `GridView`, it can be formatted and displayed on the console using `Format-Table`, `Format-List`, or other formatting cmdlets.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>--- Example 2:This will display the output in a table format ---</maml:title>
        <dev:code>PS C:\&gt; Find-MssqlBrowser -fromIp (Get-LocalIp) -toIp (Get-LocalIp)
 
Ip : 192.168.178.10
ServerName : STUDIO
InstanceName : EULANDA
IsClustered : No
Version : 12.0.6024.0
tcp : 60983
np : \\STUDIO\pipe\MSSQL$EULANDA\sql\query
 
Ip : 192.168.178.20
ServerName : STUDIO
InstanceName : SQL2019
IsClustered : No
Version : 15.0.2000.5
tcp : 61310
np : \\STUDIO\pipe\MSSQL$SQL2019\sql\query</dev:code>
        <dev:remarks>
          <maml:para>Displays the local instances found through the SQL Browser service. The local IP is obtained through the `Get-LocalIp` function.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Find-MssqlServer.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Format-Xml</command:name>
      <command:verb>Format</command:verb>
      <command:noun>Xml</command:noun>
      <maml:description>
        <maml:para>Formats an XML string or file by applying indentation and encoding.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Format-Xml` function formats an XML string or file by applying indentation and encoding. If the `xmlString` parameter is provided, the function formats it as an XML string. If the `pathIn` parameter is provided, the function reads the content of the XML file and formats it. The formatted XML output can be either returned or saved to a file, as specified by the `pathOut` parameter.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Format-Xml</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>pathIn</maml:name>
          <maml:description>
            <maml:para>Specifies the path to the XML file to format. This parameter is mutually exclusive with the `xmlString` parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>pathOut</maml:name>
          <maml:description>
            <maml:para>Specifies the path to the file where the formatted XML will be saved. If this parameter is not provided, the formatted XML will be returned as a string.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>removeDecoration</maml:name>
          <maml:description>
            <maml:para>If this parameter is set, the declaration will always be removed, even if it not was originally present in the input XML.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>setDecoration</maml:name>
          <maml:description>
            <maml:para>The parameter adds the XML declaration to the output XML string. If this parameter is set, the declaration will always be added, regardless of whether it was originally present in the input XML or not. The outfput encoding is always utf8, so the decoration is like: &lt;?xml version="1.0" encoding="utf-8" standalone="yes"?&gt;.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Format-Xml</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>pathOut</maml:name>
          <maml:description>
            <maml:para>Specifies the path to the file where the formatted XML will be saved. If this parameter is not provided, the formatted XML will be returned as a string.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>removeDecoration</maml:name>
          <maml:description>
            <maml:para>If this parameter is set, the declaration will always be removed, even if it not was originally present in the input XML.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>setDecoration</maml:name>
          <maml:description>
            <maml:para>The parameter adds the XML declaration to the output XML string. If this parameter is set, the declaration will always be added, regardless of whether it was originally present in the input XML or not. The outfput encoding is always utf8, so the decoration is like: &lt;?xml version="1.0" encoding="utf-8" standalone="yes"?&gt;.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>xmlString</maml:name>
          <maml:description>
            <maml:para>Specifies the XML string to format. This parameter is mutually exclusive with the `pathIn` parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>pathIn</maml:name>
        <maml:description>
          <maml:para>Specifies the path to the XML file to format. This parameter is mutually exclusive with the `xmlString` parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>pathOut</maml:name>
        <maml:description>
          <maml:para>Specifies the path to the file where the formatted XML will be saved. If this parameter is not provided, the formatted XML will be returned as a string.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>removeDecoration</maml:name>
        <maml:description>
          <maml:para>If this parameter is set, the declaration will always be removed, even if it not was originally present in the input XML.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>setDecoration</maml:name>
        <maml:description>
          <maml:para>The parameter adds the XML declaration to the output XML string. If this parameter is set, the declaration will always be added, regardless of whether it was originally present in the input XML or not. The outfput encoding is always utf8, so the decoration is like: &lt;?xml version="1.0" encoding="utf-8" standalone="yes"?&gt;.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>xmlString</maml:name>
        <maml:description>
          <maml:para>Specifies the XML string to format. This parameter is mutually exclusive with the `pathIn` parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>- Example 1:Format an XML string and output it to the console -</maml:title>
        <dev:code>PS C:\&gt; Format-Xml -xmlString "&lt;root&gt;&lt;child&gt;Hello John Doe!&lt;/child&gt;&lt;/root&gt;" -setDecoration
 
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;root&gt;
    &lt;child&gt;Hello John Doe!&lt;/child&gt;
&lt;/root&gt;</dev:code>
        <dev:remarks>
          <maml:para>Format an XML string and output it to the console.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---- Example 2:Format an XML file and save it to a new file ----</maml:title>
        <dev:code>PS C:\&gt; Format-Xml -pathIn "C:\xml\source.xml" -pathOut "C:\xml\formatted.xml" -removeDecoration
 
&lt;root&gt;
    &lt;child&gt;Hello John Doe!&lt;/child&gt;
&lt;/root&gt;</dev:code>
        <dev:remarks>
          <maml:para>The function `Format-Xml` formats an XML file and saves it to a new file. The content of the file is passed as input and has no decoration.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>----- Example 3:Format an XML string and save it to a file -----</maml:title>
        <dev:code>PS C:\&gt; Format-Xml -xmlString "&lt;root&gt;&lt;child/&gt;&lt;/root&gt;" -pathOut "C:\xml\formatted.xml"</dev:code>
        <dev:remarks>
          <maml:para>Format an XML string and save it to a file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Format-Xml.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AddressId</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AddressId</command:noun>
      <maml:description>
        <maml:para>Returns the ID of an address based on its unique field like addressMatch, addressId or addressUid</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function returns the id of the address using the parameter `Match`. The field `Match` is unique in the address table. Via the switch `like` it can be achieved that the parameter `Match` is considered as `search word `. This can be useful in certain scenarios. Alternatively, the `ID` can be set instead of the `Match` parameter. In this case the function returns the same value if the record could be found. If no value is found, $null is returned, otherwise the found `Id`. If more than one address is found when using the `like` switch, an exception * is thrown.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AddressId</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>like</maml:name>
          <maml:description>
            <maml:para>The switch like specifies that the address is to be fuzzy searched using the `Match` field. The beginning of the match must be exact, the remaining part is a wildcard, e.g. 'Match*'.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>addressId</maml:name>
          <maml:description>
            <maml:para>The `AddressId` is a unique key in the table. It is usually used only internally to link tables together. Although the function already returns the ID, it can still be useful to search for it, specifically to determine if the ID is valid and a record can be found with it.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>addressMatch</maml:name>
          <maml:description>
            <maml:para>The parameter `-addressMatch` is a match code in the EULANDA ERP system, which also serves as a search term but as a unique search field. It is practical because it is easily readable and understandable, and is often used to compare data with external systems. The match code is used to search for a specific address, to ensure that the searched address is unique and valid.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>addressUid</maml:name>
          <maml:description>
            <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `addressUid` parameter is used to specify the UID of the address to retrieve the record.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
          <dev:type>
            <maml:name>Guid</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>like</maml:name>
        <maml:description>
          <maml:para>The switch like specifies that the address is to be fuzzy searched using the `Match` field. The beginning of the match must be exact, the remaining part is a wildcard, e.g. 'Match*'.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>addressId</maml:name>
        <maml:description>
          <maml:para>The `AddressId` is a unique key in the table. It is usually used only internally to link tables together. Although the function already returns the ID, it can still be useful to search for it, specifically to determine if the ID is valid and a record can be found with it.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>addressMatch</maml:name>
        <maml:description>
          <maml:para>The parameter `-addressMatch` is a match code in the EULANDA ERP system, which also serves as a search term but as a unique search field. It is practical because it is easily readable and understandable, and is often used to compare data with external systems. The match code is used to search for a specific address, to ensure that the searched address is unique and valid.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>addressUid</maml:name>
        <maml:description>
          <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `addressUid` parameter is used to specify the UID of the address to retrieve the record.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
        <dev:type>
          <maml:name>Guid</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----- Example 1:Returns the ID in case of wildcard search -----</maml:title>
        <dev:code>PS C:\&gt; Get-AddressId -match 'JOHN' -like -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>Here the ID of the desired address is returned, even if the address would be stored in the database as 'JOHN DOE', because the like-switch allows this variant of the search.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-AddressId.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AddressSql</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AddressSql</command:noun>
      <maml:description>
        <maml:para>Generates a SQL statement for selecting addresses from the database based on the specified selection criteria.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `select` parameter is used to specify the list of columns to be retrieved, while the `filter` parameter is used to specify the filter criteria. The `order` parameter is used to specify the order in which the results are sorted. The `-strCase` parameter specifies the case of the field names in the select statement. The `alias` parameter is used to specify an alias for the key field, which is normally the field `match`. The `noIdAlias` parameter is used to specify whether the ID.ALIAS column should be included in the output list of fields. The `limit` parameter is used to specify the maximum number of rows to return, while the `reorder` and `revers` parameters are used to specify whether the field names should be reordered (alphabetically) or reversed if the records should be in reverse order.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AddressSql</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>select</maml:name>
          <maml:description>
            <maml:para>By default, all fields intended for output are retrieved. However, select can be used to specify a comma-separated list of the desired field names.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>alias</maml:name>
          <maml:description>
            <maml:para>The alias is historically the field 'Match' of the address table. In an XML output the node is always 'ID.ALIAS'. This alias is used to uniquely associate the record and can now refer to another unique field. Currently these are UID, ID, and MATCH.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>filter</maml:name>
          <maml:description>
            <maml:para>The filter is an array of strings and the filtering refers to the master dataset. Each row of the array is added individually to the existing filters via logical AND. By default, records whose match starts with '.MUSTER' are hidden. For example, a filter could be "MATCH &lt;&gt; 'BOND'".</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>limit</maml:name>
          <maml:description>
            <maml:para>Limits the number of records output.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noIdAlias</maml:name>
          <maml:description>
            <maml:para>The special field 'ID.ALIAS' is not output, normally it is the first field of the output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>order</maml:name>
          <maml:description>
            <maml:para>The field by which the output is to be sorted. If nested sorting is required, multiple field names can be specified comma-separated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>reorder</maml:name>
          <maml:description>
            <maml:para>The list of field names can be sorted in the output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>revers</maml:name>
          <maml:description>
            <maml:para>The output of the record sorting can be done backwards.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>strCase</maml:name>
          <maml:description>
            <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
            <maml:para>This specification refers to the field names.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">none</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">upper</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">lower</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">capital</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>alias</maml:name>
        <maml:description>
          <maml:para>The alias is historically the field 'Match' of the address table. In an XML output the node is always 'ID.ALIAS'. This alias is used to uniquely associate the record and can now refer to another unique field. Currently these are UID, ID, and MATCH.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>filter</maml:name>
        <maml:description>
          <maml:para>The filter is an array of strings and the filtering refers to the master dataset. Each row of the array is added individually to the existing filters via logical AND. By default, records whose match starts with '.MUSTER' are hidden. For example, a filter could be "MATCH &lt;&gt; 'BOND'".</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>limit</maml:name>
        <maml:description>
          <maml:para>Limits the number of records output.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noIdAlias</maml:name>
        <maml:description>
          <maml:para>The special field 'ID.ALIAS' is not output, normally it is the first field of the output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>order</maml:name>
        <maml:description>
          <maml:para>The field by which the output is to be sorted. If nested sorting is required, multiple field names can be specified comma-separated.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>reorder</maml:name>
        <maml:description>
          <maml:para>The list of field names can be sorted in the output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>revers</maml:name>
        <maml:description>
          <maml:para>The output of the record sorting can be done backwards.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>select</maml:name>
        <maml:description>
          <maml:para>By default, all fields intended for output are retrieved. However, select can be used to specify a comma-separated list of the desired field names.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>strCase</maml:name>
        <maml:description>
          <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
          <maml:para>This specification refers to the field names.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Generates an SQL statement for selecting addresses from the database</maml:title>
        <dev:code>PS C:\&gt; Get-AddressSql -select 'Name1,Name2,Name3,Strasse,Ort' -filter "Match = 'EULANDA'"
 
SELECT Match [ID.ALIAS], Match,Name1,Name2,Name3,Strasse,Ort FROM (
        SELECT
 
        /* KEYS */
        Id, Match, [Uid],
 
        /* IDENTIFIER */
        IsNull(FremdRefNr, '') [FremdRefNr], IsNull(FremdNr, 0) [FremdNr],
        IsNull(Fibukonto,0) [Fibukonto], IsNull(ILN,0) [ILN],
 
        /* GROUPS */
        IsNull(AdresseGr,'') [AdresseGr],
 
        /* ADDRESS */
        IsNull(Name1, '') [Name1], IsNull(Name2, '') [Name2], IsNull(Name3, '') [Name3],
        IsNull(Strasse, '') [Strasse], IsNull(Plz, '') [Plz], IsNull(Ort, '') [Ort],
        RTrim(LTrim(IsNull(Land, ''))) [Land],
 
        /* COMMUNICATION */
        IsNull(EMail, '') [EMail], IsNull(Tel, '') [Tel], IsNull(Fax, '') [Fax], IsNull(Auto, '') [Auto],
        IsNull(Homepage, '') [Homepage],
 
        /* CURRENCY */
        IsNull(Rabatt, '') [Rabatt], IsNull(UstId, '') [UstId], IsNull(SteuerNr, '') [SteuerNr],
        IsNull(BankIBAN, '') [BankIBAN], IsNull(BankBIC, '') [BankBIC],
 
        /* DESCRIPTION */
        IsNull(Karteikarte,'') [Karteikarte],
 
        /* OTHER */
        IsNull(Warnung,'') [Warnung]
 
        FROM Adresse
 
        WHERE ( RTrim(LTrim(IsNull(Match,''))) &lt;&gt; '') AND Match = 'EULANDA'
        ) Dummy
 
        ORDER BY dummy.Match</dev:code>
        <dev:remarks>
          <maml:para>This command generates a SQL statement that selects the columns `Name1`, `Name2`, `Name3`, `Strasse`, and `Ort` from the `Adresse` table where the `Match` column equals `'EULANDA'`. The resulting SQL statement is then executed against the database, and the results are returned as a PowerShell object.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-AddressSql.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-AdoRs</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AdoRs</command:noun>
      <maml:description>
        <maml:para>Returns the first valid and opened recordset due to a query</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>It takes an ADO recordset as parameter and iterates until an open one is found. If no data is found, $null is returned.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AdoRs</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>recordset</maml:name>
          <maml:description>
            <maml:para>This is the recordset that contains, among other things, the query. However, it may contain other recordsets.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>recordset</maml:name>
        <maml:description>
          <maml:para>This is the recordset that contains, among other things, the query. However, it may contain other recordsets.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; $myConn= Get-Conn -udl "C:\temp\Eulanda_1 JohnDoe.udl"
PS C:\&gt; $rs= Get-AdoRs -recordset $myConn.Execute('SELECT * FROM Artikel')
PS C:\&gt; if ($rs) { Write-Host $rs.fields('ArtMatch').value }</dev:code>
        <dev:remarks>
          <maml:para>Here a recordset is used, which is taken as the result of the `execute` method of the connection. Under certain circumstances, several resultsets are delivered with ADO. Get-AdoRs iterates internally with `NextRecordSet` through the different results and returns the first opened recordset. This is usually the one you are looking for.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-AdoRs.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ArticleId</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ArticleId</command:noun>
      <maml:description>
        <maml:para>Returns the `Id` of the article based on its barcode or article number.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Based on the parameter `Barcode` or `ArticleNo` the `Id` of the found article is returned. If neither a barcode nor the article number is specified, an exception is thrown.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ArticleId</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>barcode</maml:name>
          <maml:description>
            <maml:para>Returns the `Id` of the found article. The search is performed using the barcode (= GTIN) of the article. </maml:para>
            <maml:para>&gt; Normally this barcode is defined ambiguously in the database. It is accordingly necessary to define the field in the database as unique.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>articleNo</maml:name>
          <maml:description>
            <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched by this number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>articleId</maml:name>
          <maml:description>
            <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>articleUid</maml:name>
          <maml:description>
            <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
          <dev:type>
            <maml:name>Guid</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>articleNo</maml:name>
        <maml:description>
          <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched by this number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>barcode</maml:name>
        <maml:description>
          <maml:para>Returns the `Id` of the found article. The search is performed using the barcode (= GTIN) of the article. </maml:para>
          <maml:para>&gt; Normally this barcode is defined ambiguously in the database. It is accordingly necessary to define the field in the database as unique.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>articleId</maml:name>
        <maml:description>
          <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>articleUid</maml:name>
        <maml:description>
          <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
        <dev:type>
          <maml:name>Guid</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----- Example 1:Returns the ID based on an article number -----</maml:title>
        <dev:code>PS C:\&gt; Get-ArticleId -articleNo '4711' -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>Returns the `Id` of the found article. The search is done here via the article number. Alternatively, the `Barcode` parameter can be used for the search.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-ArticleId.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ArticleNo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ArticleNo</command:noun>
      <maml:description>
        <maml:para>Returns the article number based on an ID or barcode</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This can be used to determine the article number of an article. The search can be made either via its Id or its barcode (= GTIN). In case of a barcode search, the database should be modified, since the barcode is defined ambiguously by default. If neither a `barcode` nor an `Id` is passed, the function throws an exception .</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ArticleNo</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>barcode</maml:name>
          <maml:description>
            <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>articleId</maml:name>
          <maml:description>
            <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>articleNo</maml:name>
          <maml:description>
            <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched by this number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>articleUid</maml:name>
          <maml:description>
            <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
          <dev:type>
            <maml:name>Guid</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>articleId</maml:name>
        <maml:description>
          <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>barcode</maml:name>
        <maml:description>
          <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>articleNo</maml:name>
        <maml:description>
          <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched by this number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>articleUid</maml:name>
        <maml:description>
          <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
        <dev:type>
          <maml:name>Guid</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----- Example 1:Returns the article number based on a GTIN -----</maml:title>
        <dev:code>PS C:\&gt; Get-ArticleNo -barcode '4014751021005' -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>The function returns the Id of the article with the barcode number (= GTIN) '4014751021005'. In this example, the database is opened via a UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-ArticleNo.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ArticlePackingUnit</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ArticlePackingUnit</command:noun>
      <maml:description>
        <maml:para>Returns the packaging unit based on the `ArticleId`</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function returns the packaging unit for an article searched by its ID. The packing unit indicates how many pieces of an item are in a box.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ArticlePackingUnit</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>articleId</maml:name>
          <maml:description>
            <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>articleNo</maml:name>
          <maml:description>
            <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched by this number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>articleUid</maml:name>
          <maml:description>
            <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
          <dev:type>
            <maml:name>Guid</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>barcode</maml:name>
          <maml:description>
            <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>articleId</maml:name>
        <maml:description>
          <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>articleNo</maml:name>
        <maml:description>
          <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched by this number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>articleUid</maml:name>
        <maml:description>
          <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
        <dev:type>
          <maml:name>Guid</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>barcode</maml:name>
        <maml:description>
          <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Returns the packaging unit by reference to an ArticleId</maml:title>
        <dev:code>PS C:\&gt; Get-ArticlePackingUnit -articleId 4711 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>Returns the packaging unit based on the `Id` of an article. The database access is done by specifying a UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-ArticlePackingUnit.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ArticleSql</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ArticleSql</command:noun>
      <maml:description>
        <maml:para>Creates a SQL command to retrieve a articles</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Generates an SQL command which by default retrieves all fields of the table and uses the article number as `ID.ALIAS`. The result of the function is always an array, even if only a single SQL command is returned as result here. This makes all functions of this type compatible with other functions like `Get-DataFromSql`. </maml:para>
      <maml:para>If not all fields are to be selected, the desired fields can be specified comma-separated via the `select` parameter. </maml:para>
      <maml:para>With the parameter `filter` simple restrictions can be defined in an array. For example that only a certain range of article numbers should be selected.</maml:para>
      <maml:para>Sorting is done by default according to the alias field, which is the article number if nothing is specified. But with the parameter 'order' other fields can be used. Also fields which are not contained in the select list. Again, multiple nested sorting can be done by specifying a comma separated field list.</maml:para>
      <maml:para>The parameter strCase allows to output field names in uppercase letters, for example. Further details can be found in the parameters section.</maml:para>
      <maml:para>The historical XML format uses ID.ALIAS as a special alias to find an article by a unique key. The alias can also be set to other unique fields. A list of these can be found in the parameters. The field [`ID.Alias`] is set to the beginning of the output by default. But it can be suppressed by the switch `noIdAlias`. </maml:para>
      <maml:para>If you want only a small part of the result set, you can limit it with the `limit` parameter. If the value is set to `0`, there will be no data results, but you can retrieve the field list.</maml:para>
      <maml:para>By `reorder` the field list is output alphabetically sorted and by the switch `revers` the sorting of the records can be reversed.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ArticleSql</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>select</maml:name>
          <maml:description>
            <maml:para>By default, all fields intended for output are retrieved. However, select can be used to specify a comma-separated list of the desired field names.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>filter</maml:name>
          <maml:description>
            <maml:para>The filter is an array of strings and the filtering refers to the master dataset. Each row of the array is added individually to the existing filters via logical AND. By default, items whose item number starts with '.MUSTER' are hidden. For example, a filter could be "BARCODE &lt;&gt; '4711'".</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>order</maml:name>
          <maml:description>
            <maml:para>The field by which the output is to be sorted. If nested sorting is required, multiple field names can be specified comma-separated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>strCase</maml:name>
          <maml:description>
            <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
            <maml:para>This specification refers to the field names.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">none</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">upper</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">lower</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">capital</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>alias</maml:name>
          <maml:description>
            <maml:para>The alias is historically the field 'ArticleNo' (= phys. ARTNUMBER) of the article table. In an XML output the node is always 'ID.ALIAS'. This alias is used to uniquely associate the record and can now refer to another unique field. Currently these are UID, ID, ARTNUMBER and BARCODE. If BARCODE is used, it must be ensured that the field is unique in the database.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">Id</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">Uid</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ArtNummer</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">Barcode</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>limit</maml:name>
          <maml:description>
            <maml:para>Limits the number of records output.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noIdAlias</maml:name>
          <maml:description>
            <maml:para>The special field 'ID.ALIAS' is not output, normally it is the first field of the output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>reorder</maml:name>
          <maml:description>
            <maml:para>The list of field names can be sorted in the output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>revers</maml:name>
          <maml:description>
            <maml:para>The output of the record sorting can be done backwards.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>alias</maml:name>
        <maml:description>
          <maml:para>The alias is historically the field 'ArticleNo' (= phys. ARTNUMBER) of the article table. In an XML output the node is always 'ID.ALIAS'. This alias is used to uniquely associate the record and can now refer to another unique field. Currently these are UID, ID, ARTNUMBER and BARCODE. If BARCODE is used, it must be ensured that the field is unique in the database.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>filter</maml:name>
        <maml:description>
          <maml:para>The filter is an array of strings and the filtering refers to the master dataset. Each row of the array is added individually to the existing filters via logical AND. By default, items whose item number starts with '.MUSTER' are hidden. For example, a filter could be "BARCODE &lt;&gt; '4711'".</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>limit</maml:name>
        <maml:description>
          <maml:para>Limits the number of records output.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noIdAlias</maml:name>
        <maml:description>
          <maml:para>The special field 'ID.ALIAS' is not output, normally it is the first field of the output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>order</maml:name>
        <maml:description>
          <maml:para>The field by which the output is to be sorted. If nested sorting is required, multiple field names can be specified comma-separated.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>reorder</maml:name>
        <maml:description>
          <maml:para>The list of field names can be sorted in the output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>revers</maml:name>
        <maml:description>
          <maml:para>The output of the record sorting can be done backwards.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>select</maml:name>
        <maml:description>
          <maml:para>By default, all fields intended for output are retrieved. However, select can be used to specify a comma-separated list of the desired field names.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>strCase</maml:name>
        <maml:description>
          <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
          <maml:para>This specification refers to the field names.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; $sql = Get-ArticleSql -filter @('Barcode &gt;= 1000000','Barcode &lt;2000000') -alias Barcode</dev:code>
        <dev:remarks>
          <maml:para>Creates an SQL command that retrieves all item fields. The amount of data is limited by the Barcode field. Only data with a barcode number between 1000000 and 1999999 will be output. The results are sorted by the barcode and the alias is not the default but the Barcode field.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-ArticleSql.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-Bool</command:name>
      <command:verb>Get</command:verb>
      <command:noun>Bool</command:noun>
      <maml:description>
        <maml:para>Converts a string like 0, 1 Ture or False to a Boolean</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function converts a text to a boolean, where '1' and 'True' result in the value $true and all other values result in the value $false.
</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-Bool</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>boolStr</maml:name>
          <maml:description>
            <maml:para>Is the string value to be converted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>boolStr</maml:name>
        <maml:description>
          <maml:para>Is the string value to be converted.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----------- Example 1:Converts string '1' to $true -----------</maml:title>
        <dev:code>PS C:\&gt; Get-Bool -boolStr '1'
 
# Output
 
True</dev:code>
        <dev:remarks>
          <maml:para>In this example the string with content `1` is passed to the function Get-Bool. This causes the function to return `True`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-Bool.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-BreadcrumbId</command:name>
      <command:verb>Get</command:verb>
      <command:noun>BreadcrumbId</command:noun>
      <maml:description>
        <maml:para>The `Get-BreadcrumbId` cmdlet retrieves the ID of the last breadcrumb element in a given property tree path.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command retrieves the ID of the last element of a breadcrumb path in the property tree. The `breadcrumbPath` parameter specifies the root of the path, which starts with a backslash ``. The `tablename` parameter specifies the name of the table that the property tree refers to. The retrieved ID is used to retrieve corresponding data in the database.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-BreadcrumbId</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>breadcrumbPath</maml:name>
          <maml:description>
            <maml:para>Specifies the root of a property tree path starting with a backslash (``). This parameter is used to search for the corresponding branch in the property tree and retrieve the ID of the ending path element.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>tablename</maml:name>
          <maml:description>
            <maml:para>Specifies the name of the table the property tree is associated with. Currently supported values for `tablename` are `Article`, `Address`, and `Delivery`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>breadcrumbPath</maml:name>
        <maml:description>
          <maml:para>Specifies the root of a property tree path starting with a backslash (``). This parameter is used to search for the corresponding branch in the property tree and retrieve the ID of the ending path element.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>tablename</maml:name>
        <maml:description>
          <maml:para>Specifies the name of the table the property tree is associated with. Currently supported values for `tablename` are `Article`, `Address`, and `Delivery`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; Get-BreadcrumbId -breadcrumpPath '\Shop\Profi-Aqua\Make-Up' -tablename 'Article' -udl 'C:\temp\Eulanda_1 JohnDoe.udl'
 
756</dev:code>
        <dev:remarks>
          <maml:para>Returns the ID of the breadcrumb element with the path `\Shop\Profi-Aqua\Make-Up`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-BreadcrumbId.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-BreadcrumbPath</command:name>
      <command:verb>Get</command:verb>
      <command:noun>BreadcrumbPath</command:noun>
      <maml:description>
        <maml:para>Returns the breadcrumb path of a given breadcrumb ID.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Get-BreadcrumbPath` function retrieves the breadcrumb path of a specific node in the Eulanda property tree. The `breadcrumbId` parameter specifies the ID of the node for which the breadcrumb path is retrieved. The function can access the Eulanda database using either an ADO COM-object, a UDL file or a connection string.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-BreadcrumbPath</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>breadcrumbId</maml:name>
          <maml:description>
            <maml:para>Specifies the ID of the breadcrumb to retrieve the path for.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>breadcrumbId</maml:name>
        <maml:description>
          <maml:para>Specifies the ID of the breadcrumb to retrieve the path for.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------- Example 1:Returns the breadcrumb path of ID 756 -------</maml:title>
        <dev:code>PS C:\&gt; Get-BreadcrumbPath -breadcrumbId 756 -udl 'C:\temp\Eulanda_1 JohnDoe.udl'
 
\Shop\Profi-Aqua\Make-Up</dev:code>
        <dev:remarks>
          <maml:para>Returns the breadcrumb path of the breadcrumb with ID 756 using a UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-BreadcrumbPath.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-BroadcastIp</command:name>
      <command:verb>Get</command:verb>
      <command:noun>BroadcastIp</command:noun>
      <maml:description>
        <maml:para>Calculate the broadcast IP of a given network</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function `Get-BroadcastIp` is used to calculate the broadcast IP of a given network. This information is commonly used to send a message to all devices within a particular network. The function takes either a network ID, an IP address, a subnet mask, or a CIDR as input parameters, and it returns the broadcast IP for that network.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-BroadcastIp</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>networkId</maml:name>
          <maml:description>
            <maml:para>The network ID of the network for which you want to calculate the broadcast IP.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>ip</maml:name>
          <maml:description>
            <maml:para>An IP address in the network for which you want to calculate the broadcast IP.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>subnet</maml:name>
          <maml:description>
            <maml:para>The subnet mask of the network for which you want to calculate the broadcast IP.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>cidr</maml:name>
          <maml:description>
            <maml:para>The CIDR notation of the network for which you want to calculate the broadcast IP.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>cidr</maml:name>
        <maml:description>
          <maml:para>The CIDR notation of the network for which you want to calculate the broadcast IP.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>ip</maml:name>
        <maml:description>
          <maml:para>An IP address in the network for which you want to calculate the broadcast IP.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>networkId</maml:name>
        <maml:description>
          <maml:para>The network ID of the network for which you want to calculate the broadcast IP.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>subnet</maml:name>
        <maml:description>
          <maml:para>The subnet mask of the network for which you want to calculate the broadcast IP.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Returns the broadcast IP address for the network ID 192.168.178.0 /24</maml:title>
        <dev:code>PS C:\&gt; Get-BroadcastIp -networkId 192.168.178.0 -cidr 24
 
# Output
 
192.168.178.255</dev:code>
        <dev:remarks>
          <maml:para>This example returns the broadcast IP address for the network ID 192.168.178.0 with a subnet mask of 255.255.255.0 or the equivalent CIDR of 24. The broadcast IP address is the last address in the network range and is used for sending messages to all devices on the network at once.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-BroadcastIp.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-Cidr</command:name>
      <command:verb>Get</command:verb>
      <command:noun>Cidr</command:noun>
      <maml:description>
        <maml:para>Calculates the CIDR based on the subnet</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function calculates the CIDR based on the subnet provided. If no subnet is provided, it attempts to obtain the local IP and the subnet mask from the network interface. The CIDR is a method of representing the subnet mask as a single number that expresses the number of bits in the mask. For example, a subnet mask of 255.255.255.0 can be represented as a CIDR of /24.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-Cidr</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>subnet</maml:name>
          <maml:description>
            <maml:para>(optional): Specifies the subnet mask to be used to calculate the CIDR. If this parameter is not specified, the function will try to determine the local subnet mask based on the local IP address and associated network interface.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>ip</maml:name>
          <maml:description>
            <maml:para>(optional): Specifies the IP address to be used to calculate the CIDR. If this parameter is not specified, the function will try to determine the local IP address and calculate the CIDR based on the subnet mask of the associated network interface.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>ip</maml:name>
        <maml:description>
          <maml:para>(optional): Specifies the IP address to be used to calculate the CIDR. If this parameter is not specified, the function will try to determine the local IP address and calculate the CIDR based on the subnet mask of the associated network interface.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>subnet</maml:name>
        <maml:description>
          <maml:para>(optional): Specifies the subnet mask to be used to calculate the CIDR. If this parameter is not specified, the function will try to determine the local subnet mask based on the local IP address and associated network interface.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; Get-Cidr
 
# Output
 
24</dev:code>
        <dev:remarks>
          <maml:para>In this example, no parameter is specified. The local IP address is then determined and the subnet mask is obtained from the network interface associated with that IP. In the example, the command was run in a local network based on a Fritzbox. The default gateway IP in such a network is typically 192.168.178.1, and the subnet mask is usually 255.255.255.0.</maml:para>
          <maml:para>CIDR (Classless Inter-Domain Routing) is a method for allocating IP addresses and routing Internet Protocol packets. It replaces the previous system based on classes A, B, and C. CIDR notation is a compact representation of an IP address and its associated network mask. It is expressed in the form of IP address followed by a slash and a number which represents the length of the prefix mask.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-Cidr.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-Conn</command:name>
      <command:verb>Get</command:verb>
      <command:noun>Conn</command:noun>
      <maml:description>
        <maml:para>Returns an open connection to a EULANDA database</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function returns an opened Connection object. If a connection is already passed as input parameter, it will be used. If it was closed, it will be opened automatically. Alternatively a UDL file or a Connection-String can be specified to access the database.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-Conn</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------- Example 1:Returns an opened connection object --------</maml:title>
        <dev:code>PS C:\&gt; $conn = Get-Conn -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>Based on a UDL file, an opened Connection object is returned and assigned to the `$conn` variable. This can then be used to make many other calls by continuing to use the same connection.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-Conn.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-ConnItems</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ConnItems</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ConnItems</command:noun>
      <maml:description>
        <maml:para>Returns all value pairs as a hash table</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function returns a hash table with the values of the Connection object. Alternatively, a UDL file or a connection string can be specified. The individual values are then accessed by specifying the individual value names. The individual value pairs are especially needed for SQL access via the PowerShell module `ImportExcel`, but can also be useful in other ways.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ConnItems</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Returns the value pairs of a connection as hash table</maml:title>
        <dev:code>PS C:\&gt; [hashtable]$params = Get-ConnItems -udl "C:\temp\Eulanda_1 JohnDoe.udl"
PS C:\&gt; Write-Host $params['Initial Catalog']
 
# Result is shown on the display
Eulanda_JohnDoe
 
[oledb]
; Everything after this line is an OLE DB initstring
Provider=SQLOLEDB.1;Data Source=.\EULANDA;USER ID=eulanda;PASSWORD=NoIdea;Initial Catalog=Eulanda_JohnDoe;Persist Security Info=True</dev:code>
        <dev:remarks>
          <maml:para>Returns a hash table with all value pairs that can be determined from the UDL file. It is now very easy to access each element. These parameters are needed for the Excel module `ImportExcel`. The second block shows the content of the UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-ConnItems.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-Conn</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ConnStr</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ConnStr</command:noun>
      <maml:description>
        <maml:para>Creates a connection string based on the specified parameters</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The name of the database must be specified. This is used, no matter which method is used for the authentication. This makes it possible, for example, to use a UDL file but with a different database. The prerequisite is always that the user also has the authorization for this database.</maml:para>
      <maml:para>The function allows to specify all parameters individually, to use an existing connection, a connection string or a UDL file. If the parameters are specified individually, the server name is sufficient in the simplest case. The logged-in Windows user is then used as the user.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ConnStr</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>database</maml:name>
          <maml:description>
            <maml:para>The name of the database to connect to.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>server</maml:name>
          <maml:description>
            <maml:para>The name of the MSSQL server. This can also contain the instance name. If one is used, it must be specified with backslah. The name of the server can also be an IP address like 192.168.178.20. If a server is specified, the UDL, Conn and ConnStr parameters are ignored. If the server name is used, there are two methods, Windows authentication and SQL authentication. In the first variant, the user name and password are omitted. The logged-in user is then used.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>user</maml:name>
          <maml:description>
            <maml:para>If the user is specified, a password is also required. SQL authentication is used as authentication and a server name is expected.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>password</maml:name>
          <maml:description>
            <maml:para>The password to be connected to the database. In any case, this also includes the user name.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>database</maml:name>
        <maml:description>
          <maml:para>The name of the database to connect to.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>password</maml:name>
        <maml:description>
          <maml:para>The password to be connected to the database. In any case, this also includes the user name.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>server</maml:name>
        <maml:description>
          <maml:para>The name of the MSSQL server. This can also contain the instance name. If one is used, it must be specified with backslah. The name of the server can also be an IP address like 192.168.178.20. If a server is specified, the UDL, Conn and ConnStr parameters are ignored. If the server name is used, there are two methods, Windows authentication and SQL authentication. In the first variant, the user name and password are omitted. The logged-in user is then used.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>user</maml:name>
        <maml:description>
          <maml:para>If the user is specified, a password is also required. SQL authentication is used as authentication and a server name is expected.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title> Example 1:Returns a connection string for the master database </maml:title>
        <dev:code>PS C:\&gt; $connStr= Get-ConnStr -database 'Master' -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>In this example, the server name and authentication from the UDL file are used. `Master` is used as the database. Important here, the authorization used in the UDL file must also be sufficient for access to the `Master` database.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-ConnStr.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DataFromSql</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DataFromSql</command:noun>
      <maml:description>
        <maml:para>Creates a PowerShell data structure based on an SQL select command</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function creates a PowerShell data structure as a result that returns a hash table, an array of hash tables, or a combination of these. It expects the SQL query as an array of strings, from various select commands. The array must contain at least one SQL command. If two SQL commands are specified, the first is processed as master and the second as detail.</maml:para>
      <maml:para>The connection to a database is made either via an existing connection, the specification of a UDL file name or the specification of a connection string.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DataFromSql</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>sql</maml:name>
          <maml:description>
            <maml:para>The SQL parameter can contain several sections, each of which is an independently executable SQL query. For this reason, the parameter is an array of strings. If only a single array element is specified, it is usually several records, i.e. a list.</maml:para>
            <maml:para>If two queries are specified, the first is considered the master and may return only one record. The second SQL query is then the detail query. For an invoice, for example, this would be the invoice items.</maml:para>
            <maml:para>If a third array element is specified, it is the summary, i.e. the totals that are to be shown in a report.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>arrRoot</maml:name>
          <maml:description>
            <maml:para>Specifying the parameter allows to specify the node name of the detail in case of a master-detail relationship. The term should be specified in plural.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Items</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>arrRoot</maml:name>
        <maml:description>
          <maml:para>Specifying the parameter allows to specify the node name of the detail in case of a master-detail relationship. The term should be specified in plural.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Items</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>sql</maml:name>
        <maml:description>
          <maml:para>The SQL parameter can contain several sections, each of which is an independently executable SQL query. For this reason, the parameter is an array of strings. If only a single array element is specified, it is usually several records, i.e. a list.</maml:para>
          <maml:para>If two queries are specified, the first is considered the master and may return only one record. The second SQL query is then the detail query. For an invoice, for example, this would be the invoice items.</maml:para>
          <maml:para>If a third array element is specified, it is the summary, i.e. the totals that are to be shown in a report.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None. You cannot pipe objects</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----- EXAMPLE 1:Exporting a delivery note to a data object -----</maml:title>
        <dev:code>[int]$deliveryNo = 430220
[string[]]$sql= Get-DeliverySql -deliveryNo $deliveryNo
[System.Object]$data = Get-DataFromSql -sql $sql -conn $conn</dev:code>
        <dev:remarks>
          <maml:para>In this example, the delivery bill with the number `430220` is exported to a nested hash table. The appropriate SQL commands to generate a master/detail connection are provided by the `Get-DeliberySql` function. This data could then be output as an XML file, for example.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DataFromSql.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DeliveryId</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DeliveryId</command:noun>
      <maml:description>
        <maml:para>Returns the `Id` for a delivery bill</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Based on a delivery bill number, the Id to a delivery bill is returned. The Id is used for various functions. Especially for linking tables. The database can be specified via a Connection object, a UDL file or a ConnectionString.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DeliveryId</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--- Example 1:Returns the Id of the specified delivery bill ---</maml:title>
        <dev:code>PS C:\&gt; Get-DeliveryId -deliveryNo 20230515 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>After executing the command, the function result returns the Id of the delivery bill to which the delivery note number `20230515` belongs. The database is accessed by specifying a UDL file. Instead, an existing Connection object could also be specified.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DeliveryId.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DeliveryLink</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DeliveryLink</command:noun>
      <maml:description>
        <maml:para>Creates a condition for the where case of an SQL query to select a delivery note.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function creates a condition for an SQL query to select a delivery note. This can be found both via the ID and via its delivery note number. In addition, by specifying an alias, a query can also be made for the details.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DeliveryLink</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>alias</maml:name>
          <maml:description>
            <maml:para>The alias is used to execute the condition for the SQL query of the details, i.e. the associated positions. For the delivery note the alias is usually 'lf'.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>alias</maml:name>
        <maml:description>
          <maml:para>The alias is used to execute the condition for the SQL query of the details, i.e. the associated positions. For the delivery note the alias is usually 'lf'.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None. You cannot pipe objects</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>string</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>EXAMPLE 1:Provides the link to connect header and position data</maml:title>
        <dev:code>PS C:\&gt; [string]$sqlFrag = Get-DeliveryLink -deliveryNo 430220
 
KopfNummer = 43020</dev:code>
        <dev:remarks>
          <maml:para>Provides the link to connect the delivery bill items to the delivery bill header (= master/detail). This text is then used by `Get-DataFromSql` to create the nested hash tables.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DeliveryLink.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DeliveryNo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DeliveryNo</command:noun>
      <maml:description>
        <maml:para>Returns the delivery bill number based on its `Id`</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Based on a delivery bill `Id` the delivery bill number is returned. The database can be specified via a Connection object, a UDL file or a ConnectionString.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DeliveryNo</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- Example 1:Returns the delivery note number ----------</maml:title>
        <dev:code>PS C:\&gt; [int]$deliveryNo= Get-DeliveryNo -deliveryId 25 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>After execution of the command, the variable `$deliveryNo` contains the delivery bill number of the delivery bill to which the `Id` `25` belongs. The database is accessed by specifying a UDL file. Instead, an existing Connection object could also be specified.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DeliveryNo.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DeliveryQty</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DeliveryQty</command:noun>
      <maml:description>
        <maml:para>Returns a hashtable with the delivery quantities of the positions</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>For a delivery note number, all quantities of the delivery note items are output in the form of a hash table. The key of the hash table is the field `articleNo`, which however corresponds with the database field `barcode`. All positions of the delivery bill, which possibly contain the same key field, in this case the field `barcode`, are summarized .</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DeliveryQty</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Returns a hashlist with all cumulated line items of a delivery note</maml:title>
        <dev:code>PS C:\&gt; [hashtable]$qty = Get-DeliveryQty -deliveryNo 430220 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>For delivery note number `430220`, the quantities of all items are returned in a hash table. The key here is the respective article number. In this example, the database is accessed by specifying a UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DeliveryQty.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DeliverySql</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DeliverySql</command:noun>
      <maml:description>
        <maml:para>Creates a SQL command to retrieve a delivery note incl. positions</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Generates two SQL commands that are returned as an array of strings. One is a query of a delivery note header and the other is a query of the corresponding positions. The delivery note is found via the ID or its delivery note number.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DeliverySql</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None. You cannot pipe objects</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>EXAMPLE 1:Creates an SQL query to retrieve a delivery bill including its attached line items</maml:title>
        <dev:code>[int]$deliveryNo = 430220
[string[]]$sql= Get-DeliverySql -deliveryNo $deliveryNo
[System.Object]$data = Get-DataFromSql -sql $sql -conn $script:conn</dev:code>
        <dev:remarks>
          <maml:para>Creates a string array with two SQL queries and a link relationship, which is required in `Get-DataFromSql` if it is a set from Master / Detail. In the `Get-DataFromSql` function, a retrieval with the second SQL query is then performed for each delivery bill.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DeliverySql.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DeliveryStatus</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DeliveryStatus</command:noun>
      <maml:description>
        <maml:para>Returns the status of the delivery bill</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The status of the delivery bill indicates in which mode it is. The status is an integer value and can assume different values. The higher the number, the further the delivery bill is completed. A delivery bill is completed when the status value is &gt;20.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DeliveryStatus</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------- Example 1:Returns the status of a delivery note -------</maml:title>
        <dev:code>PS C:\&gt; [int]$status = Get-DeliveryStatus -deliveryNo 20230515 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>Here the status of the delivery bill `20230515` is returned. Alternatively, its `Id` can also be specified. In this example, the database is accessed via an UDL file.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------------- Example 2:Table of Status code ----------------</maml:title>
        <dev:code>┌───────┬───────────────────────┬──────────────────────┐
│ Value │ Description (English) │ Description (German) │
├───────┼───────────────────────┼──────────────────────┤
│ 0 │ Capture │ Erfassen │
│ 2 │ Captured │ Erfasst │
│ 5 │ Reserved │ Reserviert │
│ 6 │ Transfer to WMS │ Übergeben an LVS │
│ 8 │ Picking │ Kommissioniermodus │
│ 9 │ Shippable │ Versandfertig │
│ 10 │ Delivered │ Geliefert │
│ 20 │ Billed │ Berechnet │
│ 21 │ Underbilled │ Unterberechnet │
│ 22 │ Unbilled │ Unberechnet │
└───────┴───────────────────────┴──────────────────────┘</dev:code>
        <dev:remarks>
          <maml:para>Table of possible values and their meaning</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DeliveryStatus.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DesktopDir</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DesktopDir</command:noun>
      <maml:description>
        <maml:para>Returns the path to the desktop</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns the path to the desktop of the logged in user. The path does not contain a terminating backslash.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DesktopDir</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- Example 1:Returns the path to the desktop ----------</maml:title>
        <dev:code>PS C:\&gt; Get-DesktopDir
 
# Output
 
C:\Users\JohnDoe\Desktop</dev:code>
        <dev:remarks>
          <maml:para>Returns the path to the desktop for the user John Dow.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DesktopDir.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-TempDir</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DmsFolderDelivery</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DmsFolderDelivery</command:noun>
      <maml:description>
        <maml:para>Delivers the DMS folder to a delivery bill</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>There is a simple but flexible document management system (= DMS ) for the ERP system. It is stored on a network-accessible share. For each data object such as articles, addresses, etc. there are subfolders and then for each address in turn the final DMS folder. The `$dmsBaseFolder` is the root of the DMS system. Delivery bills are stored below the delivery address. This function then returns the appropriate folder for a given delivery bill. In this folder specific files to the delivery bill can be stored, for example transmission protocols.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DmsFolderDelivery</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>dmsBaseFolder</maml:name>
          <maml:description>
            <maml:para>Basic folder for the DMS system. For example `\server\release\eulanda\dms`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>dmsBaseFolder</maml:name>
        <maml:description>
          <maml:para>Basic folder for the DMS system. For example `\server\release\eulanda\dms`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----- Example 1:Returns the DMS folder of a delivery bill -----</maml:title>
        <dev:code>PS C:\&gt; [string]$path= Get-DmsFolderDelivery -deliveryNo 20230515 -dmsBaseFolder '\\server\release\eulanda\dms' -udl "C:\temp\Eulanda_1 JohnDoe.udl"
PS C:\&gt; Write-Host $path
 
# Output
\\server\release\eulanda\dms\address\John Doe\Delivery Note\20230515</dev:code>
        <dev:remarks>
          <maml:para>After calling the function, the variable contains the path for the storage in the DMS system for the delivery bill with the number `20230515`. John Doe in this example would be the name (= field Match) of the delivery address. The access to the database is done via the UDL file which was passed as parameter. The DMS system can only be localized if the DMS base folder is specified.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DmsFolderDelivery.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-DmsFolderSalesOrder</command:name>
      <command:verb>Get</command:verb>
      <command:noun>DmsFolderSalesOrder</command:noun>
      <maml:description>
        <maml:para>Delivers the DMS folder to a sales order</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>There is a simple but flexible document management system (= DMS ) for the ERP system. It is stored on a network-accessible share. For each data object such as articles, addresses, etc. there are subfolders and then for each address in turn the final DMS folder. The `$dmsBaseFolder` is the root of the DMS system. Sales orders are stored below the invoice address. This function then returns the appropriate folder for a given sales order. In this folder specific files to the sales order can be stored, for example technical drawings, contract agreements, etc.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-DmsFolderSalesOrder</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>dmsBaseFolder</maml:name>
          <maml:description>
            <maml:para>Basic folder for the DMS system. For example `\server\release\eulanda\dms`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>salesOrderNo</maml:name>
          <maml:description>
            <maml:para>The `SalesOrderNo` is the userfriendly `number` of the header record of the sales order. The `number` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>salesOrderId</maml:name>
          <maml:description>
            <maml:para>The `SalesOrderId` is the `ID` of the header record of the sales order. The `ID` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>customerOrderNo</maml:name>
          <maml:description>
            <maml:para>This is the customer's order number. It is typically passed from an external system, such as an online shop system, to the ERP (Enterprise Resource Planning) system as a unique reference. It should be noted that this value is not defined as unique in the ERP system's database itself.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>customerOrderNo</maml:name>
        <maml:description>
          <maml:para>This is the customer's order number. It is typically passed from an external system, such as an online shop system, to the ERP (Enterprise Resource Planning) system as a unique reference. It should be noted that this value is not defined as unique in the ERP system's database itself.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>dmsBaseFolder</maml:name>
        <maml:description>
          <maml:para>Basic folder for the DMS system. For example `\server\release\eulanda\dms`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>salesOrderId</maml:name>
        <maml:description>
          <maml:para>The `SalesOrderId` is the `ID` of the header record of the sales order. The `ID` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>salesOrderNo</maml:name>
        <maml:description>
          <maml:para>The `SalesOrderNo` is the userfriendly `number` of the header record of the sales order. The `number` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------ Example 1:Returns the DMS folder of a sales order ------</maml:title>
        <dev:code>PS C:\&gt; [string]$path= Get-DmsFolderSalesOrder -salesOrderNo 30221218 -dmsBaseFolder '\\server\release\eulanda\dms' -udl "C:\temp\Eulanda_1 JohnDoe.udl"
PS C:\&gt; Write-Host $path
 
# Output
\\server\release\eulanda\dms\address\John Doe\Sales Order\30221218</dev:code>
        <dev:remarks>
          <maml:para>After calling the function, the variable contains the path for the storage in the DMS system for the sales order with the number `30221218`. John Doe in this example would be the name (= field Match) of the invoice address. The access to the database is done via the UDL file which was passed as parameter. The DMS system can only be localized if the DMS base folder is specified.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DmsFolderSalesOrder.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-FieldTruncated</command:name>
      <command:verb>Get</command:verb>
      <command:noun>FieldTruncated</command:noun>
      <maml:description>
        <maml:para>Truncates a database field from an ADO recordset</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function truncates a string from a field of a record set. It is usually used in XML data output to keep the code clearly arranged.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-FieldTruncated</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>rs</maml:name>
          <maml:description>
            <maml:para>The ADO record set is passed as parameter `rs`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>fieldName</maml:name>
          <maml:description>
            <maml:para>Field name of an ADO record set</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>maxLen</maml:name>
          <maml:description>
            <maml:para>Maximum length that the text field of the ADO record set may have.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>fieldName</maml:name>
        <maml:description>
          <maml:para>Field name of an ADO record set</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>maxLen</maml:name>
        <maml:description>
          <maml:para>Maximum length that the text field of the ADO record set may have.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>rs</maml:name>
        <maml:description>
          <maml:para>The ADO record set is passed as parameter `rs`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>- Example 1:Returns a shortened string from an ADO record set -</maml:title>
        <dev:code>PS C:\&gt; [string]$value= Get-FieldTruncated -rs $rs -fieldName 'Match' -maxLen 4</dev:code>
        <dev:remarks>
          <maml:para>For example, if the `Match` field contains the content `John Doe` and it is to be truncated to the maximum length of 4, it returns the string `John`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-FieldTruncated.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-Filename</command:name>
      <command:verb>Get</command:verb>
      <command:noun>Filename</command:noun>
      <maml:description>
        <maml:para>Returns the file name incl. extension</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns the file name incl. extension from a fully qualified path.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-Filename</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>The parameter specifies the full path name, including file name and extension.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>The parameter specifies the full path name, including file name and extension.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- Example 1:Returns filename of an udl file ----------</maml:title>
        <dev:code>PS C:\&gt; Get-Filename -path "C:\temp\Eulanda_1 JohnDoe.udl"
 
# Outputh
 
Eulanda_1 JohnDoe.udl</dev:code>
        <dev:remarks>
          <maml:para>Returns the file name incl. extension from a fully qualified path. In this example the function result is `Eulanda_1 JohnDoe.udl` if the parameter `path` is passed to the function as `C:\temp\Eulanda_1 JohnDoe.udl`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-Filename.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-FirstIp</command:name>
      <command:verb>Get</command:verb>
      <command:noun>FirstIp</command:noun>
      <maml:description>
        <maml:para>First usable IP address of the subnet</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Get-FirstIp function returns the first usable IP address of the subnet, which can be determined using either a specified network ID or an IP address and subnet mask. If neither of these is provided, the subnet is obtained from the local IP address.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-FirstIp</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>networkId</maml:name>
          <maml:description>
            <maml:para>Specifies the network ID of the subnet.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>ip</maml:name>
          <maml:description>
            <maml:para>Specifies the IP address to be used for obtaining the subnet mask.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>subnet</maml:name>
          <maml:description>
            <maml:para>Specifies the subnet mask of the network.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>cidr</maml:name>
          <maml:description>
            <maml:para>Specifies the subnet mask of the network in CIDR format. If not provided, the subnet is obtained from the IP address.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>cidr</maml:name>
        <maml:description>
          <maml:para>Specifies the subnet mask of the network in CIDR format. If not provided, the subnet is obtained from the IP address.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>ip</maml:name>
        <maml:description>
          <maml:para>Specifies the IP address to be used for obtaining the subnet mask.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>networkId</maml:name>
        <maml:description>
          <maml:para>Specifies the network ID of the subnet.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>subnet</maml:name>
        <maml:description>
          <maml:para>Specifies the subnet mask of the network.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-- Example 1:Determine first usable IP address of the subnet --</maml:title>
        <dev:code>PS C:\&gt; Get-FirstIp -networkId 192.168.178.0 -cidr 24
 
# Output
 
192.168.178.1</dev:code>
        <dev:remarks>
          <maml:para>In this example, a classic home network is specified by using the typical network ID of a Fritzbox. The CIDR corresponds to a complete C class network.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-FirstIp.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-GatewayIp</command:name>
      <command:verb>Get</command:verb>
      <command:noun>GatewayIp</command:noun>
      <maml:description>
        <maml:para>Gets the IP address of the local gateway router</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function retrieves the IP address of the local gateway router by using the Get-NetRoute cmdlet to retrieve the routing table information for the IPv4 address family. It then filters the routing table to only include the default route, represented by the DestinationPrefix of "0.0.0.0/0". Finally, it selects the NextHop IP address of the default route, which represents the IP address of the local gateway router.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-GatewayIp</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------ Example 1:Retrieves the IP address of the gateway ------</maml:title>
        <dev:code>PS C:\&gt; Get-GatewayIp
 
# Output
 
192.168.178.1</dev:code>
        <dev:remarks>
          <maml:para>Retrieves the IP address of the gateway</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-GatewayIp.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-Hostname</command:name>
      <command:verb>Get</command:verb>
      <command:noun>Hostname</command:noun>
      <maml:description>
        <maml:para>Returns the hostname from a DNS request</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns the hostname from a DNS request, which usually also resolves the IP of the local gateway. Note: If no IP is provided, the function attempts to obtain the local IP address.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-Hostname</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>ip</maml:name>
          <maml:description>
            <maml:para>Specifies the IP address for which to retrieve the host name. If not specified, the local IP address is used.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>ip</maml:name>
        <maml:description>
          <maml:para>Specifies the IP address for which to retrieve the host name. If not specified, the local IP address is used.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------- Example 1:Determins the hostname by a DNS query -------</maml:title>
        <dev:code>PS C:\&gt; Get-Hostname (Get-GatewayIp)
 
# Output
 
fritz.box</dev:code>
        <dev:remarks>
          <maml:para>In this example, the IP address of the local gateway is determined, and then the hostname is obtained through a local DNS query.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-Hostname.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-HtmlEncoded</command:name>
      <command:verb>Get</command:verb>
      <command:noun>HtmlEncoded</command:noun>
      <maml:description>
        <maml:para>Returns an HTML-encoded string</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an HTML-encoded string, but it can contain simple HTML commands like bold, italics, lists, etc. These remain in the output as HTML.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-HtmlEncoded</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>taggedString</maml:name>
          <maml:description>
            <maml:para>The string may contain simple tagged HTML. This includes, &lt;b&gt;, &lt;i&gt;, &lt;ul&gt;, &lt;li&gt;,&lt;ol&gt;,&lt;p&gt;,&lt;pre&gt; and like headings &lt;h1&gt; to &lt;h5&gt;.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>taggedString</maml:name>
        <maml:description>
          <maml:para>The string may contain simple tagged HTML. This includes, &lt;b&gt;, &lt;i&gt;, &lt;ul&gt;, &lt;li&gt;,&lt;ol&gt;,&lt;p&gt;,&lt;pre&gt; and like headings &lt;h1&gt; to &lt;h5&gt;.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------- Example 1:Encodes a tagged string --------------</maml:title>
        <dev:code>PS C:\&gt; Get-HtmlEncoded -taggedString 'Transferred with umlauts "öäü" &lt;b&gt;and&lt;/b&gt; 30 &gt;= 15'
 
# Output
 
Transferred with umlauts &amp;quot;&amp;#246;&amp;#228;&amp;#252;&amp;quot; &lt;b&gt;and&lt;/b&gt; 30 &amp;gt;= 15</dev:code>
        <dev:remarks>
          <maml:para>In this example, HTML tags like bold with `&lt;b&gt;` are passed through transparently, but other things like a single greater-than sign are encoded. Also special characters like umlauts .</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-HtmlEncoded.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-HtmlMetaData</command:name>
      <command:verb>Get</command:verb>
      <command:noun>HtmlMetaData</command:noun>
      <maml:description>
        <maml:para>Provides an EULANDA specific set of meta information</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Provides EULANDA specific meta information as hash table. These are standard meta fields like `author`, `generator`, `keywords` and `viewport`. With the parameter Description a `description` can be added optionally.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-HtmlMetaData</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>description</maml:name>
          <maml:description>
            <maml:para>The `description` parameter allows an individual output of the metadata. It contains the identically named `description` metafield.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>description</maml:name>
        <maml:description>
          <maml:para>The `description` parameter allows an individual output of the metadata. It contains the identically named `description` metafield.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Returns HTML metadata including the description field.</maml:title>
        <dev:code>PS C:\&gt; Get-HtmlMetadata -description 'This is my special description'
 
# Output
 
Name Value
---- -----
author EULANDA Software GmbH - ERP-Systems - Germany
generator Powershell 7.3.2 by function ConvertTo-Html
keywords eulanda, erp, powershell, convertto-html, html
description This is my special description
viewport width=device-width, initial-scale=1.0</dev:code>
        <dev:remarks>
          <maml:para>Here, the `description` parameter was additionally specified. The result is a hash list that can be used directly in the `ConvertTo-Html` function.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-HtmlMetaData.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-HtmlStyle</command:name>
      <command:verb>Get</command:verb>
      <command:noun>HtmlStyle</command:noun>
      <maml:description>
        <maml:para>Provides the EULANDA style for HTML pages and HTML emails</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns the default stylesheet delivered with EulandaConnect, which is used for HTML exports or HTML mails. It can be used directly in the `ConvertTo-Html` function.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-HtmlStyle</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------------ Example 1:Returns Eulanda stylesheet ------------</maml:title>
        <dev:code>PS C:\&gt; Get-HtmlSytle
 
&lt;style&gt;
    html {
        margin: 0 auto;
        max-width: 800px;
    }
    body {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 14px;
    }
    h1 {
        font-family: Arial, Helvetica, sans-serif;
        color: #e68a00;
        font-size: 28px;
    }
    h2 {
        font-family: Arial, Helvetica, sans-serif;
        color: #000099;
        font-size: 16px;
    }
    h3 {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 16px;
    }
...
&lt;/style&gt;</dev:code>
        <dev:remarks>
          <maml:para>The function returns the default stylesheet used by `EulandaConnect` for HTML files or HTML.Mails.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-HtmlStyle.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-IniBool</command:name>
      <command:verb>Get</command:verb>
      <command:noun>IniBool</command:noun>
      <maml:description>
        <maml:para>Returns a Boolean variable from an ini file</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns the boolean value from an `INI` file where the variable was specified by `section` and `variable`. The name of the `INI` file is fixed with `$global:ini`. If the variable does not exist, `$false` is returned.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-IniBool</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>section</maml:name>
          <maml:description>
            <maml:para>Specifies the name of the section in the INI file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>variable</maml:name>
          <maml:description>
            <maml:para>Specifies the name of the variable within a section of the ini file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>section</maml:name>
        <maml:description>
          <maml:para>Specifies the name of the section in the INI file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>variable</maml:name>
        <maml:description>
          <maml:para>Specifies the name of the variable within a section of the ini file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------- Example 1:Returns a boolean from a ini file ---------</maml:title>
        <dev:code>PS C:\&gt; Get-BoolIni -section 'SESSION' -variable 'utf'</dev:code>
        <dev:remarks>
          <maml:para>Returns the value specified for 'utf' in the 'SESSION' section of the ini file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-IniBool.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Read-IniFile</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-Bool</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-LastIp</command:name>
      <command:verb>Get</command:verb>
      <command:noun>LastIp</command:noun>
      <maml:description>
        <maml:para>Returns the last possible IP for a host for a given submask or cidr</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>These functions allow you to work with IP addresses and subnets. The `Get-LocalIp` function tries to determine the local IP address by matching it with the gateway IP. The `Get-NetworkId` function determines the network ID of a given IP address, subnet, or CIDR. The `Get-MaxHosts` function calculates the maximum number of hosts that can be assigned to a subnet. The `Get-LastIp` function determines the last usable IP address in a given subnet by using the network ID and maximum number of hosts.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-LastIp</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>networkId</maml:name>
          <maml:description>
            <maml:para>Specifies the network ID for which to calculate the last IP address. If not provided, the local IP address will be used to calculate the network ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>ip</maml:name>
          <maml:description>
            <maml:para>Specifies the local IP address for which to calculate the last IP address. If not provided, the function will try to determine the local IP address.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>subnet</maml:name>
          <maml:description>
            <maml:para>Specifies the subnet mask for which to calculate the last IP address. If not provided, the function will try to determine the subnet mask from the local IP address.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>cidr</maml:name>
          <maml:description>
            <maml:para>Specifies the CIDR notation for which to calculate the last IP address. If not provided, the function will try to determine the CIDR notation from the subnet mask.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>cidr</maml:name>
        <maml:description>
          <maml:para>Specifies the CIDR notation for which to calculate the last IP address. If not provided, the function will try to determine the CIDR notation from the subnet mask.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>ip</maml:name>
        <maml:description>
          <maml:para>Specifies the local IP address for which to calculate the last IP address. If not provided, the function will try to determine the local IP address.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>networkId</maml:name>
        <maml:description>
          <maml:para>Specifies the network ID for which to calculate the last IP address. If not provided, the local IP address will be used to calculate the network ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>subnet</maml:name>
        <maml:description>
          <maml:para>Specifies the subnet mask for which to calculate the last IP address. If not provided, the function will try to determine the subnet mask from the local IP address.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Returns the last possible IP for a host for a given cidr</maml:title>
        <dev:code>PS C:\&gt; Get-LastIp -networkId 192.168.178.0 -cidr 24
 
# Output
 
192.168.178.254</dev:code>
        <dev:remarks>
          <maml:para>Returns the last usable IP address of a given subnet, based on the network ID and the CIDR prefix length. If the network ID is not specified, it is determined using the provided IP address and subnet mask, or the local IP and subnet mask. If the CIDR prefix length is not specified, it is determined using the provided subnet mask or the subnet mask of the local IP.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-LastIp.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-LocalIp</command:name>
      <command:verb>Get</command:verb>
      <command:noun>LocalIp</command:noun>
      <maml:description>
        <maml:para>Get-LocalIp attempts to determine the local IP address</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Get-LocalIp attempts to determine the local IP address by matching it with the gateway address. It first retrieves the gateway address using the `Get-GatewayIp` function. Then, it retrieves all IPv4 addresses assigned to the network interfaces that have been assigned either manually or through DHCP. For each address, it retrieves the subnet mask using the `Get-Subnet` function and checks if the bitwise AND between the IP address and the subnet mask matches the bitwise AND between the gateway address and the subnet mask. If a match is found, the IP address is returned. If no match is found, the function returns "0.0.0.0".</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-LocalIp</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----------- Example 1:Retrieves the local ip address -----------</maml:title>
        <dev:code>PS C:\&gt; Get-LocalIp
 
# Output
 
192.168.178.10</dev:code>
        <dev:remarks>
          <maml:para>Retrieves the local ip address.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-LocalIp.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-LogName</command:name>
      <command:verb>Get</command:verb>
      <command:noun>LogName</command:noun>
      <maml:description>
        <maml:para>Returns the name of a log file</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns the name of a log file. The file name has the structure LOG-(Ident)-(DateMask).txt. Ident is a string, if it is not specified it is set to `DEF`. The same is true for the `dateMask`. If `dateMask` is not specified, the default is `yyyy-MM-dd--HH-mm-ss-fff`. For formatting the format switch included in PowerShell is used.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-LogName</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>ident</maml:name>
          <maml:description>
            <maml:para>The identification of the log file name is specified via the `ident` value. The default value is `DEF`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>dateMask</maml:name>
          <maml:description>
            <maml:para>The date mask, for the formation of the file name. The default value is: `yyy-MM-dd--HH-mm-ss-fff`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>dateMask</maml:name>
        <maml:description>
          <maml:para>The date mask, for the formation of the file name. The default value is: `yyy-MM-dd--HH-mm-ss-fff`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>ident</maml:name>
        <maml:description>
          <maml:para>The identification of the log file name is specified via the `ident` value. The default value is `DEF`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------- Example 1:Returns a file name for a log file ---------</maml:title>
        <dev:code>PS C:\&gt; Get-LogName
 
# Output
 
LOG-DEF-2023-02-24--14-57-25-855.txt</dev:code>
        <dev:remarks>
          <maml:para>Returns the name for a log file. If no parameters are specified, the respective default values are used.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-LogName.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-LoremIpsum</command:name>
      <command:verb>Get</command:verb>
      <command:noun>LoremIpsum</command:noun>
      <maml:description>
        <maml:para>The Get-LoremIpsum function generates a specified number of paragraphs of lorem ipsum text.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Get-LoremIpsum function generates a specified number of paragraphs of lorem ipsum text, which is commonly used as placeholder text in design and publishing applications. The function uses the "lorem ipsum" text generator to create the text. The generated text is returned as a string.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-LoremIpsum</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>MinParagraphs</maml:name>
          <maml:description>
            <maml:para>MinParagraphs (optional): Specifies the minimum number of paragraphs to generate. If not specified, the default value of 1 is used. The parameter accepts integer values.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>MaxParagraphs</maml:name>
          <maml:description>
            <maml:para>MaxParagraphs (optional): Specifies the maximum number of paragraphs to generate. If not specified, the default value of 5 is used. The parameter accepts integer values.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>MaxParagraphs</maml:name>
        <maml:description>
          <maml:para>MaxParagraphs (optional): Specifies the maximum number of paragraphs to generate. If not specified, the default value of 5 is used. The parameter accepts integer values.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>MinParagraphs</maml:name>
        <maml:description>
          <maml:para>MinParagraphs (optional): Specifies the minimum number of paragraphs to generate. If not specified, the default value of 1 is used. The parameter accepts integer values.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>- The MinParagraphs parameter must be less than or equal to the MaxParagraphs parameter.</maml:para>
        <maml:para>- If both parameters are not specified, the function generates one paragraph of lorem ipsum text by default.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Generates a specified number of paragraphs of lorem ipsum</maml:title>
        <dev:code>PS C:\&gt; Get-LoremIpsum -MinParagraphs 2 -MaxParagraphs 4</dev:code>
        <dev:remarks>
          <maml:para>This example generates 2 to 4 paragraphs of lorem ipsum text and returns the text as a string.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-LoremIpsum.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-MaxHosts</command:name>
      <command:verb>Get</command:verb>
      <command:noun>MaxHosts</command:noun>
      <maml:description>
        <maml:para>The Get-MaxHosts command retrieves the maximum number of hosts for the specified subnet mask</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Get-MaxHosts` command retrieves the maximum number of hosts for the specified subnet mask or CIDR notation. If neither subnet mask nor CIDR notation is specified, the command uses the local subnet mask to calculate the maximum number of hosts.</maml:para>
      <maml:para>If successful, the command returns the maximum number of hosts as an integer. If an error occurs, it returns `0`.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-MaxHosts</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>subnet</maml:name>
          <maml:description>
            <maml:para>Specifies the subnet mask for which to calculate the maximum number of hosts. If not specified, the command attempts to determine the subnet mask using the local IP address and CIDR.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>cidr</maml:name>
          <maml:description>
            <maml:para>Specifies the CIDR notation for the subnet mask. If `subnet` is not specified, the command uses this value to determine the subnet mask.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>cidr</maml:name>
        <maml:description>
          <maml:para>Specifies the CIDR notation for the subnet mask. If `subnet` is not specified, the command uses this value to determine the subnet mask.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>subnet</maml:name>
        <maml:description>
          <maml:para>Specifies the subnet mask for which to calculate the maximum number of hosts. If not specified, the command attempts to determine the subnet mask using the local IP address and CIDR.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:retrieves the maximum number of hosts for the subnet mask 255.255.255.0</maml:title>
        <dev:code>PS C:\&gt; Get-MaxHosts -subnet '255.255.255.0'
 
# Output
 
254</dev:code>
        <dev:remarks>
          <maml:para>This example retrieves the maximum number of hosts for the subnet mask `255.255.255.0`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-MaxHosts.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ModulePath</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ModulePath</command:noun>
      <maml:description>
        <maml:para>Returns the pure path specification to a module name</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns the clean path where the module specified by the `Module` parameter is located.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ModulePath</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>module</maml:name>
          <maml:description>
            <maml:para>Name of the module to which the path is to be determined</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>module</maml:name>
        <maml:description>
          <maml:para>Name of the module to which the path is to be determined</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------- Example 1:Returns the path to a module name ---------</maml:title>
        <dev:code>PS C:\&gt; Get-ModulePath -module EulandaConnect
 
# Output
 
C:\Users\John\Documents\PowerShell\Modules\EulandaConnect\2.1.11</dev:code>
        <dev:remarks>
          <maml:para>For the module name `EulandaConnect` the path is returned where the module is stored.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-ModulPath.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-MssqlInstances</command:name>
      <command:verb>Get</command:verb>
      <command:noun>MssqlInstances</command:noun>
      <maml:description>
        <maml:para>Provides information about the MSSQL instances and their database files</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function returns various information for each local instance of the MSSQL server as `PSCustomObject`. In addition, the Files property of each object is filled with the file properties of the instance. This includes the date of the last file modification as well as the size of the database.</maml:para>
      <maml:para>The data is mainly accessed via the registry. In addition, the status values of the SQL service and the SQL browser are evaluated. </maml:para>
      <maml:para>If the query is performed with administrative rights, it is also checked whether the firewall has opened the UDP port of the SQL browser and whether there is a firewall rule for the SQL server service.</maml:para>
      <maml:para>The information is additionally displayed on the monitor via the Show parameter.</maml:para>
      <maml:para>&gt; The advantage of the PSCustomObject data type over a hashtable is, for example, the simple access to the property names such as: $instances[1].PatchLevel as well as further processing with Format-Table and Format-List.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-MssqlInstances</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>show</maml:name>
          <maml:description>
            <maml:para>The function displays the most important data on the screen. Additionally it is displayed if the administrative rights are not sufficient to check the firewall rules.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>show</maml:name>
        <maml:description>
          <maml:para>The function displays the most important data on the screen. Additionally it is displayed if the administrative rights are not sufficient to check the firewall rules.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Shows information about the MSSQL instances ----</maml:title>
        <dev:code>PS C:\&gt; $instances= Get-MssqlInstances -show
 
# Output from within the function
 
SERVER SETTINGS FOR: [ SQL2019 ]
 
Instance : SQL2019
Version : 15.0.2000.5
PatchLevel : 15.0.4298.1
Collation : Latin1_General_CI_AS
BinnPath : C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\Binn
DataPath : C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\DATA
BackupPath : C:\Program Files\Microsoft SQL Server\MSSQL15.SQL2019\MSSQL\Backup
SqlService : Running
BrowserService : Stopped
NamedPipes : True
TcpIp : True
SharedMemory : True
FirewallValid : False
FirewallBrowser : False
FirewallSqlServer : False
 
DATABASE FILES FOR: [ SQL2019 ]
Sizes are shown in MB
 
MdfFile : Eulanda_Doe.mdf
LdfFile : Eulanda_Doe_log.ldf
MdfSize : 6387,0625
LdfSize : 565,4375
TotalSize : 6952,5
LastModified : 2023-03-06 04:42:21
 
MdfFile : Eulanda_John.mdf
LdfFile : Eulanda_John_log.ldf
MdfSize : 2692,75
LdfSize : 0,4921875
TotalSize : 2693,24
LastModified : 2023-03-06 04:37:31
 
Firewall rules was not to check, this requires administrator privileges. For this reason FirewallValid=False.</dev:code>
        <dev:remarks>
          <maml:para>The result is stored in the `Instances` variable. In addition, the Show parameter displays the most important values on the screen.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-MssqlInstances.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-MultipleOptions</command:name>
      <command:verb>Get</command:verb>
      <command:noun>MultipleOptions</command:noun>
      <maml:description>
        <maml:para>Returns a normalized string of the options</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The allowed values are specified in a string array. The first element of the array is the default value, which is returned if a searched value was not found. Via the parameter values, the desired options are specified comma-separated as string. The search is case-insensitive and the result is the notation of the valid options. The function serves to check values e.g. from a configuration file and to return in the notation indicated in the parameter list. In case of wrong values the default value is returned.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-MultipleOptions</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>values</maml:name>
          <maml:description>
            <maml:para>A string with comma-separated words is passed via values. These options are then compared with the array and returned normalized.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>list</maml:name>
          <maml:description>
            <maml:para>An array of strings containing the valid options in the desired notation. The first element of the list is the default value which is returned if an entry in the list was not found.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>list</maml:name>
        <maml:description>
          <maml:para>An array of strings containing the valid options in the desired notation. The first element of the list is the default value which is returned if an entry in the list was not found.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>values</maml:name>
        <maml:description>
          <maml:para>A string with comma-separated words is passed via values. These options are then compared with the array and returned normalized.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Returns the options in the desired notation ----</maml:title>
        <dev:code>PS C:\&gt; Get-MultipleOption -values 'blue,Yellow' -list @('BLACK','WHITE','BLUE','RED','YELLOW')
 
# Output
 
BLUE,YELLOW</dev:code>
        <dev:remarks>
          <maml:para>The option 'blue' is written in lower case, but in the result it is returned in upper case as specified in the list. The option 'Yellow' with capital 'Y' also returns the notation specified in list.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-MultipleOptions.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-NetworkId</command:name>
      <command:verb>Get</command:verb>
      <command:noun>NetworkId</command:noun>
      <maml:description>
        <maml:para>Returns the Network ID from an IP with subnet mask</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Get-NetworkId` command retrieves the network ID for the specified IP address and subnet mask or CIDR. If no IP address or subnet mask/CIDR is specified, the command uses the local IP address and subnet mask. If successful, the command returns the network ID as a string. </maml:para>
      <maml:para>If an error occurs, it returns `0.0.0.0`.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-NetworkId</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>ip</maml:name>
          <maml:description>
            <maml:para>Specifies the IP address for which to retrieve the network ID. If not specified, the command uses the local IP address.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>subnet</maml:name>
          <maml:description>
            <maml:para>Specifies the subnet mask for the specified IP address. If not specified, the command attempts to determine the subnet mask using the local IP address and CIDR.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>cidr</maml:name>
          <maml:description>
            <maml:para>Specifies the CIDR notation for the subnet mask. If `subnet` is not specified, the command uses this value to determine the subnet mask.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>cidr</maml:name>
        <maml:description>
          <maml:para>Specifies the CIDR notation for the subnet mask. If `subnet` is not specified, the command uses this value to determine the subnet mask.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>ip</maml:name>
        <maml:description>
          <maml:para>Specifies the IP address for which to retrieve the network ID. If not specified, the command uses the local IP address.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>subnet</maml:name>
        <maml:description>
          <maml:para>Specifies the subnet mask for the specified IP address. If not specified, the command attempts to determine the subnet mask using the local IP address and CIDR.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>- Example 1:Returns the Network ID from an IP with subnet mask -</maml:title>
        <dev:code>PS C:\&gt; Get-NetworkId -ip '192.168.178.10' -subnet '255.255.255.0'
 
# Output
 
192.168.178.1</dev:code>
        <dev:remarks>
          <maml:para>This example retrieves the network ID for the IP address `192.168.178.10` and subnet mask `255.255.255.0`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-NetworkId.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-NextIp</command:name>
      <command:verb>Get</command:verb>
      <command:noun>NextIp</command:noun>
      <maml:description>
        <maml:para>The `Get-NextIp` command retrieves the next IP address after the specified IP address by incrementing</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Get-NextIp command retrieves the next IP address after the specified IP address. By default, it retrieves the IP address that immediately follows the specified IP address, but you can specify a different increment value using the `-inc` parameter.</maml:para>
      <maml:para>If successful, the command returns the next IP address as a string. If an error occurs, it returns `0.0.0.0`.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-NextIp</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>ip</maml:name>
          <maml:description>
            <maml:para>Specifies the IP address for which to retrieve the next IP address.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>inc</maml:name>
          <maml:description>
            <maml:para>Specifies the increment value to use when calculating the next IP address. The default value is 1.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>inc</maml:name>
        <maml:description>
          <maml:para>Specifies the increment value to use when calculating the next IP address. The default value is 1.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>ip</maml:name>
        <maml:description>
          <maml:para>Specifies the IP address for which to retrieve the next IP address.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:et-NextIp command retrieves the next IP address after the specified IP</maml:title>
        <dev:code>PS C:\&gt; Get-NextIp -ip '192.168.178.1' -inc 14
 
# Output
 
192.168.178.15</dev:code>
        <dev:remarks>
          <maml:para>This example retrieves the IP address that is 14 addresses after `192.168.178.1`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-NextIp.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-OldestFile</command:name>
      <command:verb>Get</command:verb>
      <command:noun>OldestFile</command:noun>
      <maml:description>
        <maml:para>Get oldest filename from a directory</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function returns the oldest file of a folder. The parameter `filemask` is specified with path and file mask.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-OldestFile</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>Specifies the path, including the file mask, for which the oldest file should be found.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>Specifies the path, including the file mask, for which the oldest file should be found.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----- Example 1:Returns the oldest text file from a folder -----</maml:title>
        <dev:code>PS C:\&gt; Get-OldestFile -filemask 'C:\temp\*.txt'
 
# Output
 
logo.txt</dev:code>
        <dev:remarks>
          <maml:para>In this example the oldest text file from the folder `C:\temp` is returned.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-OldestFile.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-Path32</command:name>
      <command:verb>Get</command:verb>
      <command:noun>Path32</command:noun>
      <maml:description>
        <maml:para>Returns the Windows path for 32-bit programs</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function returns the Windows path for 32-bit programs. This differs depending on whether it is a 32-bit or a 64-bit Windows.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-Path32</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------ Example 1:Returns the program path for 32-bit apps ------</maml:title>
        <dev:code>PS C:\&gt; Get-Path32
 
# Output
 
C:\Program Files (x86)</dev:code>
        <dev:remarks>
          <maml:para>In this example, the command was run from a 64-bit Windows system.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-Path32.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-PropertySql</command:name>
      <command:verb>Get</command:verb>
      <command:noun>PropertySql</command:noun>
      <maml:description>
        <maml:para>Generates the SQL statement used by Get-XmlEulandaProperty</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates the SQL command used internally by Get-XmlEulandaProperty. The path where the select statement will retrieve the data is specified through the `-breadcrumbPath` parameter. The table on which the property tree is based is specified through the `-tablename` parameter. Valid values for `-tablename` are `Article`, `Address`, and `Delivery`.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-PropertySql</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>breadcrumbPath</maml:name>
          <maml:description>
            <maml:para>Specifies the root of a property tree path starting with a backslash ``. This parameter is used to search for the corresponding branch in the property tree and retrieve its ID. The retrieved ID is used the tree from that point.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>tablename</maml:name>
          <maml:description>
            <maml:para>The parameter specifies the name of the table for which the property tree should be exported. Currently, three tables are supported: Article, Address, and Delivery. The valid table names can be retrieved using the `Get-MappingTablename` function, which allows input in both the native and English names.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>breadcrumbPath</maml:name>
        <maml:description>
          <maml:para>Specifies the root of a property tree path starting with a backslash ``. This parameter is used to search for the corresponding branch in the property tree and retrieve its ID. The retrieved ID is used the tree from that point.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>tablename</maml:name>
        <maml:description>
          <maml:para>The parameter specifies the name of the table for which the property tree should be exported. Currently, three tables are supported: Article, Address, and Delivery. The valid table names can be retrieved using the `Get-MappingTablename` function, which allows input in both the native and English names.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Creates the SQL command for exporting a property tree</maml:title>
        <dev:code>PS C:\&gt; Get-PropertySql -breadcrumbPath '\Shop' -tablename 'Article'
 
-- Format path 'subpath1\subpath2\subpath3' without leading or trailing backslashes
        DECLARE @BreadcrumbPath VARCHAR(100) = '\Shop';
        SET @BreadcrumbPath = REPLACE(@BreadcrumbPath, '\\', '')
        IF LEFT(@BreadcrumbPath, 1) = '\' SET @BreadcrumbPath = SUBSTRING(@BreadcrumbPath, 2, LEN(@BreadcrumbPath) - 1)
        IF RIGHT(@BreadcrumbPath, 1) = '\' SET @BreadcrumbPath = SUBSTRING(@BreadcrumbPath, 1, LEN(@BreadcrumbPath) - 1)
        SET @BreadcrumbPath = LTRIM(RTRIM(@BreadcrumbPath))
 
 
    DECLARE @ParentId INT = NULL;
    DECLARE @BreadcrumbId INT = NULL;
    DECLARE @Crumb VARCHAR(1024);
 
    SELECT @ParentId=Id From merkmal where tabelle = 'artikel' and merkmaltyp=0 and ParentId is Null
    WHILE LEN(@BreadcrumbPath) &gt; 0
    BEGIN
      SET @Crumb = LEFT(@BreadcrumbPath, CHARINDEX('\', @BreadcrumbPath + '\') - 1);
      SET @BreadcrumbPath = SUBSTRING(@BreadcrumbPath, LEN(@Crumb) + 2, 1024);
      SELECT @ParentId = Id
        FROM Merkmal
        WHERE [Name] = @Crumb AND
          IsNull(ParentId, -1) = IsNull(@ParentId, -1) AND
          Tabelle = 'artikel';
      IF @@ROWCOUNT = 0 SET @ParentId = -1;
    END;
 
    SET @BreadcrumbId = @ParentId;
    -- Result is: @BreadcrumbId
    -- Select the tree starting with the BreadcrumpID. If no ID is provided, select the entire tree.
    WITH CTE AS (
        SELECT
            ID, ParentID, Name, UID,
            CASE WHEN MerkmalTyp = 2 THEN 1 Else MerkmalTyp END [Sort],
            Beschreibung, SqlBedingung, Color
        FROM Merkmal
        WHERE
          ID = @BreadcrumbID
          AND Tabelle = 'artikel'
          AND NOT Name LIKE '.%'
        UNION ALL
        SELECT
          t.ID, t.ParentID, t.Name, t.UID,
          CASE WHEN t.MerkmalTyp = 2 THEN 1 Else MerkmalTyp END [Sort],
          t.Beschreibung, t.SqlBedingung, t.Color
        FROM Merkmal t
          JOIN CTE c ON t.ParentID = c.ID
        WHERE
          t.Tabelle = 'artikel'
          AND NOT t.Name LIKE '.%'
    )
    SELECT ID, ParentID, Name, UID, Sort, Color
    FROM CTE
    ORDER BY ParentId, Sort, Name;</dev:code>
        <dev:remarks>
          <maml:para>The example demonstrates how to use the `Get-PropertySql` cmdlet to generate the SQL command that is internally used by `Get-XmlEulandaProperty`. The `-breadcrumbPath` parameter specifies the path where the select statement retrieves the data, while the `-tablename` parameter specifies the table to which the property tree refers. The generated SQL command is then used to retrieve the property tree data from the database.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-PropertySql.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-PublicIp</command:name>
      <command:verb>Get</command:verb>
      <command:noun>PublicIp</command:noun>
      <maml:description>
        <maml:para>Get the public ip from a outbound website</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function uses an external server's WEB API to determine the public IP address of the upstream router.</maml:para>
      <maml:para>&gt; ATTENTION! Multiple API calls on the same day may result in blockings.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-PublicIp</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--- Example 1:Get the public ip number also behind a router ---</maml:title>
        <dev:code>PS C:\&gt; Get-PublicIp
 
# Output
 
95.238.49.168</dev:code>
        <dev:remarks>
          <maml:para>This function provides the public IP of the own connection.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-PublicIp.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ResStr</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ResStr</command:noun>
      <maml:description>
        <maml:para>Returns the string resource in the user's language</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Parallel to the EulandaConnect module, language resources can be stored with the file extension '.resx'. The file name is additionally extended by the language in the .NET notation. For EulandaConnect in German the language file is named EulandaConnect.de-DE.resx. For the US-American language resource it is named EulandaConnect.en-US.resx. Within EulandaConnect language resources are stored with a key so that a call with the desired parameter Key, accordingly displays the resource in the own language. The format resx is a standard format from Microsoft, so any language can be added to a running system. If a matching language file is not found, the US language file is used.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ResStr</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>Key</maml:name>
          <maml:description>
            <maml:para>Key to the desired language resource.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>Key</maml:name>
        <maml:description>
          <maml:para>Key to the desired language resource.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----- Example 1:Returns the text of the resource for a key -----</maml:title>
        <dev:code>PS C:\&gt; Get-RestStr -key 'OUT_WELCOME_EXECUTIONSTART'
 
# Output
 
Execution start: {0}</dev:code>
        <dev:remarks>
          <maml:para>The output depends on the user's language, and of course whether the language file is available in that language.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-ResStr.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-SalesOrderId</command:name>
      <command:verb>Get</command:verb>
      <command:noun>SalesOrderId</command:noun>
      <maml:description>
        <maml:para>Returns the `Id` for a sales order</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Based on a order no, the Id to a sales order is returned. The Id is used for various functions. Especially for linking tables. The database can be specified via a Connection object, a UDL file or a ConnectionString.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-SalesOrderId</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>salesOrderNo</maml:name>
          <maml:description>
            <maml:para>The `SalesOrderNo` is the userfriendly `number` of the header record of the sales order. The `number` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>salesOrderId</maml:name>
          <maml:description>
            <maml:para>The `SalesOrderId` is the `ID` of the header record of the sales order. The `ID` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>customerOrderNo</maml:name>
          <maml:description>
            <maml:para>This is the customer's order number. It is typically passed from an external system, such as an online shop system, to the ERP (Enterprise Resource Planning) system as a unique reference. It should be noted that this value is not defined as unique in the ERP system's database itself.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>customerOrderNo</maml:name>
        <maml:description>
          <maml:para>This is the customer's order number. It is typically passed from an external system, such as an online shop system, to the ERP (Enterprise Resource Planning) system as a unique reference. It should be noted that this value is not defined as unique in the ERP system's database itself.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>salesOrderId</maml:name>
        <maml:description>
          <maml:para>The `SalesOrderId` is the `ID` of the header record of the sales order. The `ID` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>salesOrderNo</maml:name>
        <maml:description>
          <maml:para>The `SalesOrderNo` is the userfriendly `number` of the header record of the sales order. The `number` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Returns the Id of the specified sales order ----</maml:title>
        <dev:code>PS C:\&gt; Get-SalesOrderId -salesOrderNo 20230515 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>After executing the command, the function result returns the Id of the sales order to which the sales order number `20230515` belongs. The database is accessed by specifying a UDL file. Instead, an existing Connection object could also be specified.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-SalesOrderId.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-ScriptDir</command:name>
      <command:verb>Get</command:verb>
      <command:noun>ScriptDir</command:noun>
      <maml:description>
        <maml:para>Returns the path to the script that will be executed</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>If the path cannot be determined, an attempt is made to obtain the path via the `$PSScriptRoot` runtime variable. If this also fails, the current directory is returned.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-ScriptDir</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----------- Example 1:Returns the path of the script -----------</maml:title>
        <dev:code>PS C:\&gt; Get-ScriptDir</dev:code>
        <dev:remarks>
          <maml:para>Returns the path of the calling script.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-ScriptDir.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-SftpNextFilename</command:name>
      <command:verb>Get</command:verb>
      <command:noun>SftpNextFilename</command:noun>
      <maml:description>
        <maml:para>Loads the next filename from a remote directory from an SFTP server</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function reads the next file name to be processed from a remote directory using a file mask. The function call requires a valid license key.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-SftpNextFilename</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>server</maml:name>
          <maml:description>
            <maml:para>IP number or DNS resolvable name of the SFTP server.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>port</maml:name>
          <maml:description>
            <maml:para>Port number of the SFTP server. Default is 22.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>22</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>user</maml:name>
          <maml:description>
            <maml:para>Username for authentication.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>password</maml:name>
          <maml:description>
            <maml:para>Password for authentication.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>remoteFolder</maml:name>
          <maml:description>
            <maml:para>The remoteFolder in which a series of filenames is expected.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>fileMask</maml:name>
          <maml:description>
            <maml:para>The file mask that specifies which file names are searched for. For example, a mask can be '*.xml'.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>comObject</maml:name>
          <maml:description>
            <maml:para>COM object name, this is strongly version dependent. The default is IPWorksSSH.SFTP</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>IPWorksSSH.SFTP</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>license</maml:name>
          <maml:description>
            <maml:para>The license code consists of a very long string and is module dependent. This means that SFTP needs a different module key than SMTP etc.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>$eulLicense</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>comObject</maml:name>
        <maml:description>
          <maml:para>COM object name, this is strongly version dependent. The default is IPWorksSSH.SFTP</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>IPWorksSSH.SFTP</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>fileMask</maml:name>
        <maml:description>
          <maml:para>The file mask that specifies which file names are searched for. For example, a mask can be '*.xml'.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>license</maml:name>
        <maml:description>
          <maml:para>The license code consists of a very long string and is module dependent. This means that SFTP needs a different module key than SMTP etc.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>$eulLicense</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>password</maml:name>
        <maml:description>
          <maml:para>Password for authentication.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>port</maml:name>
        <maml:description>
          <maml:para>Port number of the SFTP server. Default is 22.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>22</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>remoteFolder</maml:name>
        <maml:description>
          <maml:para>The remoteFolder in which a series of filenames is expected.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>server</maml:name>
        <maml:description>
          <maml:para>IP number or DNS resolvable name of the SFTP server.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>user</maml:name>
        <maml:description>
          <maml:para>Username for authentication.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para>The necessary ActiveX add-on library comes from N/SOFTWARE, a US company specializing in Internet protocols. The license for this must be purchased separately to be able to use the SFTP protocol.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----------- Example 1:Get next xml file name to load -----------</maml:title>
        <dev:code>$sftpParams = @{
    Server = '192.168.178.5'
    Port = '22'
    User = 'John'
    Password = 'Doe'
    RemoteFolder = '/out'
    License = '11254656212154483154546899878787332'
}
[string]$fileMask= '*.xml'
[string]$xmlFilename = Get-SftpNextFilename @sftpParams -fileMask $fileMask</dev:code>
        <dev:remarks>
          <maml:para>Here the XML filename is loaded from the out-folder of the SFTP server to check it and load it via Receive-SftpFile for example.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-SftpNextFilename.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-SignToolPath</command:name>
      <command:verb>Get</command:verb>
      <command:noun>SignToolPath</command:noun>
      <maml:description>
        <maml:para>Determines the path to Windows signtool.exe</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function returns the path to the signtool.exe under Windows 10 and Windows 11. The path also contains the signtool.exe itself. SignTool is part of the Windows SDK. If there are multiple Windows SDK installations, the newest SignTool will be determined.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-SignToolPath</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----- Example 1:Gets the path to the current signtool.exe -----</maml:title>
        <dev:code>PS C:\&gt; Get-SignToolPath
 
# Output
 
C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\signtool.exe</dev:code>
        <dev:remarks>
          <maml:para>The result contains the path incl. the program name. The path depends on the version of the Windows SDK.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-SignToolPath.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Approve-Signature</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Install-SignTool</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-SingleOption</command:name>
      <command:verb>Get</command:verb>
      <command:noun>SingleOption</command:noun>
      <maml:description>
        <maml:para>Returns an option in the correct notation</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an option in the correct notation. The string array list contains the valid option values. The first entry is special in that it is always used when an option is not recognized. This default value is returned in such a case.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-SingleOption</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>value</maml:name>
          <maml:description>
            <maml:para>Value is the option to be set. If it is found in the list of valid options, it will be returned as specified in the list. Differences in case will not cause an error. Only entries not found will then return the first entry, which is the default entry.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>list</maml:name>
          <maml:description>
            <maml:para>An array of strings containing the valid options in the desired notation. The first element of the list is the default value which is returned if an entry in the list was not found.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>list</maml:name>
        <maml:description>
          <maml:para>An array of strings containing the valid options in the desired notation. The first element of the list is the default value which is returned if an entry in the list was not found.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>value</maml:name>
        <maml:description>
          <maml:para>Value is the option to be set. If it is found in the list of valid options, it will be returned as specified in the list. Differences in case will not cause an error. Only entries not found will then return the first entry, which is the default entry.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------- Example 1:Returns a option from valid options --------</maml:title>
        <dev:code>PS C:\&gt; Get-MultipleOption -values 'Navi' -list @('BLACK','WHITE','BLUE','RED','YELLOW')
 
# Output
 
BLACK</dev:code>
        <dev:remarks>
          <maml:para>Because the Navi entry does not appear in the list of correct options, the default value `BLACK` is returned.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-SingleOption.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-Spaces</command:name>
      <command:verb>Get</command:verb>
      <command:noun>Spaces</command:noun>
      <maml:description>
        <maml:para>Returns a string from spaces</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns a string of spaces. The number of spaces is specified by the count parameter.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-Spaces</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>count</maml:name>
          <maml:description>
            <maml:para>Count of blanks to be output</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>count</maml:name>
        <maml:description>
          <maml:para>Count of blanks to be output</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------------------- Example 1Returns spaces -------------------</maml:title>
        <dev:code>PS C:\&gt; (Get-Spaces -count 10)+"This ends here"
 
# Output
 
          This ends here</dev:code>
        <dev:remarks>
          <maml:para>Returns count spaces.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/docs/Get-Spaces.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-StockSql</command:name>
      <command:verb>Get</command:verb>
      <command:noun>StockSql</command:noun>
      <maml:description>
        <maml:para>Creates a SQL command to retrieve stock informations</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates an array of strings. The first array element contains the SQL query for the master dataset, second the SQL query contains the query for the detail query and third array element contains the field that creates the link between the queries. The details are dynamically bound to the respective master dataset.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-StockSql</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>filter</maml:name>
          <maml:description>
            <maml:para>The filter is an array of strings and the filtering refers to the master dataset. Each row of the array is added individually to the existing filters via logical AND. By default, items whose item number starts with '.MUSTER' are hidden. For example, a filter could be "BARCODE -ne '4711'".</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>alias</maml:name>
          <maml:description>
            <maml:para>The alias is historically the field 'ArticleNo' (= phys. ARTNUMBER) of the article table. In an XML output the node is always 'ID.ALIAS'. This alias is used to uniquely associate the record and can now refer to another unique field. Currently these are UID, ID, ARTNUMBER and BARCODE. If BARCODE is used, it must be ensured that the field is unique in the database.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">ID</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">UID</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ARTNUMMER</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">BARCODE</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>ARTNUMMER</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>qtyStatic</maml:name>
          <maml:description>
            <maml:para>If a value is passed here, it overwrites the actual stock in the output. This has the background that for example a connected online store always has all articles in stock. This is very helpful when testing new systems.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>warehouse</maml:name>
          <maml:description>
            <maml:para>The name of a warehouse can be specified here. In this case it is also a filter, because in this case only the items that are available in this warehouse will be displayed. Warehouses must have been defined within the EULANDA ERP with an account number from 1000-1399.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>legacy</maml:name>
          <maml:description>
            <maml:para>The EULANDA inventory control system historically uses a total stock of all storage locations for the stock quantities. The field name is 'stock available' (= BESTANDVERFUEGBAR). Additionally there are two calculated stock levels. One is 'Stock with unposted sales' (= BESTANDVERFUEGBAR1). This one reduces the actual stock. And as last there is still the stock which contains beside it still the transacted but not yet collected orders; this is the stock with 'purchase orders' (= BESTANDVERFUEGBAR2). If the parameter warehouse is specified, the other two nodes are also output if the legacy switch is set. In this case all have the same content. However, if the parameter warehouse is not passed, then, if legacy is set, the sum of all storage locations and the two calculated nodes are output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>alias</maml:name>
        <maml:description>
          <maml:para>The alias is historically the field 'ArticleNo' (= phys. ARTNUMBER) of the article table. In an XML output the node is always 'ID.ALIAS'. This alias is used to uniquely associate the record and can now refer to another unique field. Currently these are UID, ID, ARTNUMBER and BARCODE. If BARCODE is used, it must be ensured that the field is unique in the database.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>ARTNUMMER</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>filter</maml:name>
        <maml:description>
          <maml:para>The filter is an array of strings and the filtering refers to the master dataset. Each row of the array is added individually to the existing filters via logical AND. By default, items whose item number starts with '.MUSTER' are hidden. For example, a filter could be "BARCODE -ne '4711'".</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>legacy</maml:name>
        <maml:description>
          <maml:para>The EULANDA inventory control system historically uses a total stock of all storage locations for the stock quantities. The field name is 'stock available' (= BESTANDVERFUEGBAR). Additionally there are two calculated stock levels. One is 'Stock with unposted sales' (= BESTANDVERFUEGBAR1). This one reduces the actual stock. And as last there is still the stock which contains beside it still the transacted but not yet collected orders; this is the stock with 'purchase orders' (= BESTANDVERFUEGBAR2). If the parameter warehouse is specified, the other two nodes are also output if the legacy switch is set. In this case all have the same content. However, if the parameter warehouse is not passed, then, if legacy is set, the sum of all storage locations and the two calculated nodes are output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>qtyStatic</maml:name>
        <maml:description>
          <maml:para>If a value is passed here, it overwrites the actual stock in the output. This has the background that for example a connected online store always has all articles in stock. This is very helpful when testing new systems.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>warehouse</maml:name>
        <maml:description>
          <maml:para>The name of a warehouse can be specified here. In this case it is also a filter, because in this case only the items that are available in this warehouse will be displayed. Warehouses must have been defined within the EULANDA ERP with an account number from 1000-1399.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>EXAMPLE 1:Generates SQL commands for a complete warehouse as master/detail</maml:title>
        <dev:code>[string[]]$sql= Get-StockSql -filter @("Barcode &gt;= '1000000'", "Barcode &lt;= '8888889'") -alias 'Barcode' -warehouse 'CHICAGO'
 
-- OUTPUT MASTER $sql[0]
SELECT CONVERT(VARCHAR(100),art.BARCODE) [ID.ALIAS]
FROM [dbo].Lagerort lo
JOIN [dbo].LagerKonto lk on [dbo].lk.Lagerort = lo.id
JOIN [dbo].Artikel [art] ON art.id = lk.artikelId
    AND art.ArtNummer not like '.MUSTER%'
     AND Barcode &gt;= '1000000' AND Barcode &lt;= '8888889'
WHERE lo.id &gt;= 1000
    AND lo.id &lt; 1400
    AND lk.IdentId IS NULL
    AND lk.PlatzId IS NULL
    AND lo.Bezeichnung = 'CHICAGO'
ORDER BY 1
 
-- OUTPUT DETAILS $sql[1]
SELECT lk.Menge [BESTANDVERFUEGBAR]
FROM [dbo].Lagerort lo
JOIN [dbo].LagerKonto lk on [dbo].lk.Lagerort = lo.id
JOIN [dbo].Artikel [art] ON art.BARCODE = '{0}'
WHERE lk.ArtikelId = (SELECT TOP 1 Id FROM [dbo].Artikel WHERE BARCODE = '{0}')
    AND lk.IdentId IS NULL
    AND lk.PlatzId IS NULL
    AND lo.Bezeichnung = 'CHICAGO'
 
-- OUTPUT LINK $sql[2]
ID.ALIAS</dev:code>
        <dev:remarks>
          <maml:para>In this example, SQL commands are generated that output warehouse quantities for the `CHICAGO` warehouse. The reference in the export is realized via the unique field `Barcode`. The reference always has the field name `ID.ALIAS`, which establishes the connection from the master to the detail.</maml:para>
          <maml:para>&gt; With the SQL array as the return value, a data set can then be generated via the `Get-DataFromSql` command, for example, as a nested one.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-StockSql.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DataFromSql.md</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-DataFromSql.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-Subnet</command:name>
      <command:verb>Get</command:verb>
      <command:noun>Subnet</command:noun>
      <maml:description>
        <maml:para>Get-Subnet command retrieves the subnet mask of a specified IP address CIDR</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Get-Subnet command retrieves the subnet mask of the local IP address by default. You can also specify a specific locally available IP address, for example, from a VPN or virtual switch. Alternatively, you can specify a CIDR to convert the subnet mask.</maml:para>
      <maml:para>If no parameters are specified, the command attempts to determine the local IP address and uses the subnet mask from the network interface of the local IP address.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-Subnet</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>cidr</maml:name>
          <maml:description>
            <maml:para>Specifies the CIDR notation for the subnet mask. If both the IP address and CIDR are specified, the CIDR notation is used to calculate the subnet mask.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>localIp</maml:name>
          <maml:description>
            <maml:para>If no parameters are specified, the command attempts to determine the local IP address and uses the subnet mask from the network adapter. If there are multiple local IP addresses, the gateway is evaluated. If the gateway is in the same subnet as one of the locally determined IP addresses, that IP address is used. Otherwise, any locally found IP address is used.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>cidr</maml:name>
        <maml:description>
          <maml:para>Specifies the CIDR notation for the subnet mask. If both the IP address and CIDR are specified, the CIDR notation is used to calculate the subnet mask.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>localIp</maml:name>
        <maml:description>
          <maml:para>If no parameters are specified, the command attempts to determine the local IP address and uses the subnet mask from the network adapter. If there are multiple local IP addresses, the gateway is evaluated. If the gateway is in the same subnet as one of the locally determined IP addresses, that IP address is used. Otherwise, any locally found IP address is used.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>- Example 1:Retrieve the subnet mask for the local IP address. -</maml:title>
        <dev:code>PS C:\&gt; Get-Subnet
 
# Output
 
255.255.255.0</dev:code>
        <dev:remarks>
          <maml:para>If no parameters are specified, the command attempts to determine the local IP address and uses the subnet mask from the network adapter. If there are multiple local IP addresses, the gateway is evaluated. If the gateway is in the same subnet as one of the locally determined IP addresses, that IP address is used. Otherwise, any locally found IP address is used.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-Subnet.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TempDir</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TempDir</command:noun>
      <maml:description>
        <maml:para>Returns the path for temporary files</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns the path for temporary files of the logged in user.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TempDir</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------------- Example 1:Folder for temp files ---------------</maml:title>
        <dev:code>PS C:\&gt; Get-TempDir
 
# Output
 
C:\Users\John\AppData\Local\Temp</dev:code>
        <dev:remarks>
          <maml:para>Returns the path for temporary files.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-TempDir.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-DesktopDir</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-TranslateSection</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TranslateSection</command:noun>
      <maml:description>
        <maml:para>Returns a language section from a continuous text</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function returns a language section from a continuous text. This way of storing languages in a text block is specific for the EULANDA ERP. The text for example of an article can contain several languages. For this the individual sections are provided with an `iso` language separator. This is put in an own line and in square brackets, e.g. `[EN]` for English.</maml:para>
      <maml:para>If the desired language is not found, the text before the first language separator is returned.</maml:para>
      <maml:para>The language separator can be extended additionally. In this case, the sub-delimiter must be specified with a colon from the language delimiter. The text of the sub-separator is completely free and can specify a text. For example [EN: TECHNICS] or [EN: INTERNAL] etc.</maml:para>
      <maml:para>If the `sub` divider is not found, a fixed default value can be specified in the `subDefault` parameter.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TranslateSection</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>text</maml:name>
          <maml:description>
            <maml:para>The text containing the different languages. For paragraphs are used in the continuous text with CRLF, as it is usual under Windows.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>iso</maml:name>
          <maml:description>
            <maml:para>A two-letter language identifier. `EN` for English, `IT` for Italian `DE` for German, etc.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>sub</maml:name>
          <maml:description>
            <maml:para>Defines a subsection for a language. These are freely selectable and are separated from the actual `iso` language identifier by a colon.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>subDefault</maml:name>
          <maml:description>
            <maml:para>If no subsection is found, a default can be provided for this case.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>iso</maml:name>
        <maml:description>
          <maml:para>A two-letter language identifier. `EN` for English, `IT` for Italian `DE` for German, etc.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>sub</maml:name>
        <maml:description>
          <maml:para>Defines a subsection for a language. These are freely selectable and are separated from the actual `iso` language identifier by a colon.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>subDefault</maml:name>
        <maml:description>
          <maml:para>If no subsection is found, a default can be provided for this case.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>text</maml:name>
        <maml:description>
          <maml:para>The text containing the different languages. For paragraphs are used in the continuous text with CRLF, as it is usual under Windows.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Text example with different languages and a standard text for unknown languages</maml:title>
        <dev:code># Input as $text
 
This is my default text, It is used when no language is found
[EN]
The moon always has the same face
[DE]
Der Mond hat immer das selbe Gesicht
[IT]
La luna ha sempre la stessa faccia
 
PS C:\&gt; Get-TranslateSection -text $text -iso 'IT'
 
# Output
 
La luna ha sempre la stessa faccia</dev:code>
        <dev:remarks>
          <maml:para>This text block contains three languages and one text for unknown languages. If `iso` is specified as Italian, the result is: `La luna ha sempre la stessa faccia`. If the function `Get-TranslateSection` requests French with `FR` as `iso`, this would not be found and accordingly the default text `This is my default text, It is used when no language is found` is returned.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>Example 2:Text example with a subsection, as well as a standard text for unknown languages</maml:title>
        <dev:code># Input as $text
 
[EN]
The moon always has the same face
[EN:TECHNICS]
The moon has a diameter of about 3,474 kilometers
[DE]
Der Mond hat immer das selbe Gesicht
[DE:TECHNICS]
Der Mond hat einen Durchmesser von etwa 3.474 Kilometern
 
PS C:\&gt; $result= Get-MultipleOption -text $text -iso 'EN' -sub 'TECHNICS'
PS C:\&gt; Write-Host $result
 
# Output
 
The moon has a diameter of about 3,474 kilometers</dev:code>
        <dev:remarks>
          <maml:para>The section `TECHNICS`, is searched for and returned in the language section English. The name `TECHNICS` is only an example, any number of sections can be defined in this way. The function here returns `The moon has a diameter of about 3,474 kilometers`.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>Example 3:Like example 2, but there is a section for unknown languages</maml:title>
        <dev:code># Input
 
This is my default text, It is used when no language is found
[:TECHNICS]
No technical information available
[EN]
The moon always has the same face
[EN:TECHNICS]
The moon has a diameter of about 3,474 kilometers
 
PS C:\&gt; $result= Get-MultipleOption -text $text -iso 'FR' -sub 'TECHNICS'
PS C:\&gt; Write-Host $result
 
# Output
 
No technical information available</dev:code>
        <dev:remarks>
          <maml:para>Here, French is specified as the language, but it is not defined. In this case the neutral section is returned. There is a neutral section for `TECHNICS`, so the function returns: `No technical information available`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-TranslateSection.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-UpsellingFromVariants</command:name>
      <command:verb>Get</command:verb>
      <command:noun>UpsellingFromVariants</command:noun>
      <maml:description>
        <maml:para>Returns an array of strings with article numbers that appear in the variants of a master article</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Returns an array of strings containing the article numbers present in the variants of a master article. If the specified article is already one of these variants, its number is not included in the returned array. This function is intended to populate the upselling fields of the article in the area of the shop extension. If no explicit entries are present there, they are provided by this function.</maml:para>
      <maml:para>The article can be specified using the barcode, article number, article ID or article UID. The database connection is established using one of the three options: ADO-COM object, connection string, or specifying a UDL file.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-UpsellingFromVariants</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>barcode</maml:name>
          <maml:description>
            <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>articleNo</maml:name>
          <maml:description>
            <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched by this number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>articleId</maml:name>
          <maml:description>
            <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>articleUid</maml:name>
          <maml:description>
            <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
          <dev:type>
            <maml:name>Guid</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>articleId</maml:name>
        <maml:description>
          <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>articleNo</maml:name>
        <maml:description>
          <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched by this number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>articleUid</maml:name>
        <maml:description>
          <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
        <dev:type>
          <maml:name>Guid</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>barcode</maml:name>
        <maml:description>
          <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Returns an array of strings with variant numbers to be used as upselling items</maml:title>
        <dev:code>PS C:\&gt; Get-UpsellingFromVariants -articleNo '130100' -udl 'C:\temp\Eulanda_1 Truccamo.udl'
 
180105
300107
350102
700105</dev:code>
        <dev:remarks>
          <maml:para>This example shows how to call the `Get-UpsellingFromVariants` function to get an array of variant numbers for the article with the article number `130100`. The function is using a UDL file located at `C:\temp\Eulanda_1 Truccamo.udl` to connect to the database. The returned array contains the variant numbers `180105`, `300107`, `350102`, and `700105`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-UpsellingFromVariants.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaAddress</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaAddress</command:noun>
      <maml:description>
        <maml:para>Creates an XML fragment containing address information based on the specified selection criteria.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates an XML fragment with the addresses selected from the database based on the specified selection criteria. The `select` parameter is used to specify the list of columns to be retrieved, while the `filter` parameter is used to specify the filter criteria. The `order` parameter is used to specify the order in which the results are sorted. The `alias` parameter is used to specify an alias for the key field, which is normally the field `match`. The `reorder` and `revers` parameters are used to specify whether the fieldnames should be reordered (alphabetically) or reversed if the records should be in reverse order.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaAddress</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>select</maml:name>
          <maml:description>
            <maml:para>By default, all fields intended for output are retrieved. However, select can be used to specify a comma-separated list of the desired field names.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>filter</maml:name>
          <maml:description>
            <maml:para>The filter is an array of strings and the filtering refers to the master dataset. Each row of the array is added individually to the existing filters via logical AND. By default, records whose match starts with '.MUSTER' are hidden. For example, a filter could be "MATCH &lt;&gt; 'BOND'".</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>alias</maml:name>
          <maml:description>
            <maml:para>The alias is historically the field 'Match' of the address table. In an XML output the node is always 'ID.ALIAS'. This alias is used to uniquely associate the record and can now refer to another unique field. Currently these are UID, ID, and MATCH.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">Id</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">Uid</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">Match</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>order</maml:name>
          <maml:description>
            <maml:para>The field by which the output is to be sorted. If nested sorting is required, multiple field names can be specified comma-separated.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>reorder</maml:name>
          <maml:description>
            <maml:para>The list of field names can be sorted in the output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>revers</maml:name>
          <maml:description>
            <maml:para>The output of the record sorting can be done backwards.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>alias</maml:name>
        <maml:description>
          <maml:para>The alias is historically the field 'Match' of the address table. In an XML output the node is always 'ID.ALIAS'. This alias is used to uniquely associate the record and can now refer to another unique field. Currently these are UID, ID, and MATCH.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>filter</maml:name>
        <maml:description>
          <maml:para>The filter is an array of strings and the filtering refers to the master dataset. Each row of the array is added individually to the existing filters via logical AND. By default, records whose match starts with '.MUSTER' are hidden. For example, a filter could be "MATCH &lt;&gt; 'BOND'".</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>order</maml:name>
        <maml:description>
          <maml:para>The field by which the output is to be sorted. If nested sorting is required, multiple field names can be specified comma-separated.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>reorder</maml:name>
        <maml:description>
          <maml:para>The list of field names can be sorted in the output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>revers</maml:name>
        <maml:description>
          <maml:para>The output of the record sorting can be done backwards.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>select</maml:name>
        <maml:description>
          <maml:para>By default, all fields intended for output are retrieved. However, select can be used to specify a comma-separated list of the desired field names.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Retrieves an XML fragment for address fields ----</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaAddress -select 'Name1,Name2,Name3,Strasse,Ort' -filter "Match = 'EULANDA'" -udl "C:\temp\Eulanda_1 Eulanda.udl"
 
&lt;ADRESSELISTE&gt;
    &lt;ADRESSE&gt;
        &lt;ID.ALIAS&gt;EULANDA&lt;/ID.ALIAS&gt;
        &lt;MATCH&gt;EULANDA&lt;/MATCH&gt;
        &lt;NAME1&gt;EULANDA Software GmbH&lt;/NAME1&gt;
        &lt;NAME2&gt;c/o John Doe&lt;/NAME2&gt;
        &lt;NAME3&gt;3rd floor&lt;/NAME3&gt;
        &lt;STRASSE&gt;Beuerbacher Weg 20&lt;/STRASSE&gt;
        &lt;ORT&gt;Hünstetten&lt;/ORT&gt;
    &lt;/ADRESSE&gt;
&lt;/ADRESSELISTE&gt;</dev:code>
        <dev:remarks>
          <maml:para>This example generates an XML fragment containing address information for addresses that match the filter criteria "Match = 'EULANDA'". The resulting XML fragment contains only the columns specified in the `select` parameter.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaAddress.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaArticle</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaArticle</command:noun>
      <maml:description>
        <maml:para>Returns one or more articles as an XML fragment, allowing for filtering, sorting and reordering of the data.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Get-XmlEulandaArticle` function returns one or more articles as an XML fragment. A comma-separated list of fields can be specified with the `-select` parameter. By default, it uses a set of field names compatible with the classic EULANDA shop interface.</maml:para>
      <maml:para>The `-filter` parameter can be used to specify an array of SQL filter conditions, which are combined with logical AND.</maml:para>
      <maml:para>The `-alias` parameter is set to the article number (`articleNo`) by default, but it can be changed. The alias is output as the `ID.ALIAS` field name in the XML output.</maml:para>
      <maml:para>The output can be sorted by a specific field name using the `-order` parameter. If nothing is specified, the field name of `-alias` is used for sorting.</maml:para>
      <maml:para>The `-reorder` parameter can be used to specify a different order for field names (sorted alphabetically).</maml:para>
      <maml:para>If the output of the datasets should be in reverse order, the `-reverse` switch can be used.</maml:para>
      <maml:para>Subqueries for additional XML fragments are performed for each article. This way, shop extension fields, stock levels, price lists, and breadcrumb paths in which the respective article is contained are added.</maml:para>
      <maml:para>The connection to the database is made via an ADO COM object, a connection string, or a UDL file.</maml:para>
      <maml:para>The fragment is output as an XmlString.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaArticle</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>select</maml:name>
          <maml:description>
            <maml:para>Specifies a comma-separated list of field names to include in the output. Also an `*` for all fields is possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>filter</maml:name>
          <maml:description>
            <maml:para>Specifies an array of SQL filter conditions to apply to the output. For example: `-filter "ArtNummer='130100'`. Only native database field names are allowed in the filter conditions.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>alias</maml:name>
          <maml:description>
            <maml:para>Specifies an alternate field name to use as the unique identifier for each record. This field is always output as 'ID.ALIAS' in the XML.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>order</maml:name>
          <maml:description>
            <maml:para>Specifies a field name to sort the output of the articles.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>customerGroups</maml:name>
          <maml:description>
            <maml:para>Specifies the customer groups to use for calculating customer-specific prices based on the discounts associated with the article's discount group and the specified customer groups. This can be a single group or a comma-separated list of groups.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>reorder</maml:name>
          <maml:description>
            <maml:para>Rearranges the field names in alphabetical order.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>revers</maml:name>
          <maml:description>
            <maml:para>Reverses the order of the output records.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>alias</maml:name>
        <maml:description>
          <maml:para>Specifies an alternate field name to use as the unique identifier for each record. This field is always output as 'ID.ALIAS' in the XML.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>customerGroups</maml:name>
        <maml:description>
          <maml:para>Specifies the customer groups to use for calculating customer-specific prices based on the discounts associated with the article's discount group and the specified customer groups. This can be a single group or a comma-separated list of groups.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>filter</maml:name>
        <maml:description>
          <maml:para>Specifies an array of SQL filter conditions to apply to the output. For example: `-filter "ArtNummer='130100'`. Only native database field names are allowed in the filter conditions.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>order</maml:name>
        <maml:description>
          <maml:para>Specifies a field name to sort the output of the articles.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>reorder</maml:name>
        <maml:description>
          <maml:para>Rearranges the field names in alphabetical order.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>revers</maml:name>
        <maml:description>
          <maml:para>Reverses the order of the output records.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>select</maml:name>
        <maml:description>
          <maml:para>Specifies a comma-separated list of field names to include in the output. Also an `*` for all fields is possible.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------ Example 1:Single article fragment as an xmlString ------</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaArticle -filter "ArtNummer='130100'" -udl 'C:\temp\Eulanda_1 Truccamo.udl'
 
&lt;ARTIKELLISTE&gt;
    &lt;ARTIKEL&gt;
        &lt;ID.ALIAS&gt;130100&lt;/ID.ALIAS&gt;
        &lt;ARTNUMMER&gt;130100&lt;/ARTNUMMER&gt;
        &lt;CHANGEDATE&gt;2023-03-26T15:33:43&lt;/CHANGEDATE&gt;
        &lt;ARTNUMMER&gt;130100&lt;/ARTNUMMER&gt;
        &lt;BARCODE&gt;4028362130100&lt;/BARCODE&gt;
        &lt;MWSTSATZ&gt;22.00&lt;/MWSTSATZ&gt;
        &lt;MWSTGR&gt;3&lt;/MWSTGR&gt;
        &lt;WAEHRUNG&gt;EUR&lt;/WAEHRUNG&gt;
        &lt;GEWICHT&gt;0.0000&lt;/GEWICHT&gt;
        &lt;SHOPEXPORTDATUM&gt;2018-11-12T10:13:23&lt;/SHOPEXPORTDATUM&gt;
        &lt;SHOPFREIGABEFLG&gt;True&lt;/SHOPFREIGABEFLG&gt;
        &lt;AUSLAUFFLG&gt;False&lt;/AUSLAUFFLG&gt;
        &lt;NEUFLG&gt;False&lt;/NEUFLG&gt;
        &lt;SONDERFLG&gt;False&lt;/SONDERFLG&gt;
        &lt;LOESCHFLG&gt;False&lt;/LOESCHFLG&gt;
        &lt;VERPACKEH&gt;1.00&lt;/VERPACKEH&gt;
        &lt;PREISEH&gt;1.00&lt;/PREISEH&gt;
        &lt;EKNETTO&gt;2.16&lt;/EKNETTO&gt;
        &lt;VK&gt;5.95&lt;/VK&gt;
        &lt;BRUTTOFLG&gt;True&lt;/BRUTTOFLG&gt;
        &lt;VKNETTO&gt;4.88&lt;/VKNETTO&gt;
        &lt;VKBRUTTO&gt;5.95&lt;/VKBRUTTO&gt;
        &lt;LAGERTYP&gt;17&lt;/LAGERTYP&gt;
        &lt;URSPRUNGSLAND&gt;DE&lt;/URSPRUNGSLAND&gt;
        &lt;WARENNR&gt;33049900&lt;/WARENNR&gt;
        &lt;VOLUMEN&gt;0.0000&lt;/VOLUMEN&gt;
        &lt;KURZTEXT1&gt;Profi-Aqua Perlglanz-Perlmutt, 12ml&lt;/KURZTEXT1&gt;
        &lt;KURZTEXT2&gt;Madreperla perlato, 12ml&lt;/KURZTEXT2&gt;
        &lt;ULTRAKURZTEXT /&gt;
        &lt;LANGTEXT&gt;
            [DE:SHORT]
            Perlglanz Perlmutt - 12 ml
            [IT:SHORT]
            Brillante madreperla - 12 ml
            [EN:SHORT]
            Pearlised Pearl - 12 ml
            [DE]
            Profi-Aqua perlglanz perlmutt - 12 ml
            [IT]
            Profi-Acqua Brillante madreperla - 12 ml
            [EN]
            Profi-Aqua pearlised pearl - 12 ml
        &lt;/LANGTEXT&gt;
        &lt;INFO /&gt;
        &lt;SHOP&gt;
            &lt;ARTICLETYPE&gt;3&lt;/ARTICLETYPE&gt;
            &lt;MASTERARTICLE&gt;350102-M&lt;/MASTERARTICLE&gt;
            &lt;METATITLE /&gt;
            &lt;METADESCRIPTION /&gt;
            &lt;METAKEYWORDS /&gt;
            &lt;DIMENSIONHEIGHT /&gt;
            &lt;DIMENSIONWIDTH /&gt;
            &lt;DIMENSIONDEPTH /&gt;
            &lt;INFOURLTEXT /&gt;
            &lt;INFOURL /&gt;
            &lt;IMAGE1 /&gt;
            &lt;IMAGE2 /&gt;
            &lt;IMAGE3 /&gt;
            &lt;IMAGE4 /&gt;
            &lt;IMAGE5 /&gt;
            &lt;IMAGE6 /&gt;
            &lt;IMAGE7 /&gt;
            &lt;IMAGE8 /&gt;
            &lt;IMAGE9 /&gt;
            &lt;IMAGE10 /&gt;
            &lt;IMAGE11 /&gt;
            &lt;IMAGE12 /&gt;
            &lt;IMAGE13 /&gt;
            &lt;IMAGE14 /&gt;
            &lt;IMAGE15 /&gt;
            &lt;SUGGESTEDLISTPRICE /&gt;
            &lt;VARIANTDIMENSIONS1 /&gt;
            &lt;VARIANTDIMENSIONS2 /&gt;
            &lt;VARIANTDIMENSIONS3 /&gt;
            &lt;VARIANTDIMENSIONS4 /&gt;
            &lt;VARIANTDIMENSIONS5 /&gt;
            &lt;VARIANTVALUE1&gt;12 ml&lt;/VARIANTVALUE1&gt;
            &lt;VARIANTVALUE2 /&gt;
            &lt;VARIANTVALUE3 /&gt;
            &lt;VARIANTVALUE4 /&gt;
            &lt;VARIANTVALUE5 /&gt;
            &lt;CROSS1 /&gt;
            &lt;CROSS2 /&gt;
            &lt;CROSS3 /&gt;
            &lt;CROSS4 /&gt;
            &lt;CROSS5 /&gt;
            &lt;CROSS6 /&gt;
            &lt;CROSS7 /&gt;
            &lt;CROSS8 /&gt;
            &lt;UP1&gt;180105&lt;/UP1&gt;
            &lt;UP2&gt;300107&lt;/UP2&gt;
            &lt;UP3&gt;350102&lt;/UP3&gt;
            &lt;UP4&gt;700105&lt;/UP4&gt;
            &lt;UP5 /&gt;
            &lt;UP6 /&gt;
            &lt;UP7 /&gt;
            &lt;UP8 /&gt;
            &lt;BASEDIVISOR&gt;0.0000&lt;/BASEDIVISOR&gt;
            &lt;BASEUNIT /&gt;
            &lt;SALESSIZE&gt;12.0000&lt;/SALESSIZE&gt;
            &lt;SALESUNIT&gt;100&lt;/SALESUNIT&gt;
            &lt;SHIPPINGWEIGHT /&gt;
            &lt;SHIPPINGFREE /&gt;
            &lt;VARIANTTEXT1&gt;Size (ml)&lt;/VARIANTTEXT1&gt;
            &lt;VARIANTTEXT2 /&gt;
            &lt;VARIANTTEXT3 /&gt;
            &lt;VARIANTTEXT4 /&gt;
            &lt;VARIANTTEXT5 /&gt;
            &lt;MANUFACTURER&gt;MYSPIEGEL NVK&lt;/MANUFACTURER&gt;
        &lt;/SHOP&gt;
        &lt;LAGER&gt;
            &lt;BESTANDVERFUEGBAR&gt;0.00&lt;/BESTANDVERFUEGBAR&gt;
            &lt;BESTANDVERFUEGBAR1&gt;0.00&lt;/BESTANDVERFUEGBAR1&gt;
            &lt;BESTANDVERFUEGBAR2&gt;0.00&lt;/BESTANDVERFUEGBAR2&gt;
        &lt;/LAGER&gt;
        &lt;PREISLISTE&gt;
            &lt;PREIS&gt;
                &lt;NAME&gt;Reseller&lt;/NAME&gt;
                &lt;WAEHRUNG&gt;EUR&lt;/WAEHRUNG&gt;
                &lt;BRUTTOFLG&gt;False&lt;/BRUTTOFLG&gt;
                &lt;STAFFEL&gt;1&lt;/STAFFEL&gt;
                &lt;MENGEAB&gt;1.00&lt;/MENGEAB&gt;
                &lt;VK&gt;2.16&lt;/VK&gt;
            &lt;/PREIS&gt;
        &lt;/PREISLISTE&gt;
        &lt;MERKMALLISTE&gt;
            &lt;MERKMAL&gt;
                &lt;PFAD&gt;\Profi-Aqua\Make-Up&lt;/PFAD&gt;
            &lt;/MERKMAL&gt;
        &lt;/MERKMALLISTE&gt;
    &lt;/ARTIKEL&gt;
&lt;/ARTIKELLISTE&gt;</dev:code>
        <dev:remarks>
          <maml:para>This function outputs an XML fragment of an article with various subnodes, which are also available as individual PowerShell commands. This XML corresponds to the structure of the original shop interface. In this case, the database is specified via a UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaArticle.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaBreadcrumb</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaBreadcrumb</command:noun>
      <maml:description>
        <maml:para>Get-XmlEulandaBreadcrumb generates an XML fragment containing all breadcrumb paths in which an article is found in a property tree.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function takes various parameters such as `-barcode`, `-articleNo`, `-articleId`, and `-articleUid` to specify the article. The `-breadcrumbPath` parameter specifies the root of the property tree path starting with a backslash ``. The `-tablename` parameter specifies the table that the property tree corresponds to. The function can connect to a database using either the `-conn` parameter, the `-udl` parameter, or the `-connStr` parameter.</maml:para>
      <maml:para>The XML fragment generated by the function contains a list of breadcrumb paths for the specified article.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaBreadcrumb</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>barcode</maml:name>
          <maml:description>
            <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>articleNo</maml:name>
          <maml:description>
            <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched by this number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>articleId</maml:name>
          <maml:description>
            <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>articleUid</maml:name>
          <maml:description>
            <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
          <dev:type>
            <maml:name>Guid</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>breadcrumbPath</maml:name>
          <maml:description>
            <maml:para>Specifies the root of a property tree path starting with a backslash ``. This parameter is used to search for the corresponding branch in the property tree and retrieve all breadcrumb paths in which the article is included in a fragmental xml format.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>tablename</maml:name>
          <maml:description>
            <maml:para>The parameter specifies the name of the table for which the property tree should be exported. Currently, three tables are supported: Article, Address, and Delivery. The valid table names can be retrieved using the `Get-MappingTablename` function, which allows input in both the native and English names.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>articleId</maml:name>
        <maml:description>
          <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>articleNo</maml:name>
        <maml:description>
          <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched by this number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>articleUid</maml:name>
        <maml:description>
          <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
        <dev:type>
          <maml:name>Guid</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>barcode</maml:name>
        <maml:description>
          <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>breadcrumbPath</maml:name>
        <maml:description>
          <maml:para>Specifies the root of a property tree path starting with a backslash ``. This parameter is used to search for the corresponding branch in the property tree and retrieve all breadcrumb paths in which the article is included in a fragmental xml format.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>tablename</maml:name>
        <maml:description>
          <maml:para>The parameter specifies the name of the table for which the property tree should be exported. Currently, three tables are supported: Article, Address, and Delivery. The valid table names can be retrieved using the `Get-MappingTablename` function, which allows input in both the native and English names.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:This example generates an XML fragment containing all breadcrumb paths for one article</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaBreadcrumb -articleNo '130100' -breadcrumbPath '\Shop' -tablename 'Article' -udl 'C:\temp\Eulanda_1 JohnDoe.udl'
 
&lt;MERKMALLISTE&gt;
    &lt;MERKMAL&gt;
        &lt;PFAD&gt;\Profi-Aqua\Make-Up&lt;/PFAD&gt;
    &lt;/MERKMAL&gt;
   &lt;MERKMAL&gt;
        &lt;PFAD&gt;\Profi-Aqua\Sensible&lt;/PFAD&gt;
    &lt;/MERKMAL&gt;
&lt;/MERKMALLISTE&gt;</dev:code>
        <dev:remarks>
          <maml:para>This example generates an XML fragment containing all breadcrumb paths in which article number 130100 is found in the `Article` property tree starting at the root `\Shop`. The XML fragment contains a single `MERKMAL` element with the `PFAD` (path) sub-element containing the breadcrumb path.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaBreadcrumb.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaDelivery</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaDelivery</command:noun>
      <maml:description>
        <maml:para>Generates an XML output for the specified delivery note, including the line items.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This operation generates an XML output containing the details of a specific delivery note, along with its associated line items. The generated XML output can be used for data exchange, reporting, or further processing.</maml:para>
      <maml:para>The SQL array specifies the SQL SELECT statement for the database query. The first array element is for the master (delivery note header), and the second array element is for the details (delivery note line items). The array is pre-populated and is generated internally by the `Get-DeliverySql` function.</maml:para>
      <maml:para>&gt; If you want to use a different SELECT statement with different fields or field names, you can derive it by wrapping the respective SQL command in a nested SELECT statement. It is important to note that the output is sorted based on the first specified field.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaDelivery</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>sql</maml:name>
          <maml:description>
            <maml:para>This string array is pre-populated by default with an SQL SELECT statement for the delivery note and the delivery note position, so it does not need to be specified. However, if you want to include a field selection or new fields, such as calculated or combined fields, in the XML, you can specify this SQL statement here as an array. The first element is the master, which is the delivery note header, and the second array element is the SELECT statement to select the corresponding positions. The positions are implicitly sorted by the first field of the position, which is normally the delivery note position. The field name is then ID.ALIAS.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>includeEmpty</maml:name>
          <maml:description>
            <maml:para>An optional switch specifying whether empty values should be included in the output. If this switch is provided, empty values will be used in the output; otherwise, default values will be used.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>includeEmpty</maml:name>
        <maml:description>
          <maml:para>An optional switch specifying whether empty values should be included in the output. If this switch is provided, empty values will be used in the output; otherwise, default values will be used.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>sql</maml:name>
        <maml:description>
          <maml:para>This string array is pre-populated by default with an SQL SELECT statement for the delivery note and the delivery note position, so it does not need to be specified. However, if you want to include a field selection or new fields, such as calculated or combined fields, in the XML, you can specify this SQL statement here as an array. The first element is the master, which is the delivery note header, and the second array element is the SELECT statement to select the corresponding positions. The positions are implicitly sorted by the first field of the position, which is normally the delivery note position. The field name is then ID.ALIAS.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Generates an XML output for a delivery note. ----</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaDelivery -DeliveryNo 430952 -Udl 'C:\Temp\Eulanda_1 JohnDoe.udl'</dev:code>
        <dev:remarks>
          <maml:para>This operation creates an XML output containing the details of a specific delivery note, including its associated header and line items. The generated XML output is used inside `Export-DeliveryToXml`. Because the switch `-includeEmpty` was set, also empty fields were exported.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaDelivery.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaDeliveryPos</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaDeliveryPos</command:noun>
      <maml:description>
        <maml:para>Generates an XML output for the specified delivery note, with line items only.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This operation generates an XML output containing the details of a specific delivery note, line items only. The generated XML output can be used for data exchange, reporting, or further processing.</maml:para>
      <maml:para>The SQL array specifies the SQL SELECT statement for the database query. The first array element is for the master (delivery note header), and the second array element is for the details (delivery note line items). The array is pre-populated and is generated internally by the `Get-DeliverySql` function.</maml:para>
      <maml:para>&gt; If you want to use a different SELECT statement with different fields or field names, you can derive it by wrapping the respective SQL command in a nested SELECT statement. It is important to note that the output is sorted based on the first specified field.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaDeliveryPos</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>sql</maml:name>
          <maml:description>
            <maml:para>This string array is pre-populated by default with an SQL SELECT statement for the delivery note and the delivery note position, so it does not need to be specified. However, if you want to include a field selection or new fields, such as calculated or combined fields, in the XML, you can specify this SQL statement here as an array. The first element is the master, which is the delivery note header, and the second array element is the SELECT statement to select the corresponding positions. The positions are implicitly sorted by the first field of the position, which is normally the delivery note position. The field name is then ID.ALIAS.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>includeEmpty</maml:name>
          <maml:description>
            <maml:para>An optional switch specifying whether empty values should be included in the output. If this switch is provided, empty values will be used in the output; otherwise, default values will be used.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>includeEmpty</maml:name>
        <maml:description>
          <maml:para>An optional switch specifying whether empty values should be included in the output. If this switch is provided, empty values will be used in the output; otherwise, default values will be used.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>sql</maml:name>
        <maml:description>
          <maml:para>This string array is pre-populated by default with an SQL SELECT statement for the delivery note and the delivery note position, so it does not need to be specified. However, if you want to include a field selection or new fields, such as calculated or combined fields, in the XML, you can specify this SQL statement here as an array. The first element is the master, which is the delivery note header, and the second array element is the SELECT statement to select the corresponding positions. The positions are implicitly sorted by the first field of the position, which is normally the delivery note position. The field name is then ID.ALIAS.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1: Generates an XML output for delivery note line items.</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaDeliveryPos -DeliveryNo 430952 -Udl 'C:\Temp\Eulanda_1 JohnDoe.udl'</dev:code>
        <dev:remarks>
          <maml:para>This operation creates an XML output containing the line items of a specific delivery note. The generated XML output is used inside `Get-XmlEulandaDelivery`. Because the switch `-includeEmpty` was set, also empty fields were exported.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaDeliveryPos.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaMetadata</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaMetadata</command:noun>
      <maml:description>
        <maml:para>The `Get-XmlEulandaMetadata` function generates an XML fragment with metadata information for native EULANDA-XML messages.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Get-XmlEulandaMetadata` function creates an XML fragment containing information about the EULANDA-XML message. This fragment follows the structure described in the ' XmlStructure (./../XmlStructure.md)' document. Only field names listed in the metadata are accepted. The output uses USI8601 as the date format and the American format with a period as the decimal separator for floating-point numbers. The PC name that generated the XML and the logged-in user can be suppressed with switches.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaMetadata</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noPcName</maml:name>
          <maml:description>
            <maml:para>The `-noPcName` parameter is a switch that, if specified, suppresses the output of the computer name in the metadata XML generated by the `Get-XmlEulandaMetadata` function. If this switch is not specified, the computer name will be included in the metadata XML.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noUsername</maml:name>
          <maml:description>
            <maml:para>Parameter `-noUsername` is a switch that can be used with the `Get-XmlEulandaMetadata` function. If this switch is present, the username information will not be included in the metadata XML output.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noPcName</maml:name>
        <maml:description>
          <maml:para>The `-noPcName` parameter is a switch that, if specified, suppresses the output of the computer name in the metadata XML generated by the `Get-XmlEulandaMetadata` function. If this switch is not specified, the computer name will be included in the metadata XML.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noUsername</maml:name>
        <maml:description>
          <maml:para>Parameter `-noUsername` is a switch that can be used with the `Get-XmlEulandaMetadata` function. If this switch is present, the username information will not be included in the metadata XML output.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Returns the metadata for Eulanda XML format ----</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaMetadata
 
&lt;METADATA&gt;
    &lt;VERSION&gt;2.3.15&lt;/VERSION&gt;
    &lt;GENERATOR&gt;EulandaConnect&lt;/GENERATOR&gt;
    &lt;DATEFORMAT&gt;ISO8601&lt;/DATEFORMAT&gt;
    &lt;FLOATFORMAT&gt;US&lt;/FLOATFORMAT&gt;
    &lt;COUNTRYFORMAT&gt;ISO2&lt;/COUNTRYFORMAT&gt;
    &lt;FIELDNAMES&gt;NATIVE&lt;/FIELDNAMES&gt;
    &lt;DATE&gt;2023-03-22T08:31:10&lt;/DATE&gt;
    &lt;PCNAME&gt;DOE-PC&lt;/PCNAME&gt;
    &lt;USERNAME&gt;JOHN&lt;/USERNAME&gt;
&lt;/METADATA&gt;</dev:code>
        <dev:remarks>
          <maml:para>Returns the metadata for EULANDA XML format. The metadata includes the version number, generator, date format, float format, country format, field names, date and PC/username of the system that generated the XML. The PC/username can be suppressed using switches.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaMetadata.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaProperty</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaProperty</command:noun>
      <maml:description>
        <maml:para>Exports the property tree starting from a certain path as a xml fragment.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Exports the property tree starting from a certain path as a xml fragment in a hierarchical structure. The XML structure is returned as an XML string and has no metadata and also no Eulanda root.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaProperty</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>breadcrumbPath</maml:name>
          <maml:description>
            <maml:para>Specifies the root of a property tree path starting with a backslash ``. This parameter is used to search for the corresponding branch in the property tree and retrieve its ID. The retrieved ID is used the tree from that point.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>tablename</maml:name>
          <maml:description>
            <maml:para>The parameter specifies the name of the table for which the property tree should be exported. Currently, three tables are supported: Article, Address, and Delivery. The valid table names can be retrieved using the `Get-MappingTablename` function, which allows input in both the native and English names.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>breadcrumbPath</maml:name>
        <maml:description>
          <maml:para>Specifies the root of a property tree path starting with a backslash ``. This parameter is used to search for the corresponding branch in the property tree and retrieve its ID. The retrieved ID is used the tree from that point.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>tablename</maml:name>
        <maml:description>
          <maml:para>The parameter specifies the name of the table for which the property tree should be exported. Currently, three tables are supported: Article, Address, and Delivery. The valid table names can be retrieved using the `Get-MappingTablename` function, which allows input in both the native and English names.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Exporting Property Tree as Fragmental XML with PowerShell</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaProperty -breadcrumbPath '\Produkte' -tablename 'Address' -udl 'C:\temp\Eulanda_1 JohnDoe.udl'
 
&lt;MERKMALBAUM&gt;
    &lt;ADRESSE&gt;
        &lt;MERKMAL&gt;
            &lt;ID&gt;35&lt;/ID&gt;
            &lt;PARENTID&gt;33&lt;/PARENTID&gt;
            &lt;NAME&gt;Produkte&lt;/NAME&gt;
            &lt;UID&gt;{4CEA6D28-A1C4-4978-B94C-0E4DA370CA94}&lt;/UID&gt;
            &lt;SORT&gt;0&lt;/SORT&gt;
            &lt;COLOR /&gt;
            &lt;MERKMAL&gt;
                &lt;ID&gt;1740&lt;/ID&gt;
                &lt;PARENTID&gt;35&lt;/PARENTID&gt;
                &lt;NAME&gt;EULANDA Produktversion&lt;/NAME&gt;
                &lt;UID&gt;{9A34271F-0F1F-4CE4-AC0B-084CB5B75ED5}&lt;/UID&gt;
                &lt;SORT&gt;0&lt;/SORT&gt;
                &lt;COLOR /&gt;
                &lt;MERKMAL&gt;
                    &lt;ID&gt;1746&lt;/ID&gt;
                    &lt;PARENTID&gt;1740&lt;/PARENTID&gt;
                    &lt;NAME&gt;Eulanda 0.0 - ohne Version&lt;/NAME&gt;
                    &lt;UID&gt;{194CEE59-176A-42E4-84C8-EF8A5C29F2BB}&lt;/UID&gt;
                    &lt;SORT&gt;1&lt;/SORT&gt;
                    &lt;COLOR /&gt;
                &lt;/MERKMAL&gt;
                ...</dev:code>
        <dev:remarks>
          <maml:para>This example demonstrates how to export the property tree of an article in a fragmental XML format. The `-breadcrumbPath` parameter specifies the path of the property tree to be exported, starting with the root ``. The `-tablename` parameter specifies the name of the table to which the property tree belongs. The `-udl` parameter specifies the path to the UDL file for the database connection.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaProperty.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaRoot</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaRoot</command:noun>
      <maml:description>
        <maml:para>Get-XmlEulandaRoot creates an XML root node for EULANDA_XML format</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Get-XmlEulandaRoot generates the root node for EULANDA_XML format, which reflects the fields of the main tables of the EULANDA ERP software for exchange between same or foreign systems, such as online shops. The root node is identical for all message types.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaRoot</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------------- Example 1:Root for Eulanda Xml ----------------</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaRoot
 
&lt;EULANDA&gt;&lt;/EULANDA&gt;</dev:code>
        <dev:remarks>
          <maml:para>Function `Get-XmlEulandaRoot` generates an empty XML node for the EULANDA_XML format used for data exchange between EULANDA ERP-Software and other systems, such as online shops. The root node is identical for all message types and has the name "EULANDA". This node would be "&lt;EULANDA&gt;&lt;/EULANDA&gt;".</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaRoot.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaShop</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaShop</command:noun>
      <maml:description>
        <maml:para>Get-XmlEulandaShop creates an XML fragment with details from the installed shop interface, such as metadata and cross-selling information.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Get-XmlEulandaShop` function generates an XML fragment for a given article. The article can be specified using parameters `Barcode`, `ArticleId`, `ArticleUid`, or `ArticleNo`. Access to the database can be done using an ADOCom object, a ConnectionString, or a UDL file.</maml:para>
      <maml:para>This function requires the EULANDA shop interface to be installed. This extends the system with the `esolShopArtikel` file, which contains specific things such as metadata, article variants, unit prices, upselling, or cross-selling. The XML fragment is usually generated after the XML of the article but can be generated separately through this function.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaShop</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>barcode</maml:name>
          <maml:description>
            <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>articleNo</maml:name>
          <maml:description>
            <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched for here and its `Id` is returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="id">
          <maml:name>articleId</maml:name>
          <maml:description>
            <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="uid">
          <maml:name>articleUid</maml:name>
          <maml:description>
            <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
          <dev:type>
            <maml:name>Guid</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="id">
        <maml:name>articleId</maml:name>
        <maml:description>
          <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>articleNo</maml:name>
        <maml:description>
          <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched for here and its `Id` is returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="uid">
        <maml:name>articleUid</maml:name>
        <maml:description>
          <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
        <dev:type>
          <maml:name>Guid</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>barcode</maml:name>
        <maml:description>
          <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>- Example 1:Generates an XML fragment with shop specific data -</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaShop -articleNo '130100' -udl 'C:\temp\Eulanda_1 Truccamo.udl'
 
&lt;SHOP&gt;
    &lt;ARTICLETYPE&gt;3&lt;/ARTICLETYPE&gt;
    &lt;MASTERARTICLE&gt;350102-MASTER&lt;/MASTERARTICLE&gt;
    &lt;METATITLE /&gt;
    &lt;METADESCRIPTION /&gt;
    &lt;METAKEYWORDS /&gt;
    &lt;DIMENSIONHEIGHT /&gt;
    &lt;DIMENSIONWIDTH /&gt;
    &lt;DIMENSIONDEPTH /&gt;
    &lt;INFOURLTEXT /&gt;
    &lt;INFOURL /&gt;
    &lt;IMAGE1 /&gt;
    &lt;IMAGE2 /&gt;
    &lt;IMAGE3 /&gt;
    &lt;IMAGE4 /&gt;
    &lt;IMAGE5 /&gt;
    &lt;IMAGE6 /&gt;
    &lt;IMAGE7 /&gt;
    &lt;IMAGE8 /&gt;
    &lt;IMAGE9 /&gt;
    &lt;IMAGE10 /&gt;
    &lt;IMAGE11 /&gt;
    &lt;IMAGE12 /&gt;
    &lt;IMAGE13 /&gt;
    &lt;IMAGE14 /&gt;
    &lt;IMAGE15 /&gt;
    &lt;SUGGESTEDLISTPRICE /&gt;
    &lt;VARIANTDIMENSIONS1 /&gt;
    &lt;VARIANTDIMENSIONS2 /&gt;
    &lt;VARIANTDIMENSIONS3 /&gt;
    &lt;VARIANTDIMENSIONS4 /&gt;
    &lt;VARIANTDIMENSIONS5 /&gt;
    &lt;VARIANTVALUE1&gt;12 ml&lt;/VARIANTVALUE1&gt;
    &lt;VARIANTVALUE2 /&gt;
    &lt;VARIANTVALUE3 /&gt;
    &lt;VARIANTVALUE4 /&gt;
    &lt;VARIANTVALUE5 /&gt;
    &lt;CROSS1 /&gt;
    &lt;CROSS2 /&gt;
    &lt;CROSS3 /&gt;
    &lt;CROSS4 /&gt;
    &lt;CROSS5 /&gt;
    &lt;CROSS6 /&gt;
    &lt;CROSS7 /&gt;
    &lt;CROSS8 /&gt;
    &lt;UP1&gt;180105&lt;/UP1&gt;
    &lt;UP2&gt;300107&lt;/UP2&gt;
    &lt;UP3&gt;350102&lt;/UP3&gt;
    &lt;UP4&gt;700105&lt;/UP4&gt;
    &lt;UP5 /&gt;
    &lt;UP6 /&gt;
    &lt;UP7 /&gt;
    &lt;UP8 /&gt;
    &lt;BASEDIVISOR&gt;0.0000&lt;/BASEDIVISOR&gt;
    &lt;BASEUNIT /&gt;
    &lt;SALESSIZE&gt;12.0000&lt;/SALESSIZE&gt;
    &lt;SALESUNIT&gt;100&lt;/SALESUNIT&gt;
    &lt;SHIPPINGWEIGHT /&gt;
    &lt;SHIPPINGFREE /&gt;
    &lt;VARIANTTEXT1&gt;Size (ml)&lt;/VARIANTTEXT1&gt;
    &lt;VARIANTTEXT2 /&gt;
    &lt;VARIANTTEXT3 /&gt;
    &lt;VARIANTTEXT4 /&gt;
    &lt;VARIANTTEXT5 /&gt;
    &lt;MANUFACTURER&gt;MYSPIEGEL NVK&lt;/MANUFACTURER&gt;
&lt;/SHOP&gt;</dev:code>
        <dev:remarks>
          <maml:para>This example generates an XML fragment for the article with the article number '130100' using the UDL file 'C:\temp\Eulanda_1 Truccamo.udl' to access the EULANDA database.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaShop.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaStock</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaStock</command:noun>
      <maml:description>
        <maml:para>Retrieves the stock information of an Eulanda article and returns an XML fragment.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function retrieves the current stock information of an Eulanda article based on the given article barcode, number, ID, or UID, and returns an XML fragment containing the stock information. The function supports multiple ways of specifying the article and the database connection.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaStock</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>barcode</maml:name>
          <maml:description>
            <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>articleNo</maml:name>
          <maml:description>
            <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched for here and its `Id` is returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>articleId</maml:name>
          <maml:description>
            <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>articleUid</maml:name>
          <maml:description>
            <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
          <dev:type>
            <maml:name>Guid</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>articleId</maml:name>
        <maml:description>
          <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>articleNo</maml:name>
        <maml:description>
          <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched for here and its `Id` is returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>articleUid</maml:name>
        <maml:description>
          <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
        <dev:type>
          <maml:name>Guid</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>barcode</maml:name>
        <maml:description>
          <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------ Example 1:Retrieves the stock data for an article ------</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaStock -articleNo '12345' -udl 'C:\temp\Eulanda_1 Eulanda.udl'
 
&lt;LAGER&gt;
    &lt;BESTANDVERFUEGBAR&gt;280&lt;/BESTANDVERFUEGBAR&gt;
    &lt;BESTANDVERFUEGBAR1&gt;189&lt;/BESTANDVERFUEGBAR1&gt;
    &lt;BESTANDVERFUEGBAR2&gt;350&lt;/BESTANDVERFUEGBAR2&gt;
&lt;/LAGER&gt;</dev:code>
        <dev:remarks>
          <maml:para>Retrieves the stock information for the article with number '12345' using the UDL file located at 'C:\temp\Eulanda_1 Eulanda.udl'.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaStock.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-XmlEulandaTierPrice</command:name>
      <command:verb>Get</command:verb>
      <command:noun>XmlEulandaTierPrice</command:noun>
      <maml:description>
        <maml:para>Retrieves the tier prices for an article from the EULANDA ERP software, either from the regular tier price table or by simulating them based on the article's rebate group and a list of customer groups.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Get-XmlEulandaTierPrice` function retrieves the tier prices for an article from the EULANDA ERP software by connecting to the SQL database and executing a SQL query. The article can be identified by its barcode, article number, article ID, or article UID. At least one of these parameters must be specified. The function supports three ways of specifying the database connection: a UDL file, a connection string, or a connection object.</maml:para>
      <maml:para>The function can retrieve the tier prices from the regular tier price table or simulate them based on the article's rebate group and a list of customer groups. If the `customerGroups` parameter is specified, the function simulates the tier price structure for the article based on the rebate group and a list of customer groups, and returns the simulated prices as an XML structure. If the `customerGroups` parameter is not specified, the function retrieves the tier prices from the regular tier price table and returns them as an XML structure.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-XmlEulandaTierPrice</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>barcode</maml:name>
          <maml:description>
            <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>articleNo</maml:name>
          <maml:description>
            <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched for here and its `Id` is returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>articleId</maml:name>
          <maml:description>
            <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>articleUid</maml:name>
          <maml:description>
            <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
          <dev:type>
            <maml:name>Guid</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>customerGroups</maml:name>
          <maml:description>
            <maml:para>When specifying the `customerGroups` parameter, you can either provide a single customer group or multiple groups separated by commas. If the parameter is specified, the function generates a simulated tier price list based on the discounts of the group(s) provided.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>articleId</maml:name>
        <maml:description>
          <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>articleNo</maml:name>
        <maml:description>
          <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched for here and its `Id` is returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>articleUid</maml:name>
        <maml:description>
          <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
        <dev:type>
          <maml:name>Guid</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>barcode</maml:name>
        <maml:description>
          <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>customerGroups</maml:name>
        <maml:description>
          <maml:para>When specifying the `customerGroups` parameter, you can either provide a single customer group or multiple groups separated by commas. If the parameter is specified, the function generates a simulated tier price list based on the discounts of the group(s) provided.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--- Example 1:Get simulated tier prices for customer groups ---</maml:title>
        <dev:code>PS C:\&gt; Get-XmlEulandaTierPrice -articleNo '1100' -customerGroups 'HA,HB,HC' -udl 'C:\temp\Eulanda_1 JohnDoe.udl'
 
&lt;PREISLISTE&gt;
    &lt;PREIS&gt;
        &lt;NAME&gt;HA&lt;/NAME&gt;
        &lt;WAEHRUNG&gt;EUR&lt;/WAEHRUNG&gt;
        &lt;BRUTTOFLG&gt;0&lt;/BRUTTOFLG&gt;
        &lt;STAFFEL&gt;1&lt;/STAFFEL&gt;
        &lt;MENGEAB&gt;1.00&lt;/MENGEAB&gt;
        &lt;VK&gt;297.5&lt;/VK&gt;
    &lt;/PREIS&gt;
    &lt;PREIS&gt;
        &lt;NAME&gt;HB&lt;/NAME&gt;
        &lt;WAEHRUNG&gt;EUR&lt;/WAEHRUNG&gt;
        &lt;BRUTTOFLG&gt;0&lt;/BRUTTOFLG&gt;
        &lt;STAFFEL&gt;1&lt;/STAFFEL&gt;
        &lt;MENGEAB&gt;1.00&lt;/MENGEAB&gt;
        &lt;VK&gt;262.5&lt;/VK&gt;
    &lt;/PREIS&gt;
    &lt;PREIS&gt;
        &lt;NAME&gt;HC&lt;/NAME&gt;
        &lt;WAEHRUNG&gt;EUR&lt;/WAEHRUNG&gt;
        &lt;BRUTTOFLG&gt;0&lt;/BRUTTOFLG&gt;
        &lt;STAFFEL&gt;1&lt;/STAFFEL&gt;
        &lt;MENGEAB&gt;1.00&lt;/MENGEAB&gt;
        &lt;VK&gt;227.5&lt;/VK&gt;
    &lt;/PREIS&gt;
&lt;/PREISLISTE&gt;</dev:code>
        <dev:remarks>
          <maml:para>Retrieves the tier prices for the article with article number '1100', using the UDL file located at `C:\temp\Eulanda_1 JohnDoe.udl`. The function simulates the tier price structure based on the article's rebate group and the customer groups 'HA', 'HB', and 'HC', and returns the simulated prices as an XML structure.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Get-XmlEulandaTierPrice.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Hide-Extensions</command:name>
      <command:verb>Hide</command:verb>
      <command:noun>Extensions</command:noun>
      <maml:description>
        <maml:para>Hides the 'Hide extension' option in Windows File Explorer</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Windows file explorer hides the file extensions for known files. If this option is not set, it can be set again via Hide-Extensions.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Hide-Extensions</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Hides the extension in Windows file explorer ----</maml:title>
        <dev:code>PS C:\&gt; Hide-Extensions</dev:code>
        <dev:remarks>
          <maml:para>This suppresses the display of file extensions for known files.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Hide-Extensions.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Show-Extensions</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Update-Desktop</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Install-SignTool</command:name>
      <command:verb>Install</command:verb>
      <command:noun>SignTool</command:noun>
      <maml:description>
        <maml:para>Download the Windows SDK, unzip the SignTool and install the SignTool.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function has no other dependences to EulandaConnect module. The download of the Windows SDK and the unpacking of the SignTool as well as the subsequent installation are performed without specifying any parameters. </maml:para>
      <maml:para>The current version of the Windows 11 SDK is always loaded, which can currently (2023/02) also be taken for Windows 10. The download of the SDK also takes a little longer, because it is about 1.5 GB.</maml:para>
      <maml:para>At the end of the installation, the ISO file is deleted unless the `leaveIso` switch has been specified. If the installation is performed, the installer files of the SignTool will be deleted also after installation. </maml:para>
      <maml:para>If no installation is to be performed, this can be specified with the `noInstall` switch, in which case the SignTool installation files will not be deleted. </maml:para>
      <maml:para>The folder name of the SignTools gets the current build number of the SDK. If you don't want a build number in the folder name, this can be specified by the switch `noBuild`. By default the base path for the ISO as well as the folder SignTool is the temp folder. With `isoBasePath` and `signToolBasePath` you can specify your own base path.</maml:para>
      <maml:para>&gt; ATTENTION : &gt; The installation of SignTool, which is executed at the end of the process, requires elevated rights (= administrator rights) to install. If you are unsure you can look at the section in the source code of the module. It does not use any external dependencies. EulandaConnect is also signed with EV, currently the highest level of application signing.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Install-SignTool</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>signToolBasePath</maml:name>
          <maml:description>
            <maml:para>The default base path is the desktop. The folder for the files is SignTool(BuildNo) or just SignTool , if the switch `noBuild` is specified.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>"$([Environment]::GetFolderPath("Desktop"))"</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>isoBasePath</maml:name>
          <maml:description>
            <maml:para>The default base path is the temp folder .</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>"$([Environment]::GetFolderPath("Desktop"))"</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>leaveIso</maml:name>
          <maml:description>
            <maml:para>After installation process, the iso image is not deleted.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noBuild</maml:name>
          <maml:description>
            <maml:para>The SignTool path is used without build number, so it is always downloaded in the same folder.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noInstall</maml:name>
          <maml:description>
            <maml:para>No installation of SignTool will be performed, so SignTool with all installation files will remain in its folder.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>url</maml:name>
          <maml:description>
            <maml:para>Specifies the URL where the Windows SDK can be found. The default URL is `https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/`</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>isoBasePath</maml:name>
        <maml:description>
          <maml:para>The default base path is the temp folder .</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>"$([Environment]::GetFolderPath("Desktop"))"</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>leaveIso</maml:name>
        <maml:description>
          <maml:para>After installation process, the iso image is not deleted.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noBuild</maml:name>
        <maml:description>
          <maml:para>The SignTool path is used without build number, so it is always downloaded in the same folder.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noInstall</maml:name>
        <maml:description>
          <maml:para>No installation of SignTool will be performed, so SignTool with all installation files will remain in its folder.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>signToolBasePath</maml:name>
        <maml:description>
          <maml:para>The default base path is the desktop. The folder for the files is SignTool(BuildNo) or just SignTool , if the switch `noBuild` is specified.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>"$([Environment]::GetFolderPath("Desktop"))"</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>url</maml:name>
        <maml:description>
          <maml:para>Specifies the URL where the Windows SDK can be found. The default URL is `https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/`</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------- Example 1:Install actual version of signtool ---------</maml:title>
        <dev:code>PS C:\&gt; Install-SignTool</dev:code>
        <dev:remarks>
          <maml:para>This installs the current version of signtool. It is loaded from https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Install-SignTool.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Approve-Signature</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-SignToolPath</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-ConnStr</command:name>
      <command:verb>New</command:verb>
      <command:noun>ConnStr</command:noun>
      <maml:description>
        <maml:para>Creates a connection string for the OLE DB driver of the SQL server</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Generates a connection string to access a MSSQL Server database using ADO. The 'Microsoft OLE DB Provider for SQL Server' is supported. Either Windows authentication or SQL authentication is used, depending on whether a username and password are provided. Without these two fields, Windows authentication is used, meaning the credentials of the logged-in user are employed.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-ConnStr</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>database</maml:name>
          <maml:description>
            <maml:para>The name of the database to connect to.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>server</maml:name>
          <maml:description>
            <maml:para>The name of the MSSQL server. This can also contain the instance name. If one is used, it must be specified with backslah. The name of the server can also be an IP address like 192.168.178.20. If a server is specified, the UDL, Conn and ConnStr parameters are ignored. If the server name is used, there are two methods, Windows authentication and SQL authentication. In the first variant, the user name and password are omitted. The logged-in user is then used.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>user</maml:name>
          <maml:description>
            <maml:para>If the user is specified, a password is also required. SQL authentication is used as authentication and a server name is expected.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>password</maml:name>
          <maml:description>
            <maml:para>The password to be connected to the database. In any case, this also includes the user name.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>database</maml:name>
        <maml:description>
          <maml:para>The name of the database to connect to.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>password</maml:name>
        <maml:description>
          <maml:para>The password to be connected to the database. In any case, this also includes the user name.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>server</maml:name>
        <maml:description>
          <maml:para>The name of the MSSQL server. This can also contain the instance name. If one is used, it must be specified with backslah. The name of the server can also be an IP address like 192.168.178.20. If a server is specified, the UDL, Conn and ConnStr parameters are ignored. If the server name is used, there are two methods, Windows authentication and SQL authentication. In the first variant, the user name and password are omitted. The logged-in user is then used.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>user</maml:name>
        <maml:description>
          <maml:para>If the user is specified, a password is also required. SQL authentication is used as authentication and a server name is expected.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Generates a connection string based on the database and server instance.</maml:title>
        <dev:code>PS C:\&gt; New-ConnStr -database 'EULANDA_JohnDoe' -Server '.\SQL2019'
 
Provider=SQLOLEDB.1;Data Source=.\SQL2019;Initial Catalog=EULANDA_JohnDoe;Integrated Security=SSPI</dev:code>
        <dev:remarks>
          <maml:para>In this example, using the database name 'EULANDA_JohnDoe' and the local server instance 'SQL2019', the above-mentioned connection string is generated.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/New-ConnStr.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-Delivery</command:name>
      <command:verb>New</command:verb>
      <command:noun>Delivery</command:noun>
      <maml:description>
        <maml:para>Creates a delivery bill based on a sales order</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This will create a delivery bill. The sales order ID of a completed, i.e. booked order is transferred. In addition, a connection to the ERP database is required. As a result, all deliverable order items are transferred to a delivery bill. The function returns the new delivery bill Id as a result.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-Delivery</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>salesOrderId</maml:name>
          <maml:description>
            <maml:para>The `SalesOrderId` is the `ID` of the header record of the sales order. The `ID` is always unique throughout the table.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>customerOrderNo</maml:name>
          <maml:description>
            <maml:para>This is the customer's order number. It is typically passed from an external system, such as an online shop system, to the ERP (Enterprise Resource Planning) system as a unique reference. It should be noted that this value is not defined as unique in the ERP system's database itself.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>salesOrderNo</maml:name>
          <maml:description>
            <maml:para>The `SalesOrderNo` is the userfriendly `number` of the header record of the sales order. The `number` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>salesOrderId</maml:name>
        <maml:description>
          <maml:para>The `SalesOrderId` is the `ID` of the header record of the sales order. The `ID` is always unique throughout the table.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>customerOrderNo</maml:name>
        <maml:description>
          <maml:para>This is the customer's order number. It is typically passed from an external system, such as an online shop system, to the ERP (Enterprise Resource Planning) system as a unique reference. It should be noted that this value is not defined as unique in the ERP system's database itself.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>salesOrderNo</maml:name>
        <maml:description>
          <maml:para>The `SalesOrderNo` is the userfriendly `number` of the header record of the sales order. The `number` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Converts an order into a delivery bill and returns its Id</maml:title>
        <dev:code>PS C:\&gt; [int]$deliveryId
PS C:\&gt; $deliveryId= New-Delivery -salesOrderId 25 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>Here the 25 and a UDL file are transferred as sales order ID. In this case, the order is completely booked into a delivery bill, if the stock level permits this. The new delivery bill ID is returned as the function result.</maml:para>
          <maml:para>&gt; If you switch off the warehouse management completely or for certain articles in the ERP system, no warehouse check is carried out.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/New-Delivery.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-DeliveryPropertyItem</command:name>
      <command:verb>New</command:verb>
      <command:noun>DeliveryPropertyItem</command:noun>
      <maml:description>
        <maml:para>Sets a new property in the property tree for a delivery</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>In the ERP system, you can set any property for any data object, including a delivery bill. Properties can be stored in structures similar to a tree. A delivery bill can exist in any properties of the tree. Thus, the property also has an ID, the property ID. This function can be used to set a property to a delivery bill specified by either its delivery bill number or its id. The connection to the database can be done either by a connection object, a connection string or the specification of a UDL file.</maml:para>
      <maml:para>You can see what a property tree looks like in Example 1.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-DeliveryPropertyItem</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>propertyId</maml:name>
          <maml:description>
            <maml:para>The property ID is determined directly in the ERP system by clicking on the property name with the right mouse button and noting the displayed ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>propertyId</maml:name>
        <maml:description>
          <maml:para>The property ID is determined directly in the ERP system by clicking on the property name with the right mouse button and noting the displayed ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----------- Example 1:How a property tree looks like -----------</maml:title>
        <dev:code>Delivery Notes/
├─ My Properties/
├─ Delivery Status/
│ ├─ Complete
│ ├─ Over Delivered
│ ├─ Under Delivered
├─ Tracking Information/
│ ├─ Partial Missing
│ ├─ Complete
│ ├─ All Missing
├─ Locked for Retransmission</dev:code>
        <dev:remarks>
          <maml:para>This property tree is just an example. Using this structure, all delivery bills that are assigned to this property can be displayed immediately in the ERP system. Setting these properties can be done via this API. For example, when the tracking data is delivered by the shipping company and imported by a module. For example, if all shipments have tracking, the property `Complete` is set.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>------- Example 2:New Property Item for a Delivery Note -------</maml:title>
        <dev:code>PS C:\&gt; New-DeliveryPropertyItem -propertyId 125 -deliveryNo 20230515 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>This function sets the property, which internally has the Id 25, in the delivery bill with the number 20230515. The database is specified via a UDL file. The property ID is determined directly in the ERP system by clicking on the property name with the right mouse button and noting the displayed ID.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/New-DeliveryPropertyItem.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-EulException</command:name>
      <command:verb>New</command:verb>
      <command:noun>EulException</command:noun>
      <maml:description>
        <maml:para>Creates a custom exception object</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates a custom exception object with an additional parameter for an extended message.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-EulException</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>message</maml:name>
          <maml:description>
            <maml:para>Message as for the standard exception.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>additionalData</maml:name>
          <maml:description>
            <maml:para>Additional data, which is passed to the exception.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>additionalData</maml:name>
        <maml:description>
          <maml:para>Additional data, which is passed to the exception.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>message</maml:name>
        <maml:description>
          <maml:para>Message as for the standard exception.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----- Example 1:Simple scenario for an extended exception -----</maml:title>
        <dev:code>try {
    Throw [EulException]::new("This is my error with two parameters", "My second parameter")
} catch [EulException] {
    Write-Host "ERROR Message: $_ More info: $($_.Exception.additionalData)" -ForegroundColor Red
    Exit 1
} catch {
    Write-Host "ERROR Message: $_" -ForegroundColor Red
}</dev:code>
        <dev:remarks>
          <maml:para>Show how to get the extended error message from that class.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/New-EulException.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-EulLog</command:name>
      <command:verb>New</command:verb>
      <command:noun>EulLog</command:noun>
      <maml:description>
        <maml:para>Writes messages to a text file to log events</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>After creating this class, the first thing that is written away is a message 'Initialization'. Messages can be saved during runtime using the Put method. The output file is written to the subfolder 'event' with as tab-delimited text file and eacht entriy is saved with the local time. </maml:para>
      <maml:para>To distinguish that the Pu methods belong to the object just created, a ProcessId is stored. </maml:para>
      <maml:para>In the simplest case the method Put is used with the message as parameter. Alternatively, a level, i.e. the importance, can be specified. If level is not specified, '0' is used as default. If an event group is to be stored, then the parameter Group is to be used. If this is not specified, the default value '(default)' is used.</maml:para>
      <maml:para>The class EulLog should be created in the main script. This way Dispose can be used in the Finlally block. This will write away a message with the text 'Finalization' when the class exits.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-EulLog</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>name</maml:name>
          <maml:description>
            <maml:para>A short message that is automatically written to all put messages.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>Root path for the output file. All files are stored in the subfolder `event` .</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>name</maml:name>
        <maml:description>
          <maml:para>A short message that is automatically written to all put messages.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>Root path for the output file. All files are stored in the subfolder `event` .</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------ Example 1:Creates EulLog and stores some messages ------</maml:title>
        <dev:code>$evt= New-EulLog 'MySection' 'C:\temp'
try {
    $evt.put("before calculation")
    $i = 5+6
    $evt.put("after calculation")
} finally {
    $evt.dispose()
}
 
2023-02-25 17:37:20 MySection 28668e21-82c6-4906-8ba8-edff3e45647c 0 (default) Initialization
2023-02-25 17:37:20 MySection 28668e21-82c6-4906-8ba8-edff3e45647c 0 (default) before calculation
2023-02-25 17:37:20 MySection 28668e21-82c6-4906-8ba8-edff3e45647c 0 (default) after calculation
2023-02-25 17:37:20 MySection 28668e21-82c6-4906-8ba8-edff3e45647c 0 (default) Finalization</dev:code>
        <dev:remarks>
          <maml:para>The class EulLog is created. This already creates an entry in the output file. Various messages can now be output via the Put method. When the script is terminated, the Finally block ensures that the Dispose method writes away a Closing message. In the output, the time is stored in local notation and also the ProcessId. This makes it easy to filter the messages that originated with a process.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/New-EulLog.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-SalesOrder</command:name>
      <command:verb>New</command:verb>
      <command:noun>SalesOrder</command:noun>
      <maml:description>
        <maml:para>Creates a new sales order</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Based on the ID of the invoice recipient's address, an order header is created and its Id is returned as the function result. The connection to the database is opened by specifying a connection object, which can be a connection, a connection string or a path specification of a UDL file.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-SalesOrder</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>invoiceAddressId</maml:name>
          <maml:description>
            <maml:para>The Id of the billing address</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>invoiceAddressId</maml:name>
        <maml:description>
          <maml:para>The Id of the billing address</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------- Example 1:Creates the order header --------------</maml:title>
        <dev:code>PS C:\&gt; [int]$salesOrderId= New-SalesOrder -invoiceAddressId 25 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>The function is passed the id of an existing address. This address is then the invoice recipient. The other parameter is the database connection. This is done in this example by a UDL file. After creating the header, the Id of the order header is returned as the function result. With this you can add fields to the header data via a further SQL update command. This ID is also needed to add positions to this order.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/New-SalesOrder.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-Shortcut</command:name>
      <command:verb>New</command:verb>
      <command:noun>Shortcut</command:noun>
      <maml:description>
        <maml:para>Creates a shortcut to the specified file</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>A shortcut is created for the file specified in the `File` parameter. The location of the link is specified via the `link` parameter. If the shortcut already exists, the function is ignored. The name of the link must have the extension `.lnk`.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-Shortcut</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>file</maml:name>
          <maml:description>
            <maml:para>File including the complete path.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>link</maml:name>
          <maml:description>
            <maml:para>Path with the name of the link and the `.lnk` file extension.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>file</maml:name>
        <maml:description>
          <maml:para>File including the complete path.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>link</maml:name>
        <maml:description>
          <maml:para>Path with the name of the link and the `.lnk` file extension.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------- Example 1:Creates a shortcut to the Desktop ---------</maml:title>
        <dev:code>PS C:\&gt; New-Shortcut -file 'C:\Windows\System32\Notepad.exe' -link "$(Get-DesktopDir)\IamHere.lnk"</dev:code>
        <dev:remarks>
          <maml:para>Sets a link to Windows Notepad and creates it on the desktop.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/New-Shortcut.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-Table</command:name>
      <command:verb>New</command:verb>
      <command:noun>Table</command:noun>
      <maml:description>
        <maml:para>Creates a data table in memory</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Uses the System.Data.DataTable object to create a table with column names. The column names can be passed either as an array of strings or as a comma-separated string. There is an option to append a data type to each column name by extending the name with `/?` For example `MyDate/?DateTime`. The name of the table is created as a global variable.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-Table</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>tableName</maml:name>
          <maml:description>
            <maml:para>Name of the table. This name is used as a global variable.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>columnNames</maml:name>
          <maml:description>
            <maml:para>List of column names passed either as a comma separated list or as an array of strings. Each field name can be given a special data type by appending `/?`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>columnNames</maml:name>
        <maml:description>
          <maml:para>List of column names passed either as a comma separated list or as an array of strings. Each field name can be given a special data type by appending `/?`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>tableName</maml:name>
        <maml:description>
          <maml:para>Name of the table. This name is used as a global variable.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----------- Example 1:Creates a table and adds rows -----------</maml:title>
        <dev:code>PS C:\&gt; New-Table -TableName 'TestTable' -columnNames 'Field1,Field2,Field3/?DateTime'
PS C:\&gt; [void]$TestTable.Rows.Add('John','Doe',$(Get-Date))
PS C:\&gt; [void]$TestTable.Rows.Add('Max','Mustermann','2020-05-20')
PS C:\&gt; $TestTable.Rows[0].Field1
 
# Output
 
John</dev:code>
        <dev:remarks>
          <maml:para>Once created, the added rows can be accessed directly. Here the first added row is used and there the field `Field1` is retrieved.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>--------------- Example 2:Datatype in PowerShell ---------------</maml:title>
        <dev:code>┌─────────────────┬───────────────────────────────────────────────────────────────────┐
│ Type │ Description │
├─────────────────┼───────────────────────────────────────────────────────────────────┤
│ bool │ Boolean with value true or false │
│ switch │ PowerShell switch is like Boolean, but it could be present or not │
│ datetime │ Combination of date and time │
│ timespan │ A time interval │
│ byte │ An 8-bit unsigned integer │
│ sbyte │ An 8-bit signed integer │
│ int32 or int │ 32 bit Integer │
│ uint │ A 32-bit unsigned integer │
│ long │ 64 bit Integer │
│ ulong │ A 64-bit unsigned integer │
│ single or float │ Floating point numbers │
│ double │ Floating point more precise │
│ decimal │ A decimal number with 28-29 significant digits │
│ char │ Single character │
│ string │ Continuous text │
│ null │ Represents a null or undefined value │
│ void │ Represents no value │
│ array │ Array │
│ hashtable │ Is a collection of key and value pairs │
│ xml │ Xml document │
│ guid │ 32 bit GUID like d7872426-c7b8-4161-a132-b5643023e593 │
│ scriptblock │ A block of script code that can be invoked │
│ psobject │ PowerShell object │
│ object │ A generic object │
│ regex │ A regular expression object │
└─────────────────┴───────────────────────────────────────────────────────────────────┘</dev:code>
        <dev:remarks>
          <maml:para>This is an example of data types in PowerShell. Not all of them can be used, but the first part of common data types should work.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/New-Table.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>New-TempDir</command:name>
      <command:verb>New</command:verb>
      <command:noun>TempDir</command:noun>
      <maml:description>
        <maml:para>Creates a random folder in the temporary files directory</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates a randomly named folder in the temporary files directory and returns its path.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-TempDir</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------------- Example 1:Creates a temp folder ---------------</maml:title>
        <dev:code>PS C:\&gt; New-TempDir
 
# Output
 
C:\Users\John\AppData\Local\Temp\42e18af7-dae8-47ea-a09f-7382727f3611</dev:code>
        <dev:remarks>
          <maml:para>Creates a randomly named folder in the temporary files directory and returns the path to this folder.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/New-TempDir.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Open-Delivery</command:name>
      <command:verb>Open</command:verb>
      <command:noun>Delivery</command:noun>
      <maml:description>
        <maml:para>When opening a delivery note, the reservations are released and it is in edit mode again.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>If the delivery note has been booked but not yet invoiced, it can be reopened using this function. The reservations will be released and the quantities can now be modified.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Open-Delivery</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The `DeliveryId` is the `ID` of the header record of the delivery bill. The `ID` is always unique throughout the table.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The DeliveryNo is the delivery bill number of the record. It is the number used in the business correspondence and of course in the delivery bill itself. It is also unique.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The `DeliveryId` is the `ID` of the header record of the delivery bill. The `ID` is always unique throughout the table.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The DeliveryNo is the delivery bill number of the record. It is the number used in the business correspondence and of course in the delivery bill itself. It is also unique.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- Example 1:Open the Delivery Note 202305230 ----------</maml:title>
        <dev:code>PS C:\&gt; Open-Delivery -deliveryNo 202305230 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>Open the delivery note with number 202305230. The database connection is established using the specified UDL file. The delivery note must be booked but not invoiced yet.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Open-Delivery.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Close-Delivery</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Out-Beep</command:name>
      <command:verb>Out</command:verb>
      <command:noun>Beep</command:noun>
      <maml:description>
        <maml:para>Sends a beep to the speaker</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sends a short sound to the speaker of the Windows PC.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Out-Beep</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------------ Example 1:Sends a sound to the speaker ------------</maml:title>
        <dev:code>PS C:\&gt; Out-Beep</dev:code>
        <dev:remarks>
          <maml:para>Sends a sound to the speaker.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Out-Beep.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Out-Goodbye</command:name>
      <command:verb>Out</command:verb>
      <command:noun>Goodbye</command:noun>
      <maml:description>
        <maml:para>Shows time span of the running script</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Out-Welcome is called at the beginning of a script and Out-Goodbye at the end of the script. This displays at the end the time that the script took for the entire execution between the two commands. There are two switch values with which you can control whether at the end of the script should be output that the execution was successful or with errors.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Out-Goodbye</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>abnormally</maml:name>
          <maml:description>
            <maml:para>The text `Job finished abnormally` is displayed in red at the end of the duration.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>normally</maml:name>
          <maml:description>
            <maml:para>The text `Job finished normally` is displayed in blue at the end of the duration.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>abnormally</maml:name>
        <maml:description>
          <maml:para>The text `Job finished abnormally` is displayed in red at the end of the duration.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>normally</maml:name>
        <maml:description>
          <maml:para>The text `Job finished normally` is displayed in blue at the end of the duration.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Output of the goodby message for successful execution</maml:title>
        <dev:code>PS C:\&gt; Out-Goodbye -normally
 
# Output
 
Execution start: 02/26/2023 09:38:38
Execution end: 02/26/2023 09:38:57
Duration: 18,99 seconds
Job finished normally</dev:code>
        <dev:remarks>
          <maml:para>The output is intended to be called at the end of a script. In this case, the error values can be used to decide whether this should be displayed or not.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Out-Goodbye.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Out-Welcome</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Out-Welcome</command:name>
      <command:verb>Out</command:verb>
      <command:noun>Welcome</command:noun>
      <maml:description>
        <maml:para>Displays an opening output with start time</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates the EULANDA logo in the output incl. the start time, the scriptdir name and if available the project name. The start time is stored in the `$startTime` global variable. When leaving with `out-goodby`, the execution time of the script is then also displayed.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Out-Welcome</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noBanner</maml:name>
          <maml:description>
            <maml:para>Suppresses the banner output of the EULANDA logo.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>noInfo</maml:name>
          <maml:description>
            <maml:para>No additional information is displayed, only, if not suppressed the logo.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>projectScript</maml:name>
          <maml:description>
            <maml:para>The complete script path including the name of the script can be passed here from the main script. From this the project version and the project name are formed and stored in the global variables `$global:projectName` and `$global:projectVersion`. Additionally, as soon as Out-Welcome is called, it changes to this folder. The `$PSCommandPath` automatic variable then gives the desired value in the main script.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>culture</maml:name>
          <maml:description>
            <maml:para>The culture can be changed here script-wide. This also has an immediate effect on the displayed strings if they are read from a resource file. This is for example the case with the information in Out-Welcome. Here English and German are delivered. The culture is specified with `-culture de-DE`, for example.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noBanner</maml:name>
        <maml:description>
          <maml:para>Suppresses the banner output of the EULANDA logo.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>noInfo</maml:name>
        <maml:description>
          <maml:para>No additional information is displayed, only, if not suppressed the logo.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>projectScript</maml:name>
        <maml:description>
          <maml:para>The complete script path including the name of the script can be passed here from the main script. From this the project version and the project name are formed and stored in the global variables `$global:projectName` and `$global:projectVersion`. Additionally, as soon as Out-Welcome is called, it changes to this folder. The `$PSCommandPath` automatic variable then gives the desired value in the main script.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>culture</maml:name>
        <maml:description>
          <maml:para>The culture can be changed here script-wide. This also has an immediate effect on the displayed strings if they are read from a resource file. This is for example the case with the information in Out-Welcome. Here English and German are delivered. The culture is specified with `-culture de-DE`, for example.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------------- Example 1:Displays an opening output -------------</maml:title>
        <dev:code>PS C:\&gt; Out-Welcome
 
# Output
          ________ ____ ___ _ ______ ___
         / ____/ / / / / / | / | / / __ \/ |
        / __/ / / / / / / /| | / |/ / / / / /| |
       / /___/ /_/ / /___/ ___ |/ /| / /_/ / ___ |
      /_____/\____/_____/_/ |_/_/ |_/_____/_/ |_|
         _____ ______
        / ___/____ / __/ /__ ______ _________
        \__ \/ __ \/ /_/ __/ | /| / / __ / ___/ _ \
       ___/ / /_/ / __/ /_ | |/ |/ / /_/ / / / __/
      /____/\____/_/ \__/ |__/|__/\__,_/_/ \___/
 
Version: 2.5
Script path: C:\Powershell\EulandaConnect\MyScript
Execution start: 02/26/2023 09:38:38</dev:code>
        <dev:remarks>
          <maml:para>Displays the welcome screen and some information like the start time and the script path.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Out-Welcome.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Out-Goodbye</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Protect-String</command:name>
      <command:verb>Protect</command:verb>
      <command:noun>String</command:noun>
      <maml:description>
        <maml:para>Encrypts a text using a key</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function is passed a text to encrypt via the `plainText` parameter. The string specified in the key parameter must be either 32 or 16 characters long. Intermediate sizes are padded, but reduce security. If a key is passed that is longer than 32 characters, an exception is thrown. The counterpart to the function is `Unprotect-String`.</maml:para>
      <maml:para>The key must be identical for encryption and decryption.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Protect-String</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>plainText</maml:name>
          <maml:description>
            <maml:para>The free text to be encrypted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>key</maml:name>
          <maml:description>
            <maml:para>The key that is used for encryption. It should contain either 16 or 32 characters. An exception is thrown for larger values.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>key</maml:name>
        <maml:description>
          <maml:para>The key that is used for encryption. It should contain either 16 or 32 characters. An exception is thrown for larger values.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>plainText</maml:name>
        <maml:description>
          <maml:para>The free text to be encrypted.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------------ Example 1:Encrypts a text using a key ------------</maml:title>
        <dev:code>PS C:\&gt; [string]$protected= Protect-String -plainText 'I am unsecure' -key 'x&amp;=Ogbu7$43lkn4i'
 
# Output
 
76492d1116743f0423413b16050a5345MgB8AC8ATABrAGwAQgA3AFAARABOAEYAQwArAEIATABwAGEAagBGAFUAQQBUAHcAPQA9AHwAMAAyADEAZABhAGQAMQA1ADQAZgBiADQAZABiADMAOQA4AGMANQA1ADIANQA4ADIANgAyAGMAYgBmAGUANQBjAGEAMgAxADMAMAA3ADQAZQAyAGMAYQA0ADAAMgBjAGYAZQA3ADMAMgAyADgANQAwADcANwA3ADQANABmADEANgA=</dev:code>
        <dev:remarks>
          <maml:para>The text `I am unsecure` is encrypted using the key `x&amp;=Ogbu7$43lkn4i` and stored in the variable `$protected`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Protect-String.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Unprotect-String</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Read-IniFile</command:name>
      <command:verb>Read</command:verb>
      <command:noun>IniFile</command:noun>
      <maml:description>
        <maml:para>Reads a classic Windows ini file</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function reads a classic Windows ini file with sections and values into a nested hash table. The values can then be accessed by specifying the section name and the field name. Comments in the ini file are skipped.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Read-IniFile</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>Path to the ini file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">FileInfo</command:parameterValue>
          <dev:type>
            <maml:name>FileInfo</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>Path to the ini file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">FileInfo</command:parameterValue>
        <dev:type>
          <maml:name>FileInfo</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>PowerShell unfortunately does not have a built-in function to process classic INI files. For new projects you will rather use YAML. But for older projects or backwards compatibility this is a viable alternative.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----------------- Example 1:Reads Win.ini file -----------------</maml:title>
        <dev:code>PS C:\&gt; $ini= Read-IniFile -Path C:\Windows\win.ini
PS C:\&gt; $ini
 
# Output
 
Name Value
---- -----
fonts {}
mci extensions {}
Mail {[MAPI, 1]}
extensions {}
files {}
No-Section {}
 
PS C:\&gt; $ini['Mail']['Mapi']
 
# Output
 
1</dev:code>
        <dev:remarks>
          <maml:para>Reads the Windows ini file into the $ini variable. Then you can access the `MAPI` label of the `Mail` section and read the value.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Read-IniFile.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-IniBool</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Read-VersionFromSynopsis</command:name>
      <command:verb>Read</command:verb>
      <command:noun>VersionFromSynopsis</command:noun>
      <maml:description>
        <maml:para>Get the version number from the synopsis of a ps1 file</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The synopsis normally does not contain a version number. However, it has become common practice to store this in the .NOTES area. If a valid version number is found there, it will be returned. The version number must be stored there in the form: `Version 1.5.2` etc. The PowerShell file is specified in the path parameter. The maximum number of lines to search the synopsis at the beginning of the file can be specified in `maxLines`. The default value is 250 lines.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Read-VersionFromSynopsis</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>Path to the PowerShell ps1 file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>maxLines</maml:name>
          <maml:description>
            <maml:para>The max. quantity of lines which are read. If the version is not found, the function returns 0.0.-1.-1</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>maxLines</maml:name>
        <maml:description>
          <maml:para>The max. quantity of lines which are read. If the version is not found, the function returns 0.0.-1.-1</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>Path to the PowerShell ps1 file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------- Example 1:Read the Version number --------------</maml:title>
        <dev:code>PS C:\&gt; [version]$v = Read-VersionFromSynopsis -path "$PsScriptRoot\MyProject.ps1"
 
# Output
 
1.5.2</dev:code>
        <dev:remarks>
          <maml:para>The PowerShell file `MyProject.ps1` is read and searched for the version entry.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Read-VersionFromSynopsis.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Receive-SftpFile</command:name>
      <command:verb>Receive</command:verb>
      <command:noun>SftpFile</command:noun>
      <maml:description>
        <maml:para>Receives a file from an SFTP server</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Receive-SftpFile receives a file from a SFTP server. Currently only the username and a password are used for authentication. Certificates and key management are planned for the future. The function call requires a valid license key.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Receive-SftpFile</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>server</maml:name>
          <maml:description>
            <maml:para>IP number or DNS resolvable name of the SFTP server.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>port</maml:name>
          <maml:description>
            <maml:para>Port number of the SFTP server. Default is 22.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>22</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>user</maml:name>
          <maml:description>
            <maml:para>Username for authentication.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>password</maml:name>
          <maml:description>
            <maml:para>Password for authentication.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>remoteFolder</maml:name>
          <maml:description>
            <maml:para>Folder on the SFTP server from which the file is to be loaded. The folder is specified without a trailing slash.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>file</maml:name>
          <maml:description>
            <maml:para>File name to be loaded from the SFTP server. The same file name is also used for local saving.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>localFolder</maml:name>
          <maml:description>
            <maml:para>The folder where the loaded file should be saved. The folder name must not contain an ending backslah.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>comObject</maml:name>
          <maml:description>
            <maml:para>COM object name, this is strongly version dependent. The default is IPWorksSSH.SFTP</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>IPWorksSSH.SFTP</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
          <maml:name>license</maml:name>
          <maml:description>
            <maml:para>The license code consists of a very long string and is module dependent. This means that SFTP needs a different module key than SMTP etc.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>$eulLicense</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>comObject</maml:name>
        <maml:description>
          <maml:para>COM object name, this is strongly version dependent. The default is IPWorksSSH.SFTP</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>IPWorksSSH.SFTP</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>file</maml:name>
        <maml:description>
          <maml:para>File name to be loaded from the SFTP server. The same file name is also used for local saving.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
        <maml:name>license</maml:name>
        <maml:description>
          <maml:para>The license code consists of a very long string and is module dependent. This means that SFTP needs a different module key than SMTP etc.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>$eulLicense</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>localFolder</maml:name>
        <maml:description>
          <maml:para>The folder where the loaded file should be saved. The folder name must not contain an ending backslah.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>password</maml:name>
        <maml:description>
          <maml:para>Password for authentication.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>port</maml:name>
        <maml:description>
          <maml:para>Port number of the SFTP server. Default is 22.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>22</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>remoteFolder</maml:name>
        <maml:description>
          <maml:para>Folder on the SFTP server from which the file is to be loaded. The folder is specified without a trailing slash.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>server</maml:name>
        <maml:description>
          <maml:para>IP number or DNS resolvable name of the SFTP server.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>user</maml:name>
        <maml:description>
          <maml:para>Username for authentication.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para>The necessary ActiveX add-on library comes from N/SOFTWARE, a US company specializing in Internet protocols. The license for this must be purchased separately to be able to use the SFTP protocol.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------- Example 1:Receiving text file from sftp server -------</maml:title>
        <dev:code>$sftpParams = @{
    Server = '192.168.178.5'
    Port = '22'
    User = 'John'
    Password = 'Doe'
    RemoteFolder = '/out'
    License = '11254656212154483154546899878787332'
}
$myFilename= 'test.txt'
Receive-SftpFile @sftpParams -file $myFilename -localFolder "$(Get-DesktopDir)" | Out-Null</dev:code>
        <dev:remarks>
          <maml:para>The text file test.txt is received from the /out folder of the sftp server and stored on the local desktop.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Receive-SftpFile.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-SftpNextFilename</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Remove-SftpFile</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Send-SftpFile</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-DeliveryPropertyItem</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>DeliveryPropertyItem</command:noun>
      <maml:description>
        <maml:para>Removes the delivery bill from the properties list</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>In the ERP system, you can remove a property for a delivery bill. The delivery bill is specified either by its delivery note number or its ID. The connection to the database is made via a connection object, a connection string or the specification of a UDL file.</maml:para>
      <maml:para>You can see what a property tree looks like in Example 1.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-DeliveryPropertyItem</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>propertyId</maml:name>
          <maml:description>
            <maml:para>The property ID is determined directly in the ERP system by clicking on the property name with the right mouse button and noting the displayed ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>propertyId</maml:name>
        <maml:description>
          <maml:para>The property ID is determined directly in the ERP system by clicking on the property name with the right mouse button and noting the displayed ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----------- Example 1:How a property tree looks like -----------</maml:title>
        <dev:code>Delivery Notes/
├─ My Properties/
├─ Delivery Status/
│ ├─ Complete
│ ├─ Over Delivered
│ ├─ Under Delivered
├─ Tracking Information/
│ ├─ Partial Missing
│ ├─ Complete
│ ├─ All Missing
├─ Locked for Retransmission</dev:code>
        <dev:remarks>
          <maml:para>This property tree is just an example. Using this structure, all delivery bills that are assigned to this property can be displayed immediately in the ERP system. Removing these properties can be done via this API.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>Example 2:Removes a property with the specified propertyId from the delivery bill</maml:title>
        <dev:code>PS C:\&gt; Remove-DeliveryPropertyItem -propertyId 125 -deliveryNo 20230515 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>In this example, the property with id 25 is removed from the property tree for the delivery bill with number 20230515. The connection to the database is made via the specified UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Remove-DeliveryPropertyItem.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-ItemWithRetry</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>ItemWithRetry</command:noun>
      <maml:description>
        <maml:para>Delete a file with wait until it is no longer locked</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function deletes the file specified with the -Path parameter. If the file is locked, the function waits until the lock is removed. The maximum waiting time is 50 seconds.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-ItemWithRetry</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>path</maml:name>
          <maml:description>
            <maml:para>Path incl. filename.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>path</maml:name>
        <maml:description>
          <maml:para>Path incl. filename.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------------- Example 1:Deletes a file with retry -------------</maml:title>
        <dev:code>PS C:\&gt; Remove-ItemWithRetry -Path C:\temp\test.txt</dev:code>
        <dev:remarks>
          <maml:para>Deletes the text file `test.txt` in the folder c:\temp , If this is currently in use, the function waits up to 50 seconds and repeats the deletion request during this time.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Remove-ItemWithRetry.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Remove-SftpFile</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>SftpFile</command:noun>
      <maml:description>
        <maml:para>Deletes a file on an SFTP server.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Deletes a file on an SFTP server. Remove-SftpFile is based on a commercial toolbox, and is included as an ActiveX object. Accordingly, the OCX file must be registered once as a server. The function call requires a valid license key.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Remove-SftpFile</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>server</maml:name>
          <maml:description>
            <maml:para>IP number or DNS resolvable name of the SFTP server.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>port</maml:name>
          <maml:description>
            <maml:para>Port number of the SFTP server. Default is 22.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>22</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>user</maml:name>
          <maml:description>
            <maml:para>Username for authentication.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>password</maml:name>
          <maml:description>
            <maml:para>Password for authentication.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>remoteFolder</maml:name>
          <maml:description>
            <maml:para>Folder on the SFTP server from which the file should be deleted. The folder is specified without a trailing slash.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>file</maml:name>
          <maml:description>
            <maml:para>File name to be deleted from the SFTP server.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>comObject</maml:name>
          <maml:description>
            <maml:para>COM object name, this is strongly version dependent. The default is IPWorksSSH.SFTP</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>IPWorksSSH.SFTP</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>license</maml:name>
          <maml:description>
            <maml:para>The license code consists of a very long string and is module dependent. This means that SFTP needs a different module key than SMTP etc.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>$eulLicense</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>comObject</maml:name>
        <maml:description>
          <maml:para>COM object name, this is strongly version dependent. The default is IPWorksSSH.SFTP</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>IPWorksSSH.SFTP</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>file</maml:name>
        <maml:description>
          <maml:para>File name to be deleted from the SFTP server.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>license</maml:name>
        <maml:description>
          <maml:para>The license code consists of a very long string and is module dependent. This means that SFTP needs a different module key than SMTP etc.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>$eulLicense</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>password</maml:name>
        <maml:description>
          <maml:para>Password for authentication.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>port</maml:name>
        <maml:description>
          <maml:para>Port number of the SFTP server. Default is 22.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>22</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>remoteFolder</maml:name>
        <maml:description>
          <maml:para>Folder on the SFTP server from which the file should be deleted. The folder is specified without a trailing slash.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>server</maml:name>
        <maml:description>
          <maml:para>IP number or DNS resolvable name of the SFTP server.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>user</maml:name>
        <maml:description>
          <maml:para>Username for authentication.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para>The necessary ActiveX add-on library comes from N/SOFTWARE, a US company specializing in Internet protocols. The license for this must be purchased separately to be able to use the SFTP protocol.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------- Example 1:Deletes the file on the sftp server --------</maml:title>
        <dev:code>$sftpParams = @{
    Server = '192.168.178.5'
    Port = '22'
    User = 'John'
    Password = 'Doe'
    RemoteFolder = '/out'
    License = '11254656212154483154546899878787332'
}
$myFilename= 'test.txt'
Receive-SftpFile @sftpParams -file $myFilename</dev:code>
        <dev:remarks>
          <maml:para>Deletes the text.txt file in the out folder of the sftp server.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Remove-SftpFile.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Rename-MssqlDatabase</command:name>
      <command:verb>Rename</command:verb>
      <command:noun>MssqlDatabase</command:noun>
      <maml:description>
        <maml:para>Rename any MSSQL database including the logical, physical as well as the file names on the hard disk</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function renames any MSSQL database. This with inclusion of the logical- physical as well as the file names on the hard disk. </maml:para>
      <maml:para>The authorization to the SQL server can be done via the server name and optionally user name and password, and alternatively via a connection string, a UDL file or an already instantiated connection object.</maml:para>
      <maml:para>The database name is specified via the `oldName` parameter and the new name via `newName`. </maml:para>
      <maml:para>Administrative rights on the SQL server are required to execute the function. During the conversion the database is set to single user operation. In case of errors the function generates an exception.</maml:para>
      <maml:para>The function uses the ADO com object to establish the connection and is therefore specially designed for Windows systems.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Rename-MssqlDatabase</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>newName</maml:name>
          <maml:description>
            <maml:para>The new name of the MSSQL database. If it is a database of the EULANDA ERP system it must start with EULANDA_.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>server</maml:name>
          <maml:description>
            <maml:para>The name of the MSSQL server can be specified with its name or IP4 number. An instance name can also be specified via a backslash.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>user</maml:name>
          <maml:description>
            <maml:para>The user name for authentication to the MSSQL server. Here the SQL_Server must support the mixed authentication.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>password</maml:name>
          <maml:description>
            <maml:para>Connection to the MSSQL server can also be done via `server`, `user` and `password` if the server is set up for mixed authentication.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>oldName</maml:name>
          <maml:description>
            <maml:para>The existing name of the database to be changed in the name.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>newName</maml:name>
        <maml:description>
          <maml:para>The new name of the MSSQL database. If it is a database of the EULANDA ERP system it must start with EULANDA_.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>password</maml:name>
        <maml:description>
          <maml:para>Connection to the MSSQL server can also be done via `server`, `user` and `password` if the server is set up for mixed authentication.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>server</maml:name>
        <maml:description>
          <maml:para>The name of the MSSQL server can be specified with its name or IP4 number. An instance name can also be specified via a backslash.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>user</maml:name>
        <maml:description>
          <maml:para>The user name for authentication to the MSSQL server. Here the SQL_Server must support the mixed authentication.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>oldName</maml:name>
        <maml:description>
          <maml:para>The existing name of the database to be changed in the name.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- Example 1:Renaming Database to EULANDA_Doe ----------</maml:title>
        <dev:code>PS C:\&gt; Rename-MssqlDatabase -oldName 'EULANDA_JohnDoe' -newName 'EULANDA_Doe' -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>In this example, the authentication to the SQL server is done via the UDL file. It does not matter whether the database to be renamed is specified in the UDL file. The only important thing here is that the server and, if applicable, the instance are specified here. Access is then either via user name with password, or via Windows authentication if user and password are not specified in the UDL file. After execution of the function the database, which was called `EULANDA_JohnDoe` before, is renamed to `EULANDA_Doe`, incl. internal logical and physical names. The database files (MDF+LDF) on the hard disk are also renamed.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Rename-MssqlDatabase.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Resize-Image</command:name>
      <command:verb>Resize</command:verb>
      <command:noun>Image</command:noun>
      <maml:description>
        <maml:para>Changes the image size proportionally for jpg files</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function changes the image size of jpg files proportionally. Via the parameters `maxWidth` and `maxHeight` the maximum size is specified. Depending on which dimension of the image is larger, this side is then set to the maximum value and the other side is proportionally adjusted to this size. If no dimension is specified, the default value of 1200 is used. If no output path is specified, or if the output path is the same as the input path, the `modifier` is appended to the image name. The default value for the modifier is '-resized'. The quality of the resizing can be specified in the range 10 to 100. The default is 65.</maml:para>
      <maml:para>If a directory containing jpg files is passed via pipes to the function, it is useful to specify an output path. Otherwise the name of the image is modified by the `modifier`. If the switch `passthru` is set, the new file names are returned as the function result.</maml:para>
      <maml:para>The function is based on the Windows COM object `WIA.ImageFile` and `WIA.ImageProcess`. These are not installed by Windows Setup by default, but can be activated as a feature at any time. This is also possible on Windows servers. The setting is: `User Interface and Infrastructure`.</maml:para>
      <maml:para>&gt; If the destination image already exists, it will be overwritten. If the destination folder does not exist, it will not be created. Recursive piping is not supported, nor is the specification of non-Jpeg files.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Resize-Image</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
          <maml:name>pathIn</maml:name>
          <maml:description>
            <maml:para>The fully qualified input path of a image file, if piping is not used.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>pathOut</maml:name>
          <maml:description>
            <maml:para>The fully qualified output path of the new image. If the piping function is used, the output path must be specified without a filename.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>maxHeight</maml:name>
          <maml:description>
            <maml:para>The max height of the new image in pixel. The default value is 1200. Values from 32 to 5000 are possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>maxWidth</maml:name>
          <maml:description>
            <maml:para>The max width of the new image in pixel. The default value is 1200. Values from 32 to 5000 are possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>modifier</maml:name>
          <maml:description>
            <maml:para>To avoid conflicts a `modifier` changes the file name of the new image. the default is `-resized`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>passthru</maml:name>
          <maml:description>
            <maml:para>If this switch is set, the new filenames are returned as a object array of file names.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>quality</maml:name>
          <maml:description>
            <maml:para>The image quality of the new image. The higher the value, the better the quality, but the larger the file size. The default value is 65. Values from 10-100 are possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>maxHeight</maml:name>
        <maml:description>
          <maml:para>The max height of the new image in pixel. The default value is 1200. Values from 32 to 5000 are possible.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>maxWidth</maml:name>
        <maml:description>
          <maml:para>The max width of the new image in pixel. The default value is 1200. Values from 32 to 5000 are possible.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>modifier</maml:name>
        <maml:description>
          <maml:para>To avoid conflicts a `modifier` changes the file name of the new image. the default is `-resized`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>passthru</maml:name>
        <maml:description>
          <maml:para>If this switch is set, the new filenames are returned as a object array of file names.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
        <maml:name>pathIn</maml:name>
        <maml:description>
          <maml:para>The fully qualified input path of a image file, if piping is not used.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>pathOut</maml:name>
        <maml:description>
          <maml:para>The fully qualified output path of the new image. If the piping function is used, the output path must be specified without a filename.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>quality</maml:name>
        <maml:description>
          <maml:para>The image quality of the new image. The higher the value, the better the quality, but the larger the file size. The default value is 65. Values from 10-100 are possible.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>- Example 1:Resizes a image to the default size of 1200 pixels -</maml:title>
        <dev:code>PS C:\&gt; Resize-Image -pathIn C:\temp\john.jpg</dev:code>
        <dev:remarks>
          <maml:para>The function resizes the image if a side is larger than the maximum width or height, where the default is 1200 pixels. No output path is specified, so the result is saved in the input folder, but with a modifier so that the new file is named C:\temp\john-resized.jpg.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Resize-Image.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Send-Mail</command:name>
      <command:verb>Send</command:verb>
      <command:noun>Mail</command:noun>
      <maml:description>
        <maml:para>Sends an email via Send-MailMessage, but with some additions</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Today's mail servers work with encryption and also with encrypted user password. This wrapper uses different TLS versions and converts the user with password to creditals.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Send-Mail</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>from</maml:name>
          <maml:description>
            <maml:para>The e-mail address of the sender e.g. 'john doe&lt;jd@outlook.com&gt;'</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>to</maml:name>
          <maml:description>
            <maml:para>Recipient of the e-mail. The string supports multiple recipients, they can be specified separated by comma.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="10" aliases="none">
          <maml:name>secPassword</maml:name>
          <maml:description>
            <maml:para>The SecPassword is an encrypted password, it is used in combination with the user name to authorize the SMTP server when sending the e-mail.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
          <dev:type>
            <maml:name>SecureString</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="11" aliases="none">
          <maml:name>credential</maml:name>
          <maml:description>
            <maml:para>Creditals is a combination of username and password, both securely encoded. This is the new method preferred by Microsoft. For example, if the data are specified via username and password, they are automatically converted to creditals.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>PSCredential</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="12" aliases="none">
          <maml:name>port</maml:name>
          <maml:description>
            <maml:para>The default port on the SMTP server was 25, but with SSL and TSL there are other common ports. These are for example 587 for TLS and 465 for SSL. Many SMTP servers today even use port 25 again and expect a TSL connection there.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>25</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="13" aliases="DNO">
          <maml:name>deliveryNotificationOption</maml:name>
          <maml:description>
            <maml:para>Indicates that an acknowledgement of receipt is desired from the recipient, but this is usually not done.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">None</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">OnSuccess</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">OnFailure</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">Delay</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">Never</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="14" aliases="none">
          <maml:name>subject</maml:name>
          <maml:description>
            <maml:para>The email subject</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="15" aliases="none">
          <maml:name>body</maml:name>
          <maml:description>
            <maml:para>The e-mail text can be specified either ASCII or in HTML. This is controlled by the switch BodyAsHtml.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="16" aliases="none">
          <maml:name>attachment</maml:name>
          <maml:description>
            <maml:para>Files incl. path. If several files are specified, they must be separated by commas.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>cc</maml:name>
          <maml:description>
            <maml:para>Recipient in copy (= carbon copy). The string supports multiple copy recipients, which can be specified separated by commas.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>bcc</maml:name>
          <maml:description>
            <maml:para>Recipients in blind copy, here these recipients are not visibly displayed to the normal recipients. The string supports multiple recipients, which can be specified separated by commas.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>replyTo</maml:name>
          <maml:description>
            <maml:para>Reply address if different from the sender.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>$from</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="server">
          <maml:name>smtpServer</maml:name>
          <maml:description>
            <maml:para>Mail receiving server, this must be an SMTP server. The server can be specified using a DNS resolvable name such as `mail.doe.com` or its IP number. For IP numbers, only IP is currently accepted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>priority</maml:name>
          <maml:description>
            <maml:para>The possible values are `normal`, `high` and `low`. If the priority is set to `high`, for example, a red exclamation mark is displayed in the overview list in `Outlook` for these e-mails.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">Normal</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">High</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">Low</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Normal</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>encoding</maml:name>
          <maml:description>
            <maml:para>The encoding of the special characters in the e-mail. Nowadays, most emails are sent with utf8 encoding. This encoding allows the representation of most special characters.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">utf8NoBOM</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">ascii</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">bigendianunicode</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">bigendianutf32</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">oem</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">unicode</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">utf7</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">utf8</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">utf8BOM</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">utf8NoBOM</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">utf32</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Utf8</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
          <maml:name>user</maml:name>
          <maml:description>
            <maml:para>The user is the name with which you authorize yourself at the SMTP server when sending the e-mail.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="9" aliases="none">
          <maml:name>password</maml:name>
          <maml:description>
            <maml:para>The password is used in combination with the user name to authorize the SMTP server when sending the e-mail. It is specified unencrypted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="useHtml">
          <maml:name>bodyAsHtml</maml:name>
          <maml:description>
            <maml:para>The main e-mail text can be interpreted as standard ASCII or as HTML. Here, an HTML e-mail does not necessarily have to contain all the elements of an HTML web page, but can for example start directly with a paragraph '&lt;p&gt;Text&lt;/p&gt;'.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>useSsl</maml:name>
          <maml:description>
            <maml:para>SSL encryption is no longer state of the art and is generally only used for in-house solutions. The switch is therefore usually not set. Instead, encryption with one of the TLS standards is automatically negotiated.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="16" aliases="none">
        <maml:name>attachment</maml:name>
        <maml:description>
          <maml:para>Files incl. path. If several files are specified, they must be separated by commas.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>bcc</maml:name>
        <maml:description>
          <maml:para>Recipients in blind copy, here these recipients are not visibly displayed to the normal recipients. The string supports multiple recipients, which can be specified separated by commas.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="15" aliases="none">
        <maml:name>body</maml:name>
        <maml:description>
          <maml:para>The e-mail text can be specified either ASCII or in HTML. This is controlled by the switch BodyAsHtml.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="useHtml">
        <maml:name>bodyAsHtml</maml:name>
        <maml:description>
          <maml:para>The main e-mail text can be interpreted as standard ASCII or as HTML. Here, an HTML e-mail does not necessarily have to contain all the elements of an HTML web page, but can for example start directly with a paragraph '&lt;p&gt;Text&lt;/p&gt;'.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>cc</maml:name>
        <maml:description>
          <maml:para>Recipient in copy (= carbon copy). The string supports multiple copy recipients, which can be specified separated by commas.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="11" aliases="none">
        <maml:name>credential</maml:name>
        <maml:description>
          <maml:para>Creditals is a combination of username and password, both securely encoded. This is the new method preferred by Microsoft. For example, if the data are specified via username and password, they are automatically converted to creditals.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>PSCredential</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="13" aliases="DNO">
        <maml:name>deliveryNotificationOption</maml:name>
        <maml:description>
          <maml:para>Indicates that an acknowledgement of receipt is desired from the recipient, but this is usually not done.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>encoding</maml:name>
        <maml:description>
          <maml:para>The encoding of the special characters in the e-mail. Nowadays, most emails are sent with utf8 encoding. This encoding allows the representation of most special characters.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Utf8</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>from</maml:name>
        <maml:description>
          <maml:para>The e-mail address of the sender e.g. 'john doe&lt;jd@outlook.com&gt;'</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="9" aliases="none">
        <maml:name>password</maml:name>
        <maml:description>
          <maml:para>The password is used in combination with the user name to authorize the SMTP server when sending the e-mail. It is specified unencrypted.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="12" aliases="none">
        <maml:name>port</maml:name>
        <maml:description>
          <maml:para>The default port on the SMTP server was 25, but with SSL and TSL there are other common ports. These are for example 587 for TLS and 465 for SSL. Many SMTP servers today even use port 25 again and expect a TSL connection there.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>25</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>priority</maml:name>
        <maml:description>
          <maml:para>The possible values are `normal`, `high` and `low`. If the priority is set to `high`, for example, a red exclamation mark is displayed in the overview list in `Outlook` for these e-mails.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Normal</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>replyTo</maml:name>
        <maml:description>
          <maml:para>Reply address if different from the sender.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>$from</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="10" aliases="none">
        <maml:name>secPassword</maml:name>
        <maml:description>
          <maml:para>The SecPassword is an encrypted password, it is used in combination with the user name to authorize the SMTP server when sending the e-mail.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
        <dev:type>
          <maml:name>SecureString</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="server">
        <maml:name>smtpServer</maml:name>
        <maml:description>
          <maml:para>Mail receiving server, this must be an SMTP server. The server can be specified using a DNS resolvable name such as `mail.doe.com` or its IP number. For IP numbers, only IP is currently accepted.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="14" aliases="none">
        <maml:name>subject</maml:name>
        <maml:description>
          <maml:para>The email subject</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>to</maml:name>
        <maml:description>
          <maml:para>Recipient of the e-mail. The string supports multiple recipients, they can be specified separated by comma.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>useSsl</maml:name>
        <maml:description>
          <maml:para>SSL encryption is no longer state of the art and is generally only used for in-house solutions. The switch is therefore usually not set. Instead, encryption with one of the TLS standards is automatically negotiated.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
        <maml:name>user</maml:name>
        <maml:description>
          <maml:para>The user is the name with which you authorize yourself at the SMTP server when sending the e-mail.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------- EXAMPLE 1:Sends an email with two attachments --------</maml:title>
        <dev:code>$global:mailParams = @{
    From = 'john@doe.com'
    Port = 587
    Server = '192.168.178.100'
    User = doe
    Password = "pwd"
    Priority = "high"
    Encoding = "utf8"
    DNO = 'none'
    useSsl = $false
    BodyAsHtml = $true
}
 
Send-Email @global:mailParams
    -priority 'Normal'
    -to "cn@eulanda.de"
    -Subject 'This is a test from jonny'
    -Body "\&lt;h1\&gt;My Headline\&lt;/h1\&gt;\&lt;p\&gt;Today i am fine!\&lt;/p\&gt;"
    -Attachment ("C:\temp\foo.ini,C:\temp\readme.txt").Split(',')</dev:code>
        <dev:remarks>
          <maml:para>This is an example for the use of a hashlist for the standard configuration in order to set only the remaining information as individual parameters when sending e-mails.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Send-Mail.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://adamtheautomator.com/send-mailmessage</maml:linkText>
        <maml:uri>https://adamtheautomator.com/send-mailmessage</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://adamtheautomator.com/powershell-get-credential</maml:linkText>
        <maml:uri>https://adamtheautomator.com/powershell-get-credential</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://stackoverflow.com/questions/53785662/why-does-send-mailmessage-fail-to-send-using-starttls-over-port-587</maml:linkText>
        <maml:uri>https://stackoverflow.com/questions/53785662/why-does-send-mailmessage-fail-to-send-using-starttls-over-port-587</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>https://www.codyhosterman.com/2016/06/force-the-invoke-restmethod-powershell-cmdlet-to-use-tls-1-2</maml:linkText>
        <maml:uri>https://www.codyhosterman.com/2016/06/force-the-invoke-restmethod-powershell-cmdlet-to-use-tls-1-2</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Send-SftpFile</command:name>
      <command:verb>Send</command:verb>
      <command:noun>SftpFile</command:noun>
      <maml:description>
        <maml:para>Sends a file to an SFTP server</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Send-SftpFile currently uses only the user name and a password for authentication. Certificates and key management are planned for the future. The function call requires a valid license key.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Send-SftpFile</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>server</maml:name>
          <maml:description>
            <maml:para>IP number or DNS resolvable name of the SFTP server.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>port</maml:name>
          <maml:description>
            <maml:para>Port number of the SFTP server. Default is 22.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>22</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>user</maml:name>
          <maml:description>
            <maml:para>Username for authentication.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>password</maml:name>
          <maml:description>
            <maml:para>Password for authentication.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>remoteFolder</maml:name>
          <maml:description>
            <maml:para>Folder on the SFTP server where the file should be placed. The folder is specified without an ending slash.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>file</maml:name>
          <maml:description>
            <maml:para>The file name to be sent. The file is also saved under the same name in the remote folder.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>localFolder</maml:name>
          <maml:description>
            <maml:para>The local folder where the file to send is stored. The folder is specified without an ending slash.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
          <maml:name>comObject</maml:name>
          <maml:description>
            <maml:para>COM object name, this is strongly version dependent. The default is IPWorksSSH.SFTP</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>IPWorksSSH.SFTP</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
          <maml:name>license</maml:name>
          <maml:description>
            <maml:para>The license code consists of a very long string and is module dependent. This means that SFTP needs a different module key than SMTP etc.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>$eulLicense</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="7" aliases="none">
        <maml:name>comObject</maml:name>
        <maml:description>
          <maml:para>COM object name, this is strongly version dependent. The default is IPWorksSSH.SFTP</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>IPWorksSSH.SFTP</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>file</maml:name>
        <maml:description>
          <maml:para>The file name to be sent. The file is also saved under the same name in the remote folder.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="8" aliases="none">
        <maml:name>license</maml:name>
        <maml:description>
          <maml:para>The license code consists of a very long string and is module dependent. This means that SFTP needs a different module key than SMTP etc.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>$eulLicense</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>localFolder</maml:name>
        <maml:description>
          <maml:para>The local folder where the file to send is stored. The folder is specified without an ending slash.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>password</maml:name>
        <maml:description>
          <maml:para>Password for authentication.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>port</maml:name>
        <maml:description>
          <maml:para>Port number of the SFTP server. Default is 22.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>22</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>remoteFolder</maml:name>
        <maml:description>
          <maml:para>Folder on the SFTP server where the file should be placed. The folder is specified without an ending slash.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>server</maml:name>
        <maml:description>
          <maml:para>IP number or DNS resolvable name of the SFTP server.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>user</maml:name>
        <maml:description>
          <maml:para>Username for authentication.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para>The necessary ActiveX add-on library comes from N/SOFTWARE, a US company specializing in Internet protocols. The license for this must be purchased separately to be able to use the SFTP protocol.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>------- EXAMPLE 1:Sending a local file to an sftp server -------</maml:title>
        <dev:code>Send-SftpFile `
    -Server 'sftp.eulanda.net' `
    -User 'ZWEISTERN' `
    -Password 'MySecret' `
    -RemoteFolder '/home/ZWEISTERN/DATA/IN' `
    -LocalFolder 'C:\Users\JohnDoe\Desktop' `
    -File 'ZWEISTERNTERN.TXT' `
    -License = '11254656212154483154546899878787332'</dev:code>
        <dev:remarks>
          <maml:para>Sends the file ZWEISTERN.TXT to the sftp server `sftp.eulanda.net` in the folder `/home/ZWEISTERN/DATA/IN`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Send-SftpFile.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Get-SftpNextFilename</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Receive-SftpFile</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Remove-SftpFile</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-DeliveryQty</command:name>
      <command:verb>Set</command:verb>
      <command:noun>DeliveryQty</command:noun>
      <maml:description>
        <maml:para>Change the delivery quantities</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function is special because it can change several delivery quantities in one even already booked delivery bill. This option has only recently become available. In this case, the delivery bill is briefly set to the `Capture` mode. The associated order is also modified, as are the stock journals. Afterwards, the entire chain involved is closed again. If the changed delivery bill is to be closed as well, `Close-Delivery` must be called explicitly. After changing the quantities, the delivery bill is closed in any case.</maml:para>
      <maml:para>&gt; Via specific extensions (= customizing), delivery bills can be automatically transmitted electronically to a logistics provider during posting. When changing the quantities at this point, this delivery bill is of course not transmitted again. When is something like this needed? For example, when working with external warehouses, such as logistics companies. The delivery bill is sent as a delivery order to the logistician, but for some reason not enough goods are available. In this case, a correction of the delivery bill can be made from such a feedback, without the need for a cancellation with complete re-creation. The delivery note keeps the same ID and the process can be mapped cleanly.</maml:para>
      <maml:para>&gt; This function is based on a strongly extended SQL-API within EULANDA and requires version 8.5.58 or newer of the ERP system. If this function is called in older systems, unwanted effects will occur.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-DeliveryQty</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>quantities</maml:name>
          <maml:description>
            <maml:para>The passed quantity object is an array containing hash tables. Each hash table consists of a pair of 'articleNo 'and 'qty'.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Array</command:parameterValue>
          <dev:type>
            <maml:name>Array</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>bookingInfo</maml:name>
          <maml:description>
            <maml:para>The transfer postings provide warehouse journals with adjustment postings. Here you can specify a short text that will be stored in these entries.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>bookingInfo</maml:name>
        <maml:description>
          <maml:para>The transfer postings provide warehouse journals with adjustment postings. Here you can specify a short text that will be stored in these entries.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>quantities</maml:name>
        <maml:description>
          <maml:para>The passed quantity object is an array containing hash tables. Each hash table consists of a pair of 'articleNo 'and 'qty'.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Array</command:parameterValue>
        <dev:type>
          <maml:name>Array</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>- Example 1:Change to line Items in a delivery note (dynamic) -</maml:title>
        <dev:code># Dynamic filling of the structure e.g. with lists
$quantities = @()
 
# First article quantity to change
$hash = @{}
$hash['articleNo'] = '4711'
$hash['qty'] = 5
$quantities += $hash
 
# Second article quantity to change
$hash = @{}
$hash['articleNo'] = '0815'
$hash['qty'] = 3
$quantities += $hash
 
# Change the quantities in absolute
Set-DeliveryQty -quantities $quantities -deliveryNo 430220 -bookingInfo "CONFIRM 1Z5468131" -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>This example refers to a fictitious delivery bill with the number `430220`. It contains at least two line items, one with the article number `4711` and one with the article number `0815`. The line item with the article `4711` must contain a quantity greater than `5` and the line item with the article `0815` must contain a quantity greater than `3`.</maml:para>
          <maml:para>The quantity object passed is an array containing two hash tables. Each hash table consists of a pair of item number and quantity. The quantity is then the new quantity of the delivery bill line item.</maml:para>
          <maml:para>The posting text for the necessary correction postings in the warehouse journal should be short and contain a reference to the forwarding message.</maml:para>
          <maml:para>The database is specified here via a UDL file, but it is also possible to pass the ADO connection object or a connection string directly.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-- Example 2:Change to line Items in a delivery note (static) --</maml:title>
        <dev:code># Static specification of the structure
$quantities =@(@{articleNo='4711'; qty=5}, @{articleNo='0815'; qty=3})
 
# Change the quantities in absolute
Set-DeliveryQty -quantities $quantities -deliveryNo 430220 -bookingInfo "CONFIRM 1Z5468131" -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>The same happens as in example one, except that the array is filled statically here - the effect is absolutely identical.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Set-DeliveryQty.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-StockQty</command:name>
      <command:verb>Set</command:verb>
      <command:noun>StockQty</command:noun>
      <maml:description>
        <maml:para>Changes the stock quantity of items</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The stock of several articles can be set to a new absolute value using this function. By specifying a warehouse account, either the standard warehouse `1000` or one of the additional warehouses can be addressed.</maml:para>
      <maml:para>In the latter case, the multi-warehouse system must be activated in the ERP software so that the accounts up to and including account `1399` can be addressed.</maml:para>
      <maml:para>At the end of the posting, a warehouse document is created for which a posting text can be specified. The booking information is specified via the parameter `bookingInfo`.</maml:para>
      <maml:para>The connection to the SQL database is done via a connection object, a connection string or the specification of a UDL file.</maml:para>
      <maml:para>The quantities and article numbers are passed via an array parameter, which contains hash table pairs as elements. Each of these hash tables contains a pair of `articleNo` and `qty`.</maml:para>
      <maml:para>This function does not allow the addition of articles that have a serial number or the batch numbers.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-StockQty</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>quantities</maml:name>
          <maml:description>
            <maml:para>The passed quantity object is an array containing hash tables. Each hash table consists of a pair of 'articleNo 'and 'qty'.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Array</command:parameterValue>
          <dev:type>
            <maml:name>Array</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>stockGroup</maml:name>
          <maml:description>
            <maml:para>Stockgroup is the account number of the storage location. It is in the range of 1000-1399 in the warehouse management system of the ERP system.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>bookingInfo</maml:name>
          <maml:description>
            <maml:para>The transfer postings provide warehouse journals with adjustment postings. Here you can specify a short text that will be stored in these entries.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>bookingInfo</maml:name>
        <maml:description>
          <maml:para>The transfer postings provide warehouse journals with adjustment postings. Here you can specify a short text that will be stored in these entries.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>quantities</maml:name>
        <maml:description>
          <maml:para>The passed quantity object is an array containing hash tables. Each hash table consists of a pair of 'articleNo 'and 'qty'.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Array</command:parameterValue>
        <dev:type>
          <maml:name>Array</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>stockGroup</maml:name>
        <maml:description>
          <maml:para>Stockgroup is the account number of the storage location. It is in the range of 1000-1399 in the warehouse management system of the ERP system.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Change stock quantity absolutely for different articles</maml:title>
        <dev:code># Dynamic filling of the structure e.g. with lists
PS C:\&gt; $quantities = @()
 
# First article quantity to change
PS C:\&gt; $hash = @{}
PS C:\&gt; $hash['articleNo'] = '4711'
PS C:\&gt; $hash['qty'] = 5
PS C:\&gt; $quantities += $hash
 
# Second article quantity to change
PS C:\&gt; $hash = @{}
PS C:\&gt; $hash['articleNo'] = '0815'
PS C:\&gt; $hash['qty'] = 3
PS C:\&gt; $quantities += $hash
 
# Change the quantities in absolute
PS C:\&gt; Set-StockQty -quantities $quantities -stockGroup 1000 -bookingInfo "Interim inventory" -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>In this example the quantity array is filled programmatically. Here, for example, a CSV file with inventory data could be processed, whereby a hashtable pair is added to the array line by line. The standard warehouse is addressed by the warehouse group `1000`. The posting text should be short but still meaningful. The connection to the SQL database is done here via a UDL file. Keep in mind that you could also pass a connection string or an already instantiated ADO connection object instead.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Set-StockQty.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Set-TrackingNo</command:name>
      <command:verb>Set</command:verb>
      <command:noun>TrackingNo</command:noun>
      <maml:description>
        <maml:para>Adds further tracking numbers to the delivery bill</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The tracking numbers specified in the trackingNo array are stored in the delivery bill. If tracking numbers were already present, they will be added. Duplicate tracking numbers are removed and the tracking numbers are sorted in descending order. The number of shipments is automatically supplemented by added tracking numbers and the shipping date is set to the current date.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Set-TrackingNo</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>trackingNo</maml:name>
          <maml:description>
            <maml:para>The tracking numbers are passed in an array. Each individual tracking number is of type string.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Array</command:parameterValue>
          <dev:type>
            <maml:name>Array</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>deliveryId</maml:name>
          <maml:description>
            <maml:para>The delivery note is searched for by its ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>deliveryNo</maml:name>
          <maml:description>
            <maml:para>The delivery note is found via its delivery note number.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>deliveryId</maml:name>
        <maml:description>
          <maml:para>The delivery note is searched for by its ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>deliveryNo</maml:name>
        <maml:description>
          <maml:para>The delivery note is found via its delivery note number.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>trackingNo</maml:name>
        <maml:description>
          <maml:para>The tracking numbers are passed in an array. Each individual tracking number is of type string.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Array</command:parameterValue>
        <dev:type>
          <maml:name>Array</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Add two tracking numbers to a delivery note ----</maml:title>
        <dev:code>PS C:\&gt; $trackingNo = @('1Z456655626','1Z94336654')
PS C:\&gt; Set-TrackingNo -trackingNo $trackingNo -deliveryNo 430220 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>In this example, two tracking numbers are added to delivery bill `430220`. The SQL database is specified via a UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Set-TrackingNo.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Show-Extensions</command:name>
      <command:verb>Show</command:verb>
      <command:noun>Extensions</command:noun>
      <maml:description>
        <maml:para>Shows the file extensions like txt, exe etc. of known extension in the file explorer</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Windows File Explorer hides the file extensions for known files. If you want to show them, this function can change them for you.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Show-Extensions</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--- Example 1:Shows the file extensions in the file explorer ---</maml:title>
        <dev:code>PS C:\&gt; Show-Extensions</dev:code>
        <dev:remarks>
          <maml:para>Enables the display of file extensions for known files.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Show-Extensiom.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Hide-Extensions</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Update-Desktop</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Show-MsgBox</command:name>
      <command:verb>Show</command:verb>
      <command:noun>MsgBox</command:noun>
      <maml:description>
        <maml:para>Displays the Windows message box, for example the Yes/No box</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Windows dialog box allows to display a text with heading and to perform simple queries like Yes/No, Ok/Cancel etc.. Additionally, one of the predefined icons can be used or it can be determined which button is the default button, i.e. returned on Enter. </maml:para>
      <maml:para>Which buttons are displayed is specified by the parameter `btn`. The possible values are: `mbOk`, `mbOkCancel`, `mbAbortRetryIgnore`, `mbYesNoCancel`, `mbYesNo` and `mbRetryCancel`.</maml:para>
      <maml:para>The function returns an integer value as result , where the possible return values are predefined as global variables. These are: `mbrOk`, `mbrCancel`, `mbrYes`, `mbrNo`, `mbrAbort`, `mbrRetry`, `mbrIgnore`, `mbrTryAgain` and `mbrContinue`.</maml:para>
      <maml:para>If nothing is specified for the `icon` parameter, no special icon is displayed. Otherwise the following icon values are predefined: `mbStop`, `mbQuestion`, `mbWarning` and `mbInfo`.</maml:para>
      <maml:para>If you want to specify the default button, this can be done with the parameter `btnDef`. The following values are predefined: `mbButton1`, `mbButton2`, `mbButton3` and `mbButton4`.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Show-MsgBox</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>prompt</maml:name>
          <maml:description>
            <maml:para>The `prompt` parameter can be used to pass the displayed text.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>btn</maml:name>
          <maml:description>
            <maml:para>The parameter can be used to determine which button combination is to be displayed. The possible values are: `mbOk`, `mbOkCancel`, `mbAbortRetryIgnore`, `mbYesNoCancel`, `mbYesNo` and `mbRetryCancel`.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">0</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">1</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">2</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">3</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">4</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">5</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>title</maml:name>
          <maml:description>
            <maml:para>The `title` parameter can be used to specify the title of the dialog box.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>icon</maml:name>
          <maml:description>
            <maml:para>This parameter can be used to specify whether an icon is to be displayed in the dialog box and also which one. The following icons are available for selection: `mbStop`, `mbQuestion`, `mbWarning` and `mbInfo`.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">0</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">16</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">32</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">48</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">64</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>btnDef</maml:name>
          <maml:description>
            <maml:para>If several default buttons are displayed, it is possible to specify which one is the default button. This is the button that should be triggered when Enter is pressed. The following values are predefined: `mbButton1`, `mbButton2`, `mbButton3` and `mbButton4`.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">0</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">256</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">512</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">768</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>btn</maml:name>
        <maml:description>
          <maml:para>The parameter can be used to determine which button combination is to be displayed. The possible values are: `mbOk`, `mbOkCancel`, `mbAbortRetryIgnore`, `mbYesNoCancel`, `mbYesNo` and `mbRetryCancel`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>btnDef</maml:name>
        <maml:description>
          <maml:para>If several default buttons are displayed, it is possible to specify which one is the default button. This is the button that should be triggered when Enter is pressed. The following values are predefined: `mbButton1`, `mbButton2`, `mbButton3` and `mbButton4`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>icon</maml:name>
        <maml:description>
          <maml:para>This parameter can be used to specify whether an icon is to be displayed in the dialog box and also which one. The following icons are available for selection: `mbStop`, `mbQuestion`, `mbWarning` and `mbInfo`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>prompt</maml:name>
        <maml:description>
          <maml:para>The `prompt` parameter can be used to pass the displayed text.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>title</maml:name>
        <maml:description>
          <maml:para>The `title` parameter can be used to specify the title of the dialog box.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>&gt; ATTENTION! &gt; The display of the `Show-MsgBox` dialog is not suitable for unattended use, because the box expects user input and the script stops until a button is pressed.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--- Example 1:Displays a Yes No box and asks for the button ---</maml:title>
        <dev:code>PS C:\&gt; If ((Show-MsgBox -prompt 'Is your name John?' -btn $mbYesNo) -eq $mbrYes) { Write-Host "Hello John"}</dev:code>
        <dev:remarks>
          <maml:para>In this example the Windows dialog box is displayed and you are asked if your name is 'John'. If you answer with the button 'Yes' you will be greeted with your name and 'Hello John' will be displayed on the monitor.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Show-MsxBox.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Show-MsgBoxYes</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Show-MsgBoxYes</command:name>
      <command:verb>Show</command:verb>
      <command:noun>MsgBoxYes</command:noun>
      <maml:description>
        <maml:para>Displays the Windows message box with `yes` and `no` buttons</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>A dialog box is displayed that shows a Yes / No question. If the `Yes` button is pressed, `true` is returned, otherwise `false`.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Show-MsgBoxYes</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>prompt</maml:name>
          <maml:description>
            <maml:para>The `prompt` parameter can be used to pass the displayed text.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>prompt</maml:name>
        <maml:description>
          <maml:para>The `prompt` parameter can be used to pass the displayed text.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>ATTENTION! The display of the `Show-MsgBox` dialog is not suitable for unattended use, because the box expects user input and the script stops until a button is pressed.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--- Example 1:Displays a Yes No box and asks for the button ---</maml:title>
        <dev:code>PS C:\&gt; If (Show-MsgBoxYes -prompt 'Is your name John?') { Write-Host "Hello John"}</dev:code>
        <dev:remarks>
          <maml:para>In this example the Windows dialog box is displayed and you are asked if your name is 'John'. If you answer with the button 'Yes' you will be greeted with your name and 'Hello John' will be displayed on the monitor.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Show-MsgBoxYes.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Show-MsgBox</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-Administrator</command:name>
      <command:verb>Test</command:verb>
      <command:noun>Administrator</command:noun>
      <maml:description>
        <maml:para>Returns true if the user has administrative rights</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function can be used to test whether the logged-in user has administrative rights on the PC.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-Administrator</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Tests if the user has administrative rights ----</maml:title>
        <dev:code>PS C:\&gt; if (Test-Administrator) { Write-Host 'You have administrative rights' }</dev:code>
        <dev:remarks>
          <maml:para>If the user has administrative rights on the PC, the following message is displayed on the screen: `You have administrative rights`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Test-Administrator.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-ArticlePropertyItem</command:name>
      <command:verb>Test</command:verb>
      <command:noun>ArticlePropertyItem</command:noun>
      <maml:description>
        <maml:para>Checks if there is an entry in the property tree for a specific article</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>If the property is set for the article, the function returns false, otherwise false. The article is specified by its id. The searched property is the id of the folder in the property tree. This is obtained in the ERP system by displaying the properties for this entry with the right mouse button. The SQL database can be accessed via an existing ADO connection object, a connection string or the path to a UDL file.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-ArticlePropertyItem</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>articleId</maml:name>
          <maml:description>
            <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>propertyId</maml:name>
          <maml:description>
            <maml:para>The property ID is determined directly in the ERP system by clicking on the property name with the right mouse button and noting the displayed ID.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>articleNo</maml:name>
          <maml:description>
            <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched for here and its `Id` is returned.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>articleUid</maml:name>
          <maml:description>
            <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
          <dev:type>
            <maml:name>Guid</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>barcode</maml:name>
          <maml:description>
            <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>articleId</maml:name>
        <maml:description>
          <maml:para>The `ArticleId` is a unique key in the table. It is normally only used internally to link tables together.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>propertyId</maml:name>
        <maml:description>
          <maml:para>The property ID is determined directly in the ERP system by clicking on the property name with the right mouse button and noting the displayed ID.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>articleNo</maml:name>
        <maml:description>
          <maml:para>The `ArticleNo` is a unique alphanumeric field in the ERP system. If the value is set, then the article is searched for here and its `Id` is returned.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>articleUid</maml:name>
        <maml:description>
          <maml:para>A UID (Unique Identifier) is a unique identifier assigned to a specific record in a database. In the context of EULANDA ERP software, each article is assigned a UID to uniquely identify it, regardless of its name, number, or other properties. The UID is usually automatically generated by the database and has a fixed length and formatting to ensure its uniqueness. The `articleUid` parameter is used to specify the UID of the article to retrieve the record.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Guid</command:parameterValue>
        <dev:type>
          <maml:name>Guid</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>barcode</maml:name>
        <maml:description>
          <maml:para>The barcode (= GTIN) is a field in the article table which is not defined as a unique field by default. However, if you want to achieve a reliable search, the field should be set to uniqueness in the database beforehand.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>----------- Example 1:How a property tree looks like -----------</maml:title>
        <dev:code>Articles/
├─ My Properties/
├─ Shop Catalog/
│ ├─ Hardware
│ ├─ Software
│ ├─ Books
├─ Colors/
│ ├─ Red
│ ├─ Green
│ ├─ Blue
├─ Special Flag</dev:code>
        <dev:remarks>
          <maml:para>This property tree is only an example. Based on this structure, all articles assigned to this property can be displayed immediately in the ERP system, so it is a kind of filter. However, these filters can also be used when printing, exporting or displaying a product online.</maml:para>
          <maml:para>Setting these properties can be done manually or through this API. For example, it can be determined whether an article should be transferred to an online store system or not.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---- Example 2: Checks if an article has a certain property ----</maml:title>
        <dev:code>PS C:\&gt; [bool]$blue = (Test-ArticlePropertyItem -propertyId 125 -articleId 3623 -udl "C:\temp\Eulanda_1 JohnDoe.udl")</dev:code>
        <dev:remarks>
          <maml:para>Here it is checked whether the article has the color blue or not. The ID for the blue property must be looked up in the ERP system beforehand. In this way, each article can be checked for this property. The database is accessed by specifying the UDL file.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Test-ArticlePropertyItem.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-Console</command:name>
      <command:verb>Test</command:verb>
      <command:noun>Console</command:noun>
      <maml:description>
        <maml:para>Tests whether the current PowerShell session is running in a console or RDP session.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Test-Console function tests whether the current PowerShell session is running in a console or RDP session by checking the Win32_LogonSession class for RDP sessions. If an RDP session is detected, the function returns False. Otherwise, it returns True.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-Console</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--- Example 1: Tests PowerShell runs in a physical console ---</maml:title>
        <dev:code>PS C:\&gt; Test-Console</dev:code>
        <dev:remarks>
          <maml:para>Test whether the current PowerShell session is running in a console or RDP session.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Test-Console.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-HasProperty</command:name>
      <command:verb>Test</command:verb>
      <command:noun>HasProperty</command:noun>
      <maml:description>
        <maml:para>Tests if an object has a certain property</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This can be used to test whether an object has a certain property.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-HasProperty</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>inputVar</maml:name>
          <maml:description>
            <maml:para>Object to check.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>propertyName</maml:name>
          <maml:description>
            <maml:para>Property to check.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>inputVar</maml:name>
        <maml:description>
          <maml:para>Object to check.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>propertyName</maml:name>
        <maml:description>
          <maml:para>Property to check.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1: Test if the Error object has the `ScriptLineNumber` property</maml:title>
        <dev:code>try {
    $a= 5
    $b= 0
    $c = $a / $b
} catch {
    if (Test-HasProperty -inputVar $_.InvocationInfo -propertyName "ScriptLineNumber") {
        $line = $_.InvocationInfo.ScriptLineNumber
    } else {
        $line = 'unknown'
    }
    Write-Host "ERROR at Line: $line. Message: $_" -ForegroundColor Red
}</dev:code>
        <dev:remarks>
          <maml:para>The error object does not have the `ScriptLineNumber` property in every case. With `Test-HasProperty`, for example, it can be checked whether the property exists and whether it can be used.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Test-HasProperty.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-Numeric</command:name>
      <command:verb>Test</command:verb>
      <command:noun>Numeric</command:noun>
      <maml:description>
        <maml:para>Tests if a string contains only numeric characters, with the option to allow zero.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Test-Numeric function tests if a given string contains only numeric characters (digits and optional decimal points). The function also provides an option to allow zero as a valid numeric value. The function returns a boolean value indicating whether the string is a valid numeric value or not.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-Numeric</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>value</maml:name>
          <maml:description>
            <maml:para>The string value to be tested for numeric characters.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>allowZero</maml:name>
          <maml:description>
            <maml:para>A switch parameter that indicates if zero is allowed as a valid numeric value. By default, zero is not allowed.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>allowZero</maml:name>
        <maml:description>
          <maml:para>A switch parameter that indicates if zero is allowed as a valid numeric value. By default, zero is not allowed.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>value</maml:name>
        <maml:description>
          <maml:para>The string value to be tested for numeric characters.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------- Example 1: Tests if `45x` is a numeric value --------</maml:title>
        <dev:code>PS C:\&gt; Test-Numeric -value '45x'</dev:code>
        <dev:remarks>
          <maml:para>Returns 'False' as the string '45x' contains a non-numeric character.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Test-Numeric.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-PrivateIP</command:name>
      <command:verb>Test</command:verb>
      <command:noun>PrivateIP</command:noun>
      <maml:description>
        <maml:para>Tests whether the specified IP belongs to a private network.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function tests whether the specified IP number belongs to a private network. A total of three private networks have been reserved that are not routed to the Internet.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-PrivateIP</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>ip</maml:name>
          <maml:description>
            <maml:para>IP address to test for.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>ip</maml:name>
        <maml:description>
          <maml:para>IP address to test for.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--- Example 1:Testing if the IP belongs to a private address ---</maml:title>
        <dev:code>PS C:\&gt; Test-PrivateIp -ip '192.168.178.1'</dev:code>
        <dev:remarks>
          <maml:para>The function returns `true` in this case, because the IP `192.168.178.1` belongs to a private network.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Test-PrivateIp.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-SalesOrder</command:name>
      <command:verb>Test</command:verb>
      <command:noun>SalesOrder</command:noun>
      <maml:description>
        <maml:para>Checks the customer order number to see if the order already exists.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The customer order number is used to check whether the sales order already exists. Usually this field is used to import orders from external systems, such as an online store system. A check can be used to prevent the same order from being created a second time. Ideally, this field can be marked as unique in the ERP database beforehand.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-SalesOrder</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>customerOrderNo</maml:name>
          <maml:description>
            <maml:para>This is the customer's order number. It is typically passed from an external system, such as an online shop system, to the ERP (Enterprise Resource Planning) system as a unique reference. It should be noted that this value is not defined as unique in the ERP system's database itself.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type `ADODB.Connection`. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>salesOrderId</maml:name>
          <maml:description>
            <maml:para>The `SalesOrderId` is the `ID` of the header record of the sales order. The `ID` is always unique throughout the table.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>salesOrderNo</maml:name>
          <maml:description>
            <maml:para>The `SalesOrderNo` is the userfriendly `number` of the header record of the sales order. The `number` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type `ADODB.Connection`. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A ConnectionString can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>customerOrderNo</maml:name>
        <maml:description>
          <maml:para>This is the customer's order number. It is typically passed from an external system, such as an online shop system, to the ERP (Enterprise Resource Planning) system as a unique reference. It should be noted that this value is not defined as unique in the ERP system's database itself.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>salesOrderId</maml:name>
        <maml:description>
          <maml:para>The `SalesOrderId` is the `ID` of the header record of the sales order. The `ID` is always unique throughout the table.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>salesOrderNo</maml:name>
        <maml:description>
          <maml:para>The `SalesOrderNo` is the userfriendly `number` of the header record of the sales order. The `number` is always unique throughout the table. Only one of the parameters can be specified, either -salesOrderId or -salesOrderNo.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Checks if a sales order for the customer order number already exists</maml:title>
        <dev:code>PS C:\&gt; [bool]$orderExists= (Test-SalesOrder -customerOrderNo 5025 -udl "C:\temp\Eulanda_1 JohnDoe.udl")</dev:code>
        <dev:remarks>
          <maml:para>The function returns true if the order with customer order number 5025 already exists. The SQL database is accessed via a UDL file. Alternatively, an ADO connection object or a connection string are also possible.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Test-SalesOrder.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-ShopExtension</command:name>
      <command:verb>Test</command:verb>
      <command:noun>ShopExtension</command:noun>
      <maml:description>
        <maml:para>Tests whether the Shop extension is installed in the EULANDA ERP software by checking the existence of the `esolArtikelShop` table in the SQL database.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The `Test-ShopExtension` function checks whether the Shop extension is installed in the EULANDA ERP software by connecting to the SQL database and querying the existence of the `esolArtikelShop` table. If the table exists, the extension is installed; otherwise, it is not.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-ShopExtension</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>conn</maml:name>
          <maml:description>
            <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>udl</maml:name>
          <maml:description>
            <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>connStr</maml:name>
          <maml:description>
            <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>conn</maml:name>
        <maml:description>
          <maml:para>The connection can be established via an existing ADO object of the type 'ADODB.Connection'. If the connection is already open, it remains open even after the function has been executed. If it was closed, it will be closed again after the function has been executed.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>connStr</maml:name>
        <maml:description>
          <maml:para>A `ConnectionString` can be specified here, with which a database can be opened.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>udl</maml:name>
        <maml:description>
          <maml:para>Alternatively to a connection, a string to a UDL file can be specified. In this case an ADO object is created and closed again at the end of the function.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Boolean</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; [bool]$ShopInstalled= Test-ShopExtension -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>Tests whether the Shop extension is installed in the SQL Server using the UDL file located at `C:\temp\Eulanda_1 JohnDoe.udl`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Test-ShopExtension.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-Verbose</command:name>
      <command:verb>Test</command:verb>
      <command:noun>Verbose</command:noun>
      <maml:description>
        <maml:para>Tests if the verbose switch is set</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Tests if the verbose switch is set.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-Verbose</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- Example 1:Tests if verbose mode is active ----------</maml:title>
        <dev:code>PS C:\&gt; if (Test-Verbose) { Write-Host 'We are in verbose mode' }</dev:code>
        <dev:remarks>
          <maml:para>When the verbose switch is active, the following message is displayed: `We are in verbose mode`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Test-Verbose.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Test-Debug</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Test-XmlSchema</command:name>
      <command:verb>Test</command:verb>
      <command:noun>XmlSchema</command:noun>
      <maml:description>
        <maml:para>Tests an xml schema against an xml file</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Tests whether an XML file conforms to its schema.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-XmlSchema</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>xmlFile</maml:name>
          <maml:description>
            <maml:para>Name incl. path to the xml file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>schemaFile</maml:name>
          <maml:description>
            <maml:para>Name incl. path to the xsd schema file.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>schemaFile</maml:name>
        <maml:description>
          <maml:para>Name incl. path to the xsd schema file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>xmlFile</maml:name>
        <maml:description>
          <maml:para>Name incl. path to the xml file.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>Example 1:Tests if the xml file is valid against the specified schema</maml:title>
        <dev:code>PS C:\&gt; if (Test-XmlSchema -xmlFile 'C:\temp\article.xml' -schemaFile 'C:\temp\article.xsd' ) { Write-Host 'XML file is valid' } else { 'XML file is not valid' }</dev:code>
        <dev:remarks>
          <maml:para>This can be used to test whether the XML file corresponds to the specified schema.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Test-XmlSchema.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Unprotect-String</command:name>
      <command:verb>Unprotect</command:verb>
      <command:noun>String</command:noun>
      <maml:description>
        <maml:para>Decrypts a text using a key</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function is passed an encrypted text via the `protectedText` parameter. This was previously encrypted with `Protect-String`. The `key` parameter must be either 32 or 16 characters long. Intermediate sizes are padded, but reduce security. If a key longer than 32 characters is passed, an exception is thrown. The counterpart to this function is `protect-string`.</maml:para>
      <maml:para>The key must be identical for encryption and decryption.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Unprotect-String</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>protectedText</maml:name>
          <maml:description>
            <maml:para>The encrypted text to be decrypted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>key</maml:name>
          <maml:description>
            <maml:para>The key that is used for encryption. It should contain either 16 or 32 characters. An exception is thrown for larger values.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>key</maml:name>
        <maml:description>
          <maml:para>The key that is used for encryption. It should contain either 16 or 32 characters. An exception is thrown for larger values.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>protectedText</maml:name>
        <maml:description>
          <maml:para>The encrypted text to be decrypted.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------- Example 1:Entschlüsseln des Textes --------------</maml:title>
        <dev:code>PS C:\&gt; [string]$protected= '76492d1116743f0423413b16050a5345MgB8AC8ATABrAGwAQgA3AFAARABOAEYAQwArAEIATABwAGEAagBGAFUAQQBUAHcAPQA9AHwAMAAyADEAZABhAGQAMQA1ADQAZgBiADQAZABiADMAOQA4AGMANQA1ADIANQA4ADIANgAyAGMAYgBmAGUANQBjAGEAMgAxADMAMAA3ADQAZQAyAGMAYQA0ADAAMgBjAGYAZQA3ADMAMgAyADgANQAwADcANwA3ADQANABmADEANgA='
PS C:\&gt; [string]$plain= Unprotect-String -protectedText $protected -key 'x&amp;=Ogbu7$43lkn4i'
 
# Output
 
I am unsecure</dev:code>
        <dev:remarks>
          <maml:para>The encrypted text is passed to the function with the original key and decrypted. The result is then `I am unsecure`, i.e. the value originally passed with `Protect-String`.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Unprotect-String.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Protect-String</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Update-Desktop</command:name>
      <command:verb>Update</command:verb>
      <command:noun>Desktop</command:noun>
      <maml:description>
        <maml:para>Sends a refresh message to the windows desktop</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The Update-Desktop function operates as if you were pressing the F5 key on your Windows desktop. It refreshes the icons and their labels on the desktop. This function is used implicitly by the Hide-Extensions and Show-Extensions functions.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Update-Desktop</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------------- Example 1:Refreshes the desktop ---------------</maml:title>
        <dev:code>PS C:\&gt; Upate-Desktop</dev:code>
        <dev:remarks>
          <maml:para>Refreshes the desktop.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Update-Desktop.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Hide-Extensions</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Show-Extensions</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Use-Culture</command:name>
      <command:verb>Use</command:verb>
      <command:noun>Culture</command:noun>
      <maml:description>
        <maml:para>Performs any function in the context of another culture</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function can be used to format dates or numbers in the context of a different culture. For example, the output of the date in French format.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Use-Culture</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>culture</maml:name>
          <maml:description>
            <maml:para>Specification of the culture in .NET format. `de-DE` for German, `en-US` for English US-American etc.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">CultureInfo</command:parameterValue>
          <dev:type>
            <maml:name>CultureInfo</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>script</maml:name>
          <maml:description>
            <maml:para>The script must always be specified in curly brackets.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue>
          <dev:type>
            <maml:name>ScriptBlock</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>culture</maml:name>
        <maml:description>
          <maml:para>Specification of the culture in .NET format. `de-DE` for German, `en-US` for English US-American etc.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">CultureInfo</command:parameterValue>
        <dev:type>
          <maml:name>CultureInfo</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>script</maml:name>
        <maml:description>
          <maml:para>The script must always be specified in curly brackets.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ScriptBlock</command:parameterValue>
        <dev:type>
          <maml:name>ScriptBlock</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>--------------- Example 1:Date output in french ---------------</maml:title>
        <dev:code>PS C:\&gt; Use-Culture -culture 'fr-FR' -script { $(Get-Date) }
 
# Output
 
dimanche 26 février 2023 15:51:53</dev:code>
        <dev:remarks>
          <maml:para>The date output is in a culture different from Windows. This makes it easy to provide data exports for another country or to read them.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Use-Culture.md</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <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" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Write-XmlMetadata</command:name>
      <command:verb>Write</command:verb>
      <command:noun>XmlMetadata</command:noun>
      <maml:description>
        <maml:para>Writes a EULANDA metablock via XmlWriter</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The function writes a EULANDA specific meta data block into a xml writer object. This function is called implicitly by `Convert-DataToXml` among others.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Write-XmlMetadata</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>writer</maml:name>
          <maml:description>
            <maml:para>An instance of the object System.XML.XmlWriter</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
          <dev:type>
            <maml:name>Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>strCase</maml:name>
          <maml:description>
            <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
          </maml:description>
          <command:parameterValueGroup>
            <command:parameterValue required="false" command:variableLength="false">none</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">upper</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">lower</command:parameterValue>
            <command:parameterValue required="false" command:variableLength="false">capital</command:parameterValue>
          </command:parameterValueGroup>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>strCase</maml:name>
        <maml:description>
          <maml:para>By setting the parameter `strCase` you can influence the output. If the parameter is omitted or set to `none`, no further conversion is performed. With `lower` the output is converted to lowercase, with `upper` to uppercase and with `capitalize` the first letter of a word is output in uppercase.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>writer</maml:name>
        <maml:description>
          <maml:para>An instance of the object System.XML.XmlWriter</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Object</command:parameterValue>
        <dev:type>
          <maml:name>Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>None</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---- Example 1:Writes metadata using the xml writer object ----</maml:title>
        <dev:code>$encoding = [System.Text.Encoding]::UTF8
$settings = New-Object System.Xml.XmlWriterSettings
$settings.Indent = $true
$settings.IndentChars = " "
$settings.Encoding = $encoding
$stream = New-Object System.IO.MemoryStream
$writer = [System.XML.XmlWriter]::Create($stream, $settings)
 
# Start with the root node
$writer.WriteStartDocument()
$writer.WriteStartElement('EULANDA')
$writer = Write-XmlMetadata -writer $writer -strCase 'upper'
...
 
&lt;EULANDA&gt;
    &lt;METADATA&gt;
        &lt;VERSION&gt;1.22&lt;/VERSION&gt;/VERSION&gt;
        &lt;GENERATOR&gt;EulandaConnect&lt;/GENERATOR&gt;
        &lt;DATEFORMAT&gt;ISO8601&lt;/DATEFORMAT&gt;
        &lt;FLOATFORMAT&gt;US&lt;/FLOATFORMAT&gt;
        &lt;COUNTRYFORMAT&gt;ISO2&lt;/COUNTRYFORMAT&gt;
        &lt;FIELDNAMES&gt;NATIVE&lt;/FIELDNAMES&gt;
        &lt;DATE&gt;2023-02-16T13:05:12&lt;/DATE&gt;
        &lt;PCNAME&gt;PC4ALL&lt;/PCNAME&gt;
        &lt;USERNAME&gt;DOE&lt;/USERNAME&gt;
    &lt;/METADATA&gt;
&lt;/EULANDA&gt;</dev:code>
        <dev:remarks>
          <maml:para>The metadata is written in conjunction with the xml writer object.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Write-XmlMetaData.md</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText>Convert-DataToXml</maml:linkText>
        <maml:uri></maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
</helpItems>