Ks.Tools.dll-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>Find-ktnextsubnet</command:name>
      <command:verb>Find</command:verb>
      <command:noun>ktnextsubnet</command:noun>
      <maml:description>
        <maml:para>Find spare address block that can be assigned to a new subnet</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The find-ktnextsubnet takes the existing address space and subnets of a VNET and returns a free block of address based on the required size (prefixlength) out of an assigned scope. </maml:para>
      <maml:para>For example, say your VNET has an address space of 10.0.0.0/8, and you have carved out 10.24.0.0/16 as an summary for all addresses used for web servers. Multiple subnets already exist and you want to quickly assigned the next available /24 in this 10.24.0.0/16 address block. </maml:para>
      <maml:para>To do this, first get the VNET, then run find-ktnextsubnet with the subnets and addresspace of the VNET, as well as the 10.24.0.0/16 as scope and 24 as the prefix length. Should you want to carve out 4 subnets, then run the command four times, and at the index parameter at the end which you increment each time. The purpose of this is that you can quickly generate 4 new subnets and then submit them to the existing VNETs in 1 transaction which is faster than doing this 4 separate times. </maml:para>
      <maml:para>If the scope is not specified, then the first address space entry will be used instead.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Find-ktnextsubnet</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none">
          <maml:name>Subnets</maml:name>
          <maml:Description>
            <maml:para>This represents the current subnets as associated with the VNET. This is used by the command to ensure that new addresses returned do not conflict. This is optional, if not provided, the command assumes no subnets have already been assigend. This command takes an array of strings with each entry representing a subnet in the CIDR format: 10.24.5.0/24</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">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="True (ByPropertyName)" position="1" aliases="none">
          <maml:name>AddressSpace</maml:name>
          <maml:Description>
            <maml:para>This is the address space assigned to the VNET. This is used to ensure that you only select addresses included in the address space of the VNET. This command takes and array of strings with each entry following a format such as 10.0.0.0/8.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="2" aliases="none">
          <maml:name>prefixLength</maml:name>
          <maml:Description>
            <maml:para>This specifies the size of the free block you are requesting. This has a default of 24. Obviously, if you request a block that is larger than the address space or larger than the space available, an error will be thrown.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" 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="True (ByPropertyName)" position="3" aliases="none">
          <maml:name>scope</maml:name>
          <maml:Description>
            <maml:para>This allows you to specify a specific portion of the address space out of which you want to request the address block. If not specific, the address space is used. If more than one address space is submitted, then the first address space 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:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="4" aliases="none">
          <maml:name>index</maml:name>
          <maml:Description>
            <maml:para>By default, the command will return the FIRST available subnet that meets the conditions. This, index has a default value of 0. If the index is set to 1, the second entry is return, and set to 2, the 3rd entry is returned and so on. This is mainly useful when you want to create several consecutive subnets. When a new subnet is created in a VNET, the the VNET must be updated with set-azvirtualnetwork. Through the index option, you can create multiple subnets which you can assign to a VNET and then submit in one go (which is faster).</maml:para>
          </maml:Description>
          <command:parameterValue required="true" 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="True (ByPropertyName)" position="1" aliases="none">
        <maml:name>AddressSpace</maml:name>
        <maml:Description>
          <maml:para>This is the address space assigned to the VNET. This is used to ensure that you only select addresses included in the address space of the VNET. This command takes and array of strings with each entry following a format such as 10.0.0.0/8.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="none">
        <maml:name>Subnets</maml:name>
        <maml:Description>
          <maml:para>This represents the current subnets as associated with the VNET. This is used by the command to ensure that new addresses returned do not conflict. This is optional, if not provided, the command assumes no subnets have already been assigend. This command takes an array of strings with each entry representing a subnet in the CIDR format: 10.24.5.0/24</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="4" aliases="none">
        <maml:name>index</maml:name>
        <maml:Description>
          <maml:para>By default, the command will return the FIRST available subnet that meets the conditions. This, index has a default value of 0. If the index is set to 1, the second entry is return, and set to 2, the 3rd entry is returned and so on. This is mainly useful when you want to create several consecutive subnets. When a new subnet is created in a VNET, the the VNET must be updated with set-azvirtualnetwork. Through the index option, you can create multiple subnets which you can assign to a VNET and then submit in one go (which is faster).</maml:para>
        </maml:Description>
        <command:parameterValue required="true" 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="True (ByPropertyName)" position="2" aliases="none">
        <maml:name>prefixLength</maml:name>
        <maml:Description>
          <maml:para>This specifies the size of the free block you are requesting. This has a default of 24. Obviously, if you request a block that is larger than the address space or larger than the space available, an error will be thrown.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" 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="True (ByPropertyName)" position="3" aliases="none">
        <maml:name>scope</maml:name>
        <maml:Description>
          <maml:para>This allows you to specify a specific portion of the address space out of which you want to request the address block. If not specific, the address space is used. If more than one address space is submitted, then the first address space 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>System.String[]</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.Int32</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <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.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 --------------------------</maml:title>
        <dev:code>PS C:\&gt; $VNET = get-azvirtualnetwork -name "VNET" -resourcegroup "RG1"
