en-US/TheCleaners-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>Clear-CurrentUserTemp</command:name>
      <command:verb>Clear</command:verb>
      <command:noun>CurrentUserTemp</command:noun>
      <maml:description>
        <maml:para>Remove old files from the current user's Windows temporary directory.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Discover candidates under the current user's temporary root using one inclusive UTC cutoff. Candidate file IDs and directory IDs are captured during discovery and compared with the same native handle used for the deletion request. Ancestor directory handles remain held through candidate mutation so a validated parent cannot be renamed or replaced by a reparse point during the operation. The handle requests DELETE and FILE_READ_ATTRIBUTES only; it does not read file contents. Directory removal is opt-in, non-recursive, deepest-first, and limited to directories emptied by this invocation. Reparse points, roots, unrelated branches, replacements, hard-link identity changes, and paths outside the approved root are preserved. These checks are not an atomic defense against a hostile filesystem filter or a filesystem that does not provide stable file IDs.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Clear-CurrentUserTemp</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Days</maml:name>
          <maml:description>
            <maml:para>Retain files newer than Days days ago. The default is 30 days.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>30</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>RemoveEmptyDirectory</maml:name>
          <maml:description>
            <maml:para>Also remove directories emptied by this invocation and their now-empty ancestors. The cleanup root and pre-existing empty branches are preserved.</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>PassThru</maml:name>
          <maml:description>
            <maml:para>Return a TheCleaners.CleanupResult summary.</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: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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Days</maml:name>
        <maml:description>
          <maml:para>Retain files newer than Days days ago. The default is 30 days.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>30</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>RemoveEmptyDirectory</maml:name>
        <maml:description>
          <maml:para>Also remove directories emptied by this invocation and their now-empty ancestors. The cleanup root and pre-existing empty branches are preserved.</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>PassThru</maml:name>
        <maml:description>
          <maml:para>Return a TheCleaners.CleanupResult summary.</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: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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>TheCleaners.CleanupResult</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>Clear-CurrentUserTemp -Days 30 -WhatIf -PassThru</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Clear-CurrentUserTemp -Days 30 -RemoveEmptyDirectory -Confirm</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://day3bits.com/TheCleaners/Clear-CurrentUserTemp/</maml:linkText>
        <maml:uri>https://day3bits.com/TheCleaners/Clear-CurrentUserTemp/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Clear-OldExchangeLog</command:name>
      <command:verb>Clear</command:verb>
      <command:noun>OldExchangeLog</command:noun>
      <maml:description>
        <maml:para>Preview old Exchange Server log candidates without removing anything.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command is structurally preview-only: explicit -WhatIf is required, no removal parameter exists, and IIS cleanup is never invoked. Discovery validates the Exchange v15 installation root, uses fixed product-owned log directories, applies per-directory filename and extension allowlists, and excludes mailbox database and transaction-log paths returned by the Exchange management command when available. Missing management metadata is reported as Unknown protection status and cannot authorize a later removal implementation. ETL discovery remains experimental until product-version and lab acceptance are recorded.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Clear-OldExchangeLog</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Days</maml:name>
          <maml:description>
            <maml:para>Preview files whose LastWriteTimeUtc is at or before one UTC cutoff, Days days ago. The default is 60 days.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>60</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Return a TheCleaners.CleanupResult preview summary for each existing root.</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: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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Days</maml:name>
        <maml:description>
          <maml:para>Preview files whose LastWriteTimeUtc is at or before one UTC cutoff, Days days ago. The default is 60 days.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>60</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Return a TheCleaners.CleanupResult preview summary for each existing root.</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: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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>TheCleaners.CleanupResult</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>Clear-OldExchangeLog -Days 60 -WhatIf</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Clear-OldExchangeLog -Days 30 -WhatIf -PassThru</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://day3bits.com/TheCleaners/Clear-OldExchangeLog/</maml:linkText>
        <maml:uri>https://day3bits.com/TheCleaners/Clear-OldExchangeLog/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Clear-OldIISLog</command:name>
      <command:verb>Clear</command:verb>
      <command:noun>OldIISLog</command:noun>
      <maml:description>
        <maml:para>Preview old allowlisted IIS log candidates without removing anything.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This command is structurally preview-only while IIS server acceptance is incomplete. Explicit -WhatIf is required. Discovery expands and validates configured web and FTP roots, rejects protected IIS configuration paths, skips reparse points, deduplicates normalized roots, and applies a per-format filename allowlist before the inclusive UTC cutoff. A WebAdministration dependency imported for discovery is removed afterward, while an already loaded dependency is preserved. No deletion command or generic mutation helper is called. The allowlist is a discovery safety boundary, not stable-removal evidence; a disposable IIS lab is still required before any future removal.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Clear-OldIISLog</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Days</maml:name>
          <maml:description>
            <maml:para>Preview allowlisted log files whose LastWriteTimeUtc is at or before one UTC cutoff, Days days ago. The default is 60 days.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>60</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Return a TheCleaners.CleanupResult preview summary for each existing root, including failed discovery results with null candidate counts.</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: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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Days</maml:name>
        <maml:description>
          <maml:para>Preview allowlisted log files whose LastWriteTimeUtc is at or before one UTC cutoff, Days days ago. The default is 60 days.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>60</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Return a TheCleaners.CleanupResult preview summary for each existing root, including failed discovery results with null candidate counts.</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: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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>TheCleaners.CleanupResult</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>Clear-OldIISLog -Days 60 -WhatIf</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Clear-OldIISLog -Days 30 -WhatIf -PassThru</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://day3bits.com/TheCleaners/Clear-OldIISLog/</maml:linkText>
        <maml:uri>https://day3bits.com/TheCleaners/Clear-OldIISLog/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Clear-WindowsTemp</command:name>
      <command:verb>Clear</command:verb>
      <command:noun>WindowsTemp</command:noun>
      <maml:description>
        <maml:para>Remove old files from the actual Windows temporary directory.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Resolve the Windows directory through the operating-system special-folder API, not only a mutable process environment variable. Discover candidates under the validated root using one inclusive UTC cutoff. Candidate file IDs and directory IDs are captured during discovery and compared with the same native handle used for the deletion request. Ancestor directory handles remain held through candidate mutation so a validated parent cannot be renamed or replaced by a reparse point during the operation. The handle requests DELETE and FILE_READ_ATTRIBUTES only; it does not read file contents. Directory removal is opt-in, non-recursive, deepest-first, and limited to directories emptied by this invocation. Reparse points, roots, unrelated branches, replacements, hard-link identity changes, and paths outside the approved root are preserved. The privilege field is an informational preflight; access failures remain explicit. These checks are not an atomic defense against a hostile filesystem filter or a filesystem that does not provide stable IDs.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Clear-WindowsTemp</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Days</maml:name>
          <maml:description>
            <maml:para>Retain files newer than Days days ago. The default is 30 days.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>30</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>RemoveEmptyDirectory</maml:name>
          <maml:description>
            <maml:para>Also remove directories emptied by this invocation and their now-empty ancestors. The cleanup root and pre-existing empty branches are preserved.</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>PassThru</maml:name>
          <maml:description>
            <maml:para>Return a TheCleaners.CleanupResult summary.</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: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:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Days</maml:name>
        <maml:description>
          <maml:para>Retain files newer than Days days ago. The default is 30 days.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>30</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>RemoveEmptyDirectory</maml:name>
        <maml:description>
          <maml:para>Also remove directories emptied by this invocation and their now-empty ancestors. The cleanup root and pre-existing empty branches are preserved.</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>PassThru</maml:name>
        <maml:description>
          <maml:para>Return a TheCleaners.CleanupResult summary.</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: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:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>TheCleaners.CleanupResult</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>Clear-WindowsTemp -Days 60 -WhatIf -PassThru</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Clear-WindowsTemp -Days 30 -RemoveEmptyDirectory -Confirm</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://day3bits.com/TheCleaners/Clear-WindowsTemp/</maml:linkText>
        <maml:uri>https://day3bits.com/TheCleaners/Clear-WindowsTemp/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/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-StaleUserProfile</command:name>
      <command:verb>Get</command:verb>
      <command:noun>StaleUserProfile</command:noun>
      <maml:description>
        <maml:para>Return typed read-only information about stale Windows user profiles.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Query Win32_UserProfile and return one TheCleaners.StaleUserProfile object per eligible profile. Missing or invalid LastUseTime is unknown and is not classified as stale unless -IncludeUnknownLastUseTime is requested. The command never deletes profiles and never writes presentation output to the host. Built-in, virtual service, and IIS application-pool SID families are excluded. SID translation is best effort; an unresolved SID is retained in the object with an explicit resolution status. Optional size enumeration skips reparse points throughout the profile path ancestry and reports unavailable sizes without changing profile state. Profile ancestors retain identity-checked handles through the size operation. Each queued directory carries its discovery-time identity and is opened and revalidated when it is traversed; a stable no-delete-sharing handle is used where the current token permits it. Ancestors fall back to identity-only handles when DELETE access is unavailable and are revalidated before a size is reported.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-StaleUserProfile</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
          <maml:name>Days</maml:name>
          <maml:description>
            <maml:para>A profile is stale when its known last-use time is at or before this many days ago. The default is 90 days.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
          <dev:type>
            <maml:name>Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>90</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ShowSummary">
          <maml:name>IncludeSize</maml:name>
          <maml:description>
            <maml:para>Recursively calculate logical file size for returned profiles. The legacy -ShowSummary name remains an alias for this read-only behavior.</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>IncludeUnknownLastUseTime</maml:name>
          <maml:description>
            <maml:para>Include otherwise eligible profiles whose LastUseTime is missing or invalid. They are returned with IsStale set to false and DateStatus set to Unknown.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="1" aliases="none">
        <maml:name>Days</maml:name>
        <maml:description>
          <maml:para>A profile is stale when its known last-use time is at or before this many days ago. The default is 90 days.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int16</command:parameterValue>
        <dev:type>
          <maml:name>Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>90</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="ShowSummary">
        <maml:name>IncludeSize</maml:name>
        <maml:description>
          <maml:para>Recursively calculate logical file size for returned profiles. The legacy -ShowSummary name remains an alias for this read-only behavior.</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>IncludeUnknownLastUseTime</maml:name>
        <maml:description>
          <maml:para>Include otherwise eligible profiles whose LastUseTime is missing or invalid. They are returned with IsStale set to false and DateStatus set to Unknown.</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:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>TheCleaners.StaleUserProfile</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>Get-StaleUserProfile -Days 90</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-StaleUserProfile -Days 90 -IncludeSize -IncludeUnknownLastUseTime</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://day3bits.com/TheCleaners/Get-StaleUserProfile/</maml:linkText>
        <maml:uri>https://day3bits.com/TheCleaners/Get-StaleUserProfile/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/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-TheCleaners</command:name>
      <command:verb>Get</command:verb>
      <command:noun>TheCleaners</command:noun>
      <maml:description>
        <maml:para>Get the available TheCleaners commands and their current maturity.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Return one TheCleaners.CommandInfo object per public function. The command never performs cleanup. No command is labeled stable before its acceptance gates pass. IIS and Exchange remain preview-only until their product-specific gates pass. Start-Cleaning remains a deprecated compatibility alias through the 1.x releases.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-TheCleaners</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Dedication</maml:name>
          <maml:description>
            <maml:para>Show a dedication before the command inventory.</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>NoLogo</maml:name>
          <maml:description>
            <maml:para>Omit the interactive logo. Use this for pipeline and automation scenarios.</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>Dedication</maml:name>
        <maml:description>
          <maml:para>Show a dedication before the command inventory.</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>NoLogo</maml:name>
        <maml:description>
          <maml:para>Omit the interactive logo. Use this for pipeline and automation scenarios.</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:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>TheCleaners.CommandInfo</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>Get-TheCleaners</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-TheCleaners -NoLogo | Where-Object Maturity -EQ 'PreviewOnly'</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>https://day3bits.com/TheCleaners/Get-TheCleaners/</maml:linkText>
        <maml:uri>https://day3bits.com/TheCleaners/Get-TheCleaners/</maml:uri>
      </maml:navigationLink>
    </command:relatedLinks>
  </command:command>
</helpItems>