en-US/Diag-V-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>Get-AllVHD</command:name>
      <command:verb>Get</command:verb>
      <command:noun>AllVHD</command:noun>
      <maml:description>
        <maml:para>For each VM detected all associated VHD / VHDX are identified and information about those virtual disks are returned.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automatically detects Standalone / Clustered Hyper-V and identifies all VHDs / VHDXs associated with each VM detected. For each VHD / VHDX data is retrieved and returned. Calculations are performed to determine the total sum of current VHD / VHDX usage and the POTENTIAL VHD / VHDX usage (dependent on whether virtual disks are fixed or dynamic)</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-AllVHD</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>PSCredential object for storing provided creds</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="named" aliases="none">
          <maml:name>NoFormat</maml:name>
          <maml:Description>
            <maml:para>No formatting of return object. By default this function returns a formatted table object. This makes it look good, but you lose certain functionality, like using Where-Object. By specifying this parameter you get a more raw output, but the ability to query.</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>NoFormat</maml:name>
        <maml:Description>
          <maml:para>No formatting of return object. By default this function returns a formatted table object. This makes it look good, but you lose certain functionality, like using Where-Object. By specifying this parameter you get a more raw output, but the ability to query.</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>Credential</maml:name>
        <maml:Description>
          <maml:para>PSCredential object for storing provided creds</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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.FormatStartData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.GroupStartData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.GroupEndData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.FormatEndData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>-or-</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ See the README for more details if you want to run this function remotely. The VHDX disk usage summary is only available when using the NoFormat switch.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-AllVHD</dev:code>
        <dev:remarks>
          <maml:para>Returns virtual hard disk information for each VM discovered.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-AllVHD -NoFormat</dev:code>
        <dev:remarks>
          <maml:para>Returns virtual hard disk information for each VM discovered. A Raw data object is returned with no processing done.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-AllVHD -NoFormat | ? {$_.Name -eq 'VM1'}</dev:code>
        <dev:remarks>
          <maml:para>Returns virtual hard disk information for each VM discovered but only data related to VM1 will be displayed.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-AllVHD -Credential $credential</dev:code>
        <dev:remarks>
          <maml:para>Returns virtual hard disk information for each VM discovered. The provided credentials are used.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-BINSpaceInfo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>BINSpaceInfo</command:noun>
      <maml:description>
        <maml:para>Evaluates each VM to determine if hard drive space is being taken up by the AutomaticStopAction setting.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automatically detects Standalone / Clustered Hyper-V and checks each VMs RAM and AutomaticStopAction setting - then tallies the amount of total hard drive space being taken up by the associated BIN files. Useful for identifying potential storage savings by adjusting the AutomaticStopAction.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-BINSpaceInfo</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>InfoType</maml:name>
          <maml:Description>
            <maml:para>StorageSavings for calculating space savings, VMInfo for VM BIN configuration information</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</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>Credential</maml:name>
          <maml:Description>
            <maml:para>PSCredential object for storing provided creds</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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>InfoType</maml:name>
        <maml:Description>
          <maml:para>StorageSavings for calculating space savings, VMInfo for VM BIN configuration information</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</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>Credential</maml:name>
        <maml:Description>
          <maml:para>PSCredential object for storing provided creds</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:parameters>
    <command:inputTypes />
    <command:returnValues />
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ See the README for more details if you want to run this function remotely.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-BINSpaceInfo -InfoType StorageSavings</dev:code>
        <dev:remarks>
          <maml:para>Gets all VMs, their RAM, and their AutomaticStopAction setting. Based on findings, an estimated total potential storage savings is calculated and returned for each Hyper-V server.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-BINSpaceInfo -InfoType VMInfo</dev:code>
        <dev:remarks>
          <maml:para>Gets all VMs, their RAM, and their AutomaticStopAction setting. The information for each VM related to BIN is then returned.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-BINSpaceInfo -InfoType VMInfo -Credential $credential</dev:code>
        <dev:remarks>
          <maml:para>Gets all VMs, their RAM, and their AutomaticStopAction setting. The information for each VM related to BIN is then returned. This is processed with the provided credential.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-CSVInfo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>CSVInfo</command:noun>
      <maml:description>
        <maml:para>Queries all CSVs that are part of the Hyper-V cluster and returns detailed information about each CSV.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Discovers all cluster shared volumes (CSV) associated with the Hyper-V cluster. Resolves all cluster shared volumes to a physical disk and returns information regarding the CSV and associated physical drive.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-CSVInfo</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>PSCredential object for storing provided creds</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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:Description>
          <maml:para>PSCredential object for storing provided creds</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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ See the README for more details if you want to run this function remotely. This function will only work on Hyper-V clusters.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-CSVInfo</dev:code>
        <dev:remarks>
          <maml:para>Returns cluster shared volumes and information related to the physical disk association of each CSV.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-CSVInfo -Credential</dev:code>
        <dev:remarks>
          <maml:para>Returns cluster shared volumes and information related to the physical disk association of each CSV. The provided credentials are used.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-FileSizeInfo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>FileSizeInfo</command:noun>
      <maml:description>
        <maml:para>Evaluates the user provided path and tallies the total size of all files found. The top 10 largest files are also returned.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Recursively scans all files in the specified path. It then gives a total size in GB for all files found under the specified location as well as the top 10 largest files discovered.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-FileSizeInfo</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Path</maml:name>
          <maml:Description>
            <maml:para>File path you wish to query Please enter a path (Ex: C:\ClusterStorage\Volume1)</maml:para>
          </maml:Description>
          <command:parameterValue required="true" 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="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Path</maml:name>
        <maml:Description>
          <maml:para>File path you wish to query Please enter a path (Ex: C:\ClusterStorage\Volume1)</maml:para>
        </maml:Description>
        <command:parameterValue required="true" 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>
      <command:returnValue>
        <dev:type>
          <maml:name>Selected.System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <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>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ This function can take some time to complete based on the size and number of files in the specified path.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-FileSizeInfo -Path C:\ClusterStorage\Volume1\</dev:code>
        <dev:remarks>
          <maml:para>This command recursively scans the specified path and will tally the total size of all discovered files as well as return the top 10 largest files.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-HyperVLogInfo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>HyperVLogInfo</command:noun>
      <maml:description>
        <maml:para>Parses server event logs and retrieves log entries based on user provided options.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Retrieves event log information using filters created by user provided options. Capable of running locally on a device to retrieve local logs or can establish a remote connection to a specified device. Log queries can be based on user provided criteria (Log name, Log Level, Start and End Times). If not, options are specified by default: (Hyper-V logs Critical, Errors, and Warnings for the last 24 hours). If no logs are found that match the criteria a result is returned to the user to easily place in a ticket or other correspondence.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-HyperVLogInfo</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>HostName</maml:name>
          <maml:Description>
            <maml:para>Hostname of destination machine</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>$env:COMPUTERNAME</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>Admin credentials for destination machine</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="3" aliases="none">
          <maml:name>LogName</maml:name>
          <maml:Description>
            <maml:para>Name of logs you wish to pull results from Examples: System,Application | cluster: Fail | DHCP: " DHCP " | Hyper-V: Hyper-V If nothing is specified Hyper-V is chosen by default</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
          <dev:type>
            <maml:name>String[]</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>*Hyper-v*</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
          <maml:name>Level</maml:name>
          <maml:Description>
            <maml:para>Log level you wish to query Verbose 5 Informational 4 Warning 3 Error 2 Critical 1 LogAlways 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>(1, 2, 3)</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
          <maml:name>StartDate</maml:name>
          <maml:Description>
            <maml:para>Starting DateTime If nothing is chosen the start time is set to 24 hours in the past</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>(Get-Date).AddDays(-1)</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
          <maml:name>EndDate</maml:name>
          <maml:Description>
            <maml:para>Ending DateTime If nothing is chosen the end time is set to the current time.</maml:para>
          </maml:Description>
          <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>(Get-Date)</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>HostName</maml:name>
        <maml:Description>
          <maml:para>Hostname of destination machine</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>$env:COMPUTERNAME</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:Description>
          <maml:para>Admin credentials for destination machine</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="3" aliases="none">
        <maml:name>LogName</maml:name>
        <maml:Description>
          <maml:para>Name of logs you wish to pull results from Examples: System,Application | cluster: Fail | DHCP: " DHCP " | Hyper-V: Hyper-V If nothing is specified Hyper-V is chosen by default</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">String[]</command:parameterValue>
        <dev:type>
          <maml:name>String[]</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>*Hyper-v*</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="4" aliases="none">
        <maml:name>Level</maml:name>
        <maml:Description>
          <maml:para>Log level you wish to query Verbose 5 Informational 4 Warning 3 Error 2 Critical 1 LogAlways 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>(1, 2, 3)</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="5" aliases="none">
        <maml:name>StartDate</maml:name>
        <maml:Description>
          <maml:para>Starting DateTime If nothing is chosen the start time is set to 24 hours in the past</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>(Get-Date).AddDays(-1)</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="6" aliases="none">
        <maml:name>EndDate</maml:name>
        <maml:Description>
          <maml:para>Ending DateTime If nothing is chosen the end time is set to the current time.</maml:para>
        </maml:Description>
        <command:parameterValue required="true" variableLength="false">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>(Get-Date)</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Selected.System.Diagnostics.Eventing.Reader.EventLogRecord</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>-or-</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ This function can query any server log - but is set by default to only query Hyper-V logs. This can be changed by the user through parameter adjustments.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-ServerLogInfo</dev:code>
        <dev:remarks>
          <maml:para>On the local running device, retrieves server logs with all defaults: All Hyper-V logs will be queried for Warning, Error, Critical, for the last 24 hours.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-ServerLogInfo -HostName Server1 -Level 1</dev:code>
        <dev:remarks>
          <maml:para>Retrieves Hyper-V Critical only, for the last 24 hours. The current context of the user will be used in the remote connection to Server1.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-ServerLogInfo -HostName Server1 -Credential $credential -Level 1,2</dev:code>
        <dev:remarks>
          <maml:para>Retrieves Hyper-V Critical and Warning only, for the last 24 hours. The provided credentials will be used in the remote connection to Server1.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-ServerLogInfo -HostName Server01 -Credential $creds -LogName System -Level 1,2 -StartDate '2018-11-04 17:30:31.0' -EndDate '2018-11-04 18:30:31.0'</dev:code>
        <dev:remarks>
          <maml:para>Queries System log for Critical and Errors for the specified time period of 1 hour. Note, various date formatting inputs are accepted.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 5 --------------------------</maml:title>
        <dev:code>Get-ServerLogInfo -HostName Server01 -Credential $creds -LogName System,Application,*Hyper-V* -Level 1,2</dev:code>
        <dev:remarks>
          <maml:para>Queries System, Application, and all Hyper-V logs for Critical and Error within the last 24 hours</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 6 --------------------------</maml:title>
        <dev:code>Get-ServerLogInfo -HostName Server01 -Credential $creds -LogName System,Application,*Hyper-V* -Level 1,2 -Verbose</dev:code>
        <dev:remarks>
          <maml:para>Queries System, Application, and all Hyper-V logs for Critical and Error within the last 24 hours with verbose output</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-IntegrationServicesCheck</command:name>
      <command:verb>Get</command:verb>
      <command:noun>IntegrationServicesCheck</command:noun>
      <maml:description>
        <maml:para>Displays IntegrationServicesVersion and enabled integration services for all VMs.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automatically detects Standalone / Clustered Hyper-V and gets the IntegrationServicesVersion and enabled integration services for all VMs.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-IntegrationServicesCheck</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>PSCredential object for storing provided creds</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="named" aliases="none">
          <maml:name>NoFormat</maml:name>
          <maml:Description>
            <maml:para>No formatting of return object. By default this function returns a formatted table object. This makes it look good, but you lose certain functionality, like using Where-Object. By specifying this parameter you get a more raw output, but the ability to query.</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>NoFormat</maml:name>
        <maml:Description>
          <maml:para>No formatting of return object. By default this function returns a formatted table object. This makes it look good, but you lose certain functionality, like using Where-Object. By specifying this parameter you get a more raw output, but the ability to query.</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>Credential</maml:name>
        <maml:Description>
          <maml:para>PSCredential object for storing provided creds</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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.FormatStartData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.GroupStartData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.GroupEndData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.FormatEndData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>-or-</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Selected.Microsoft.HyperV.PowerShell.GuestServiceInterfaceComponent</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Selected.Microsoft.HyperV.PowerShell.VMIntegrationComponent</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Selected.Microsoft.HyperV.PowerShell.DataExchangeComponent</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Selected.Microsoft.HyperV.PowerShell.ShutdownComponent</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Selected.Microsoft.HyperV.PowerShell.VirtualMachine</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ See the README for more details if you want to run this function remotely.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-IntegrationServicesCheck</dev:code>
        <dev:remarks>
          <maml:para>Returns Integration Services information for all discovered VMs.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-IntegrationServicesCheck -Credential $credential</dev:code>
        <dev:remarks>
          <maml:para>Returns Integration Services information for all discovered VMs using the provided credentials.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-IntegrationServicesCheck -NoFormat | ? {$_.vmname -eq 'techthoughts'}</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-IntegrationServicesCheck -NoFormat</dev:code>
        <dev:remarks>
          <maml:para>Returns Integration Services information for all discovered VMs. Raw data object is returned with no processing done.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-SharedVHD</command:name>
      <command:verb>Get</command:verb>
      <command:noun>SharedVHD</command:noun>
      <maml:description>
        <maml:para>For each VM detected all associated VHD / VHDX are evaluated for there SupportPersistentReservations status.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automatically detects Standalone / Clustered Hyper-V and identifies all VHD / VHDX associated with each VM found. Results are returned about the SupportPersistentReservations status if each virtual drive.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-SharedVHD</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>PSCredential object for storing provided creds</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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:Description>
          <maml:para>PSCredential object for storing provided creds</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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ See the README for more details if you want to run this function remotely. If SupportPersistentReservations is true, the VHD / VHDX is shared.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-SharedVHD</dev:code>
        <dev:remarks>
          <maml:para>Returns SupportPersistentReservations information for each VHD for every VM discovered. If SupportPersistentReservations is true, the VHD is shared.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-SharedVHD -Credential $credential</dev:code>
        <dev:remarks>
          <maml:para>Returns SupportPersistentReservations information for each VHD for every VM discovered. If SupportPersistentReservations is true, the VHD is shared. Provided credentials are used.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-VMInfo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>VMInfo</command:noun>
      <maml:description>
        <maml:para>Returns VM information for all detected VMs.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automatically detects Standalone / Clustered Hyper-V and returns VM configuration information for all discovered VMs. This function goes a lot further than a simple Get-VM and provides in depth information of the VM configuration.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-VMInfo</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>PSCredential object for storing provided creds</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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:Description>
          <maml:para>PSCredential object for storing provided creds</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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ See the README for more details if you want to run this function remotely.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-VMInfo</dev:code>
        <dev:remarks>
          <maml:para>Returns VM configuration information for all discovered VMs.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-VMInfo -Credential $credential</dev:code>
        <dev:remarks>
          <maml:para>Returns VM configuration information for all discovered VMs. The provided credentials will be used.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-VMInfo | Where-Object {$_.Name -eq 'Server1'}</dev:code>
        <dev:remarks>
          <maml:para>Returns VM configuration information for all discovered VMs. Only Server1 VM information will be displayed.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-VMLocationPathInfo</command:name>
      <command:verb>Get</command:verb>
      <command:noun>VMLocationPathInfo</command:noun>
      <maml:description>
        <maml:para>A VM has several components which can reside in varying locations. This identifies and returns the location of all VM components.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automatically detects Standalone / Clustered Hyper-V. A VM is comprised of a few components beyond just VHD/ VHDX. This returns the location paths for the VM's configuration files, Snapshot Files, and Smart Paging files.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-VMLocationPathInfo</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>PSCredential object for storing provided creds</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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:Description>
          <maml:para>PSCredential object for storing provided creds</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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Selected.Microsoft.HyperV.PowerShell.VirtualMachine</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ See the README for more details if you want to run this function remotely.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-VMLocationPathInfo</dev:code>
        <dev:remarks>
          <maml:para>Returns the configuration paths for all discovered VMs.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-VMLocationPathInfo | Where-Object {$_.VMName -eq 'Server1'}</dev:code>
        <dev:remarks>
          <maml:para>Returns the configuration paths for Server1 only.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-VMLocationPathInfo -Credential $credential</dev:code>
        <dev:remarks>
          <maml:para>Returns the configuration paths for all discovered VMs using the provided credentials.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-VMReplicationStatus</command:name>
      <command:verb>Get</command:verb>
      <command:noun>VMReplicationStatus</command:noun>
      <maml:description>
        <maml:para>Returns VM replication configuration and replication status for all detected VMs.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automatically detects Standalone / Clustered Hyper-V and returns VM replication status information for all VMs.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-VMReplicationStatus</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>PSCredential object for storing provided creds</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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:Description>
          <maml:para>PSCredential object for storing provided creds</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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Selected.Microsoft.HyperV.PowerShell.VirtualMachine</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ See the README for more details if you want to run this function remotely.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-VMReplicationStatus</dev:code>
        <dev:remarks>
          <maml:para>Returns VM replication status information for all detected VMs.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-VMReplicationStatus | Where-Object {$_.VMName -eq 'Server1'}</dev:code>
        <dev:remarks>
          <maml:para>Returns VM replication status information for all VMs. Only Server1 will be displayed.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-VMReplicationStatus -Credential $credential</dev:code>
        <dev:remarks>
          <maml:para>Returns VM replication status information for all detected VMs using the provided credentials.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-VMStatus</command:name>
      <command:verb>Get</command:verb>
      <command:noun>VMStatus</command:noun>
      <maml:description>
        <maml:para>Returns status of all discovered VMs.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automatically detects Standalone / Clustered Hyper-V and returns the status of all discovered VMs.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-VMStatus</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>PSCredential object for storing provided creds</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="named" aliases="none">
          <maml:name>NoFormat</maml:name>
          <maml:Description>
            <maml:para>No formatting of return object. By default this function returns a formatted table object. This makes it look good, but you lose certain functionality, like using Where-Object. By specifying this parameter you get a more raw output, but the ability to query.</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>NoFormat</maml:name>
        <maml:Description>
          <maml:para>No formatting of return object. By default this function returns a formatted table object. This makes it look good, but you lose certain functionality, like using Where-Object. By specifying this parameter you get a more raw output, but the ability to query.</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>Credential</maml:name>
        <maml:Description>
          <maml:para>PSCredential object for storing provided creds</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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.FormatStartData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.GroupStartData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.FormatEntryData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.GroupEndData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.PowerShell.Commands.Internal.Format.FormatEndData</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>-or-</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Microsoft.HyperV.PowerShell.VirtualMachine</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ See the README for more details if you want to run this function remotely.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-VMStatus</dev:code>
        <dev:remarks>
          <maml:para>Returns VM status information for all discovered VMs.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-VMStatus -Credential</dev:code>
        <dev:remarks>
          <maml:para>Returns VM status information for all discovered VMs using the provided credentials.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-VMStatus -NoFormat | Where-Object {$_.name -eq 'Server1'}</dev:code>
        <dev:remarks>
          <maml:para>Returns VM status information for all discovered VMs. Only date for Server1 will be displayed.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-VMStatus -NoFormat</dev:code>
        <dev:remarks>
          <maml:para>Returns VM status information for all discovered VMs. Raw data object is returned with no processing done.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</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-HyperVAllocation</command:name>
      <command:verb>Test</command:verb>
      <command:noun>HyperVAllocation</command:noun>
      <maml:description>
        <maml:para>Performs a Hyper-V system evaluation for each Hyper-V node found, and returns a resource allocation health report.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Automatically detects Standalone / Clustered Hyper-V. All Hyper-V nodes will be identified and evaluated. Available chassis resources will be gathered and will be compared to all VM CPU and memory allocations. Calculations will then be performed to determine the overall health of the node from a CPU/RAM perspective. Available storage space will also be calculated. For clusters, CSV locations will be checked. For standalone Hyper-V servers any drive larger than 10GB and not C: will be checked. Drives under 1TB with less than 15% will be flagged as unhealthy. Drives over 1TB with less than 10% will be flagged as unhealthy. If a cluster is detected an additional calculation will be performed that simulates the loss of one node to determine if VMs could survive the loss of a cluster node.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Test-HyperVAllocation</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:Description>
            <maml:para>PSCredential object for storing provided creds</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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:Description>
          <maml:para>PSCredential object for storing provided creds</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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Author: Jake Morrison - @jakemorrison - http://techthoughts.info/ See the README for more details if you want to run this function remotely. This was really, really hard to make.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Test-HyperVAllocation</dev:code>
        <dev:remarks>
          <maml:para>Gathers chassis and VM configuration information from all nodes and returns a diagnostic report based on a series of calculations.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Test-HyperVAllocation -Credential $credential</dev:code>
        <dev:remarks>
          <maml:para>Gathers chassis and VM configuration information from all nodes and returns a diagnostic report based on a series of calculations. The provided credentials are used.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Test-HyperVAllocation -Verbose</dev:code>
        <dev:remarks>
          <maml:para>Gathers chassis and VM configuration information from all nodes and returns a diagnostic report based on a series of calculations with Verbose output.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>http://techthoughts.info/Diag-V/</maml:linkText>
        <maml:uri>http://techthoughts.info/Diag-V/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
</helpItems>