PS C:\&gt; $subnets = $VNET.subnets
PS C:\&gt; $addressspace = $vnet.AddressSpace.AddressPrefixes
PS C:\&gt; find-ktnextsubnet -subnets $subnets.AddressPrefix -addressspace -$addressspace -scope 10.24.0.0/16 -prefixLength 24 -index 1
PS C:\&gt; 10.24.1.0/24</dev:code>
        <dev:remarks>
          <maml:para>First you get the existing VNET. Next, convert the subnets and addressspace properties into an array of strings which we can feed into the command. Next, run find-ktnextsubnet. In this example, the command will check for the second (index 1, the first would be index = 0) block of addresses out of 10.24.0.0/16 of a size of /24. The command check whether or not this is a valid portion of the address space, sufficient room is available and there is no conflict. </maml:para>
          <maml:para></maml:para>
          <maml:para>{{ Add example description here }}</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <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-Ktpassword</command:name>
      <command:verb>New</command:verb>
      <command:noun>Ktpassword</command:noun>
      <maml:description>
        <maml:para>new-ktpassword creates a random password using a secure password generator.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command creates a random password. By default the password is 15 characters long and contains Uppercaps, lowercapps, numbers and special characters. It is possible to create a password that is only numerical simply by specifying that you do not want to include other items. Because complex passwords are the most common usecase they are generated more rapipdly. It is not recommended to use this command to create a long numerical password. The characters are completely random using a cryptographic random character generator and are validated to include all required types.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>New-Ktpassword</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="True (ByValue)" position="0" aliases="none">
          <maml:name>length</maml:name>
          <maml:Description>
            <maml:para>length of the output string</maml:para>
          </maml:Description>
          <command:parameterValue required="true" 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>nolowercaps</maml:name>
          <maml:Description>
            <maml:para>Creates a string that contains no lower cap characters.</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>nonumbers</maml:name>
          <maml:Description>
            <maml:para>Creates a string that contains no numbers characters.</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>nospecial</maml:name>
          <maml:Description>
            <maml:para>Creates a string that contains no special characters characters.</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>nouppercaps</maml:name>
          <maml:Description>
            <maml:para>Creates a string that contains no uppercaps.</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>asSecureString</maml:name>
          <maml:Description>
            <maml:para>Returns the password as a secure String.</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="True (ByValue)" position="0" aliases="none">
        <maml:name>length</maml:name>
        <maml:Description>
          <maml:para>length of the output string</maml:para>
        </maml:Description>
        <command:parameterValue required="true" 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>nolowercaps</maml:name>
        <maml:Description>
          <maml:para>Creates a string that contains no lower cap characters.</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>nonumbers</maml:name>
        <maml:Description>
          <maml:para>Creates a string that contains no numbers characters.</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>nospecial</maml:name>
        <maml:Description>
          <maml:para>Creates a string that contains no special characters characters.</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>nouppercaps</maml:name>
        <maml:Description>
          <maml:para>Creates a string that contains no uppercaps.</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>asSecureString</maml:name>
        <maml:Description>
          <maml:para>Returns the password as a secure String.</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>System.Int32</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; new-ktpassword -length 20
PS C:\&gt;C|{OoR\`VX,s{ht7.Ibt</dev:code>
        <dev:remarks>
          <maml:para>Generates a completely random string of 20 characters long containing uppercaps, lowercaps, numbers and special characters.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 2 --------------------------</maml:title>
        <dev:code>PS C:\&gt;$password = new-ktpassword -length 20 -asSecureString
PS C:\&gt;</dev:code>
        <dev:remarks>
          <maml:para>Generates a completely random string of 20 characters long containing uppercaps, lowercaps, numbers and special characters, and stores it as a SecureString in the $password variable.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <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>Split-KtSubnet</command:name>
      <command:verb>Split</command:verb>
      <command:noun>KtSubnet</command:noun>
      <maml:description>
        <maml:para>Use to split a subnet into multiple subnets</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use this to split a subnet into multiple subnets. It takes a subnets (string in form x.x.x.x/xx), and will return the resulting subnets in the same format. The parameter bitsToshift indicates which way this has to be split. For example, 1 will increment the subnet mask by 1. Thus, if you split a /24 with a bitsToShift of 1, you will create 2 /25 subnets. This way, we ensure that what is requested is valid. The way you divide subnets is controlled by subnet masks, and this approach stops the use of invalid data. </maml:para>
      <maml:para>The command will validate whether you have provided a valid subnet (as opposed to an IP address)</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Split-KtSubnet</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="bits">
          <maml:name>bitsToShift</maml:name>
          <maml:Description>
            <maml:para>Specifies the shift in the subnet mask and resulting number of subnets. The default is 1, and will split the input in two. Thus a /24 will become two /25. Similarly, if you specify 4, on a /16, you will produce 16 /20 subnets.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" 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="True (ByPropertyName, ByValue)" position="named" aliases="none">
          <maml:name>Subnet</maml:name>
          <maml:Description>
            <maml:para>The subnet to split. Can be an array, and can be pipelined. Specify in the format x.x.x.x/xx. Example 192.168.0.0/24</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</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="cf">
          <maml:name>Confirm</maml:name>
          <maml:Description>
            <maml:para>Prompts you for confirmation before running the cmdlet.</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="wi">
          <maml:name>WhatIf</maml:name>
          <maml:Description>
            <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</maml:para>
          </maml:Description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName)" position="0" aliases="bits">
        <maml:name>bitsToShift</maml:name>
        <maml:Description>
          <maml:para>Specifies the shift in the subnet mask and resulting number of subnets. The default is 1, and will split the input in two. Thus a /24 will become two /25. Similarly, if you specify 4, on a /16, you will produce 16 /20 subnets.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" 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="True (ByPropertyName, ByValue)" position="named" aliases="none">
        <maml:name>Subnet</maml:name>
        <maml:Description>
          <maml:para>The subnet to split. Can be an array, and can be pipelined. Specify in the format x.x.x.x/xx. Example 192.168.0.0/24</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</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="cf">
        <maml:name>Confirm</maml:name>
        <maml:Description>
          <maml:para>Prompts you for confirmation before running the cmdlet.</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="wi">
        <maml:name>WhatIf</maml:name>
        <maml:Description>
          <maml:para>Shows what would happen if the cmdlet runs. The cmdlet is not run.</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>System.String[]</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.Int32</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- Example 1 --------------------------</maml:title>
        <dev:code>PS C:\&gt; split-ktsubnet "10.0.1.0/24" -bitstoShift "1"
10.0.1.0/25
10.0.1.128/25</dev:code>
        <dev:remarks>
          <maml:para>This will split 10.0.1.0/24 into two /25 subnets.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- Example 2 --------------------------</maml:title>
        <dev:code>PS C:\&gt; $subnet = "192.168.128.0/25"
PS C:\&gt; $subnets | split-ktsubnet 2
192.168.128.0/27
192.168.128.32/27
192.168.128.64/27
192.168.128.96/27</dev:code>
        <dev:remarks>
          <maml:para>This will split 192.168.128.0/25 into four, each of which will be a /27 subnet.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
</helpItems>