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; $deliveryNo = 202305230
PS C:\&gt; $udl = "C:\temp\Eulanda_1 JohnDoe.udl"
PS C:\&gt; Close-Delivery -deliveryNo $deliveryNo -udl $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>
    </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.</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="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: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: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: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 in conjunction with arrays, which in turn can contain hashtables. However, an array with hashtables can also be passed. For the cases with arrays a separate array root name can be specified. By means of a plural formation, for example, 'Records' and below it 'Rechord' can be created.</maml:para>
      <maml:para>The notation of the node names can be set via a parameter. This is especially interesting if the data comes from foreign databases.</maml:para>
      <maml:para>Pure array of simple data types like array of integer or array of arrays containing simple data types are not supported at the moment. These did not occur so far in the work with databases.</maml:para>
      <maml:para>An alternative would be to use the built-in ConvertTo-Xml function, but this returns the field name and value in two different nodes. However, if you need the data types, ConvertTo-Xml is a good choice. The call would be: `[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 must be specified in plural. So for example `Records`. 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="5" aliases="none">
          <maml:name>writer</maml:name>
          <maml:description>
            <maml:para>The parameter is not specified when calling the function from outside. It is ONLY used internally during a recursion.</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>level</maml:name>
          <maml:description>
            <maml:para>The level is ONLY used internally for recursions and specifies the nesting depth. This is used in verbose outputs for the indentations.</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="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 must be specified in plural. So for example `Records`. 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="6" aliases="none">
        <maml:name>level</maml:name>
        <maml:description>
          <maml:para>The level is ONLY used internally for recursions and specifies the nesting depth. This is used in verbose outputs for the indentations.</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="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:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>writer</maml:name>
        <maml:description>
          <maml:para>The parameter is not specified when calling the function from outside. It is ONLY used internally during a recursion.</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. 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>--------------- EXCAMPLE1: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 would look something like this. If the parameter `metadata` is used, then something like this is the first node after the root. This block is written by the `Write-XmlMetadata` function, which is called implicite.</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># PowerShell
 
$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 -plural "s" -verbose
$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. The name of the array should be plural, and can be made singular by shortening the characters specified by -plural. The -plural parameter for this is necessary because it must truncate the letter 's' from the word 'Items'.</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># PowerShell
 
$data = @(
[ordered]@{ "Field1" = "Value1"; "Field2" = "Value2" },
[ordered]@{ "Field3" = "Value3"; "Field4" = "Value4" }
)
 
[xml]$xml = Convert-DataToXml -data $data -arrRoot "Records" -plural "s" -verbose
$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 contains the individual records of the hashtables in the plural. These in turn are formed by the word 'Record' in the singular. This is done by truncating the length of the -plural parameter. So at 's' is shortened by one 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/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">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>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">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>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: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 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="false" 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="false" 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="false" 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="false" 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>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="true" 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="3" 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 '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>Eulanda</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>arrRoot</maml:name>
          <maml:description>
            <maml:para>A list of line items is stored in the list element `arRoot`. The default for this node name is `Items`.</maml:para>
          </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="5" aliases="none">
          <maml:name>arrSubRoot</maml:name>
          <maml:description>
            <maml:para>An item of a delivery bill is stored in the `arrSubRoot` node. The default is `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>Item</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="4" aliases="none">
        <maml:name>arrRoot</maml:name>
        <maml:description>
          <maml:para>A list of line items is stored in the list element `arRoot`. The default for this node name is `Items`.</maml:para>
        </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="5" aliases="none">
        <maml:name>arrSubRoot</maml:name>
        <maml:description>
          <maml:para>An item of a delivery bill is stored in the `arrSubRoot` node. The default is `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>Item</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="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="true" 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="3" 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 '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>Eulanda</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. 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 -path "C:\Temp\Result.xml"</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-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-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="true" 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="true" 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-MssqlBrowser</command:name>
      <command:verb>Find</command:verb>
      <command:noun>MssqlBrowser</command:noun>
      <maml:description>
        <maml:para>Searches for all SQL-Browsers in a specified IP range</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This function searches for all SQL-Browsers 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:para>&gt; ATTENTION : When scanning a complete Class C subnet, the process of discovery may take several minutes.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-MssqlBrowser</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
          <maml:name>fromIp</maml:name>
          <maml:description>
            <maml:para>Specifies the starting IP address of the range of IP addresses to scan. If this parameter is not specified, the function will use the first IP address in the local 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>toIp</maml:name>
          <maml:description>
            <maml:para>Specifies the ending IP address of the range of IP addresses to scan. If this parameter is not specified, the function will use the last IP address in the local 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>port</maml:name>
          <maml:description>
            <maml:para>Specifies the port number to scan for SQL Browser services. The default value is 1434.</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>timeout</maml:name>
          <maml:description>
            <maml:para>Specifies the maximum time in seconds to wait for a response from each IP address. The default value is 300 seconds (5 minutes).</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>fromIp</maml:name>
        <maml:description>
          <maml:para>Specifies the starting IP address of the range of IP addresses to scan. If this parameter is not specified, the function will use the first IP address in the local 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>port</maml:name>
        <maml:description>
          <maml:para>Specifies the port number to scan for SQL Browser services. The default value is 1434.</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>timeout</maml:name>
        <maml:description>
          <maml:para>Specifies the maximum time in seconds to wait for a response from each IP address. The default value is 300 seconds (5 minutes).</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>toIp</maml:name>
        <maml:description>
          <maml:para>Specifies the ending IP address of the range of IP addresses to scan. If this parameter is not specified, the function will use the last IP address in the local 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: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; $instances= Find-MssqlBrowser
PS C:\&gt; $instances | Out-GridView
 
Ip ServerName InstanceName IsClustered Version tcp np
-- ---------- ------------ ----------- ------- --- --
192.168.178.10 STUDIO EULANDA No 12.0.6024.0 60983 \\DADOSTUDIO\pipe\MSSQL$EULANDA\sql\query
192.168.178.10 STUDIO SQL2019 No 15.0.2000.5 61310 \\DADOSTUDIO\pipe\MSSQL$SQL2019\sql\query
192.168.178.16 GO EULANDA No 15.0.2000.5 52894 \\DADOGO\pipe\MSSQL$EULANDA\sql\query</dev:code>
        <dev:remarks>
          <maml:para>Without specifying any parameters, the function will scan the entire subnet for SQL-Browsers. The output can be piped to an Out-GridView. Instead of sending the output of `Find-MssqlBrowser` 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:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Online Version:</maml:linkText>
        <maml:uri>https://github.com/Eulanda/EulandaConnect/blob/master/docs/Find-Mssql-Browser.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 `text` 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 `text` 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:syntaxItem>
      <command:syntaxItem>
        <maml:name>Format-Xml</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>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: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: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 `text` 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="true" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>text</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 -text "&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"</dev:code>
        <dev:remarks>
          <maml:para>Format an XML file and save it to a new file.</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 -text "&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 match field.</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="0" aliases="none">
          <maml:name>match</maml:name>
          <maml:description>
            <maml:para>The normally unique search term to find an address. Wildcard search is possible via the like switch.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</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>id</maml:name>
          <maml:description>
            <maml:para>Specifies an `Id` by which the record is to be found.</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>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: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="1" aliases="none">
        <maml:name>id</maml:name>
        <maml:description>
          <maml:para>Specifies an `Id` by which the record is to be found.</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>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="0" aliases="none">
        <maml:name>match</maml:name>
        <maml:description>
          <maml:para>The normally unique search term to find an address. Wildcard search is possible via the like switch.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</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 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-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 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>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>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="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: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: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: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="true" 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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" 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: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 -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="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 -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>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-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-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-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. A global variable `$adCloseOnExit` is set, so that the calling function can close its connection at the end. 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-ConnItems.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; [int]$deliveryId= Get-DeliveryId -deliveryNo 20230515 -udl "C:\temp\Eulanda_1 JohnDoe.udl"</dev:code>
        <dev:remarks>
          <maml:para>After executing the command, the variable `$deliveryId` contains 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="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 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 sales order number 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>salesOrderId</maml:name>
          <maml:description>
            <maml:para>The `Id` of the sales order.</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>The customer order number often comes into play with connected online store systems. This then usually contains the order number from the third-party system. It can also be used to localize the sales order.</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>The customer order number often comes into play with connected online store systems. This then usually contains the order number from the third-party system. It can also be used to localize the sales order.</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 `Id` of the sales order.</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 sales order number 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="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="false" 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="false" 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="false" 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="false" 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="true" 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="true" 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="false" 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="false" 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="false" 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="false" 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="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 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="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 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="0" aliases="none">
          <maml:name>fileMask</maml:name>
          <maml:description>
            <maml:para>The parameter includes folder and file mask, like `c:\temp*.txt`.</maml:para>
          </maml:description>
          <command:parameterValue required="true" 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>fileMask</maml:name>
        <maml:description>
          <maml:para>The parameter includes folder and file mask, like `c:\temp*.txt`.</maml:para>
        </maml:description>
        <command:parameterValue required="true" 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 oldes 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-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-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="false" 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="false" 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="false" 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="false" 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; $result= Get-MultipleOption -text $text -iso 'IT'
PS C:\&gt; Write-Host $result
 
# 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>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: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: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-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="true" 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: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>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: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">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>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">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: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="false" 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">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>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">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="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">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>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">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: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="false" 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="false" 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="false" 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="false" 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>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="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="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="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="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="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="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="true" 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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" 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: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-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="false" 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="false" 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="false" 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="false" 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-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>By entering the customer order number, the system checks whether the order already exists. For this reason, this field should have been modified as unique in the ERP 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>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="false" variableLength="true" globbing="false" pipelineInput="False" position="0" aliases="none">
        <maml:name>customerOrderNo</maml:name>
        <maml:description>
          <maml:para>By entering the customer order number, the system checks whether the order already exists. For this reason, this field should have been modified as unique in the ERP 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="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: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-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>