PSWindowsUpdate.dll-Help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <!-- Cmdlet: Set-PSWUSettings -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-PSWUSettings</command:name>
      <command:verb>Set</command:verb>
      <command:noun>PSWUSettings</command:noun>
      <maml:description>
        <maml:para>Save PSWUSettings.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Set-PSWUSettings save PSWindowsUpdate module settings to XML file.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-PSWUSettings</maml:name>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specify alternative credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Properties -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Properties</maml:name>
          <maml:description>
            <maml:para>Alternative report message propertie.s</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SaveAsSystem -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SaveAsSystem</maml:name>
          <maml:description>
            <maml:para>Invoke-WUJob to save credential as system user</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SmtpCredential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SmtpCredential</maml:name>
          <maml:description>
            <maml:para>Save smtp credential to Credential Manager.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SmtpEnableSsl -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SmtpEnableSsl</maml:name>
          <maml:description>
            <maml:para>Save enable ssl to PSWUSettings file.</maml:para>
          </maml:description>
          <command:parameterValue required="true">bool</command:parameterValue>
          <dev:type>
            <maml:name>System.Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SmtpFrom -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SmtpFrom</maml:name>
          <maml:description>
            <maml:para>Save smtp sernder to PSWUSettings file.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SmtpPort -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SmtpPort</maml:name>
          <maml:description>
            <maml:para>Save smtp port to PSWUSettings file.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>25</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SmtpServer -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SmtpServer</maml:name>
          <maml:description>
            <maml:para>Save smtp server to PSWUSettings file.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SmtpSubject -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SmtpSubject</maml:name>
          <maml:description>
            <maml:para>Save alternative message subject to PSWUSettings file.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SmtpTo -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SmtpTo</maml:name>
          <maml:description>
            <maml:para>Save smtp recipient to PSWUSettings file.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Style -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Style</maml:name>
          <maml:description>
            <maml:para>Alternative report message format style.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Credential -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Specify alternative credential.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: SmtpServer -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SmtpServer</maml:name>
        <maml:description>
          <maml:para>Save smtp server to PSWUSettings file.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SmtpPort -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SmtpPort</maml:name>
        <maml:description>
          <maml:para>Save smtp port to PSWUSettings file.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>25</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: SmtpEnableSsl -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SmtpEnableSsl</maml:name>
        <maml:description>
          <maml:para>Save enable ssl to PSWUSettings file.</maml:para>
        </maml:description>
        <command:parameterValue required="true">bool</command:parameterValue>
        <dev:type>
          <maml:name>System.Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: SmtpCredential -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SmtpCredential</maml:name>
        <maml:description>
          <maml:para>Save smtp credential to Credential Manager.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SmtpTo -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SmtpTo</maml:name>
        <maml:description>
          <maml:para>Save smtp recipient to PSWUSettings file.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SmtpFrom -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SmtpFrom</maml:name>
        <maml:description>
          <maml:para>Save smtp sernder to PSWUSettings file.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SmtpSubject -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SmtpSubject</maml:name>
        <maml:description>
          <maml:para>Save alternative message subject to PSWUSettings file.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Properties -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Properties</maml:name>
        <maml:description>
          <maml:para>Alternative report message propertie.s</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Style -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Style</maml:name>
        <maml:description>
          <maml:para>Alternative report message format style.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SaveAsSystem -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SaveAsSystem</maml:name>
        <maml:description>
          <maml:para>Invoke-WUJob to save credential as system user</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Set Office 365 as smtp server for PSWindowsUpdate module.
 
Set-PSWUSettings -SmtpServer smtp.office365.com -SmtpPort 587 -SmtpEnableSsl $true -SmtpSubject "PSWindowsUpdate Report" -SmtpTo mgajda@psmvp.pl -SmtpFrom mgajda@psmvp.pl -SmtpCredential (Get-Credential mgajda@psmvp.pl)</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WindowsUpdate -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WindowsUpdate</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WindowsUpdate</command:noun>
      <maml:description>
        <maml:para>Get list of available updates meeting the criteria.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WindowsUpdate (aka Get-WUList) cmdlet to get list of available or installed updates meeting specific criteria.</maml:para>
      <maml:para>Use Download-WindowsUpdate alias to get list of updates and download it. Equivalent Get-WindowsUpdate -Download.</maml:para>
      <maml:para>Use Install-WindowsUpdate (aka Get-WUInstall) alias to get list of updates and install it. Equivalent Get-WindowsUpdate -Install.</maml:para>
      <maml:para>Use Hide-WindowsUpdate alias to get list of updates and hide it. Equivalent Get-WindowsUpdate -Hide.</maml:para>
      <maml:para>Use Show-WindowsUpdate (aka UnHide-WindowsUpdate) alias to get list of updates and unhide it. Equivalent Get-WindowsUpdate -Hide:$false.</maml:para>
      <maml:para>There are two types of filtering update: Pre search criteria, Post search criteria.</maml:para>
      <maml:para>- Pre search works on server side, like example: (IsInstalled = 0 and IsHidden = 0 and CategoryIds contains '0fa1201d-4330-4fa8-8ae9-b877473b6441' )</maml:para>
      <maml:para>- Post search work on client side after get the pre-filtered list of updates, like example $KBArticleID -match $Update.KBArticleIDs</maml:para>
      <maml:para>Status info list:\r\n[A|R]DIMHUB\r\nA-IsAccetped\r\nR-IsRejected\r\n D-IsDownloaded\r\n F-DownloadFailed\r\n ?-IsInvoked\r\n I-IsInstalled\r\n F-InstallFailed\r\n ?-IsInvoked\r\n R-RebootRequired\r\n M-IsMandatory\r\n H-IsHidden\r\n U-IsUninstallable\r\n B-IsBeta</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: ServiceID -->
      <command:syntaxItem>
        <maml:name>Get-WindowsUpdate</maml:name>
        <!-- Parameter: AcceptAll -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AcceptAll</maml:name>
          <maml:description>
            <maml:para>Do not ask confirmation for updates. Download or Install all available updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnly</maml:name>
          <maml:description>
            <maml:para>Install only the updates that have status AutoSelectOnWebsites on true.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnWebSites -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnWebSites</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates where the AutoSelectOnWebSites property has the specified value.</maml:para>
            <maml:para>"AutoSelectOnWebSites=1" finds updates that are flagged to be automatically selected by Windows Update.</maml:para>
            <maml:para>"AutoSelectOnWebSites=0" finds updates that are not flagged for Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BrowseOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BrowseOnly</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. "BrowseOnly=1" finds updates that are considered optional. "BrowseOnly=0" finds updates that are not considered optional.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Category -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Category</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: CategoryIDs -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>CategoryIDs</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that belong to a specified category (or sets of UUIDs), such as '0fa1201d-4330-4fa8-8ae9-b877473b6441'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection. Interactive remote connection works only for checking updates. For download or install cmdlet creates an Invoke-WUJob task.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Criteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Criteria</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Set own string that specifies the search criteria. https://docs.microsoft.com/pl-pl/windows/desktop/api/wuapi/nf-wuapi-iupdatesearcher-search</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions. For additional debug information use $DebugPreference = "Continue"</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DeploymentAction -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DeploymentAction</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are deployed for a specific action, such as an installation or uninstallation that the administrator of a server specifies. "DeploymentAction='Installation'" finds updates that are deployed for installation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>"DeploymentAction='Uninstallation'" finds updates that are deployed for uninstallation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>If this criterion is not explicitly specified, each group of criteria that is joined to an AND operator implies "DeploymentAction='Installation'".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Download -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Download</maml:name>
          <maml:description>
            <maml:para>Get list of updates and download approved updates, but do not install it.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceDownload -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceDownload</maml:name>
          <maml:description>
            <maml:para>Forces the download of updates that are already installed or that cannot be installed. Works only with -Download.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceInstall -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceInstall</maml:name>
          <maml:description>
            <maml:para>A forced installation is an installation in which an update is installed even if the metadata indicates that the update is already installed. Before you use ForceInstall to force an installation, determine whether the update is installed and available. If an update is not installed, a forced installation fails. Works only with -Install.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Hide -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Hide</maml:name>
          <maml:description>
            <maml:para>Get list of updates and hide/unhide approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreRebootRequired -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreRebootRequired</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that specifies the restart behavior that not occurs when you install or uninstall the update.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreUserInput -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>IgnoreUserInput</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that the installation or uninstallation of an update can't prompt for user input.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Install -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Install</maml:name>
          <maml:description>
            <maml:para>Get list of updates and install approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsAssigned -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsAssigned</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are intended for deployment by Automatic Updates. "IsAssigned=1" finds updates that are intended for deployment by Automatic Updates, which depends on the other query criteria.At most, one assigned Windows-based driver update is returned for each local device on a destination computer.</maml:para>
            <maml:para>"IsAssigned=0" finds updates that are not intended to be deployed by Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are marked as hidden on the destination computer. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsInstalled -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsInstalled</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are installed on the destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsPresent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsPresent</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. When set to 1, finds updates that are present on a computer.</maml:para>
            <maml:para>"IsPresent=1" finds updates that are present on a destination computer.If the update is valid for one or more products, the update is considered present if it is installed for one or more of the products.</maml:para>
            <maml:para>"IsPresent=0" finds updates that are not installed for any product on a destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: KBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>KBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: MaxSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize less or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MinSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MinSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize greater or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NotCategory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotCategory</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotKBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotKBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotSeverity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotSeverity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of severity.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotTitle</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of title (case sensitive).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotUpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotUpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates without a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: RecurseCycle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RecurseCycle</maml:name>
          <maml:description>
            <maml:para>Specify number of cycles for check updates after successful update installation or system startup. First run is always main cycle (-RecurseCycle 1 or none). Second (-RecurseCycle 2) and n (-RecurseCycle n) cycle are recursive.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RevisionNumber -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RevisionNumber</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific RevisionNumber, such as '100'. This criterion must be combined with the UpdateID param.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RootCategories -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RootCategories</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a specified root category name 'Critical Updates', 'Definition Updates', 'Drivers', 'Feature Packs', 'Security Updates', 'Service Packs', 'Tools', 'Update Rollups', 'Updates', 'Upgrades', 'Microsoft'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ScheduleJob -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleJob</maml:name>
          <maml:description>
            <maml:para>Specify time when job will start.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleReboot</maml:name>
          <maml:description>
            <maml:para>Specify time when system will be rebooted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendHistory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendHistory</maml:name>
          <maml:description>
            <maml:para>Send install history (Get-WUHistory) report after successful update installation or system startup.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file (more preferred) in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ServiceID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ServiceID</maml:name>
          <maml:description>
            <maml:para>Use specific Service Manager if it's available.</maml:para>
            <maml:para>Examples Of ServiceID: \r\n \r\n -- Windows Update 9482f4b4-e343-43b6-b170-9a65bc822c77 \r\n -- Microsoft Update 7971f918-a847-4430-9279-4a52d1efe18d \r\n -- Windows Store 117cab2d-82b1-4b5a-a08c-4d62dbee7782 \r\n -- Windows Server Update Service 3da21691-e39d-4da6-8a4b-b43877bcb1b7</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Severity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Severity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of severity, such as 'Important', 'Critical', 'Moderate', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ShowPreSearchCriteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ShowPreSearchCriteria</maml:name>
          <maml:description>
            <maml:para>Show choosen search criteria. Only works for pre search criteria.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Title -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Title</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of title (case sensitive), such as '.NET Framework 4'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateType</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific type, such as 'Driver' and 'Software'. Default value contains all updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: WithHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WithHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are both hidden and not on the destination computer. Overwrite IsHidden param. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: WindowsUpdate -->
      <command:syntaxItem>
        <maml:name>Get-WindowsUpdate</maml:name>
        <!-- Parameter: AcceptAll -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AcceptAll</maml:name>
          <maml:description>
            <maml:para>Do not ask confirmation for updates. Download or Install all available updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnly</maml:name>
          <maml:description>
            <maml:para>Install only the updates that have status AutoSelectOnWebsites on true.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnWebSites -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnWebSites</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates where the AutoSelectOnWebSites property has the specified value.</maml:para>
            <maml:para>"AutoSelectOnWebSites=1" finds updates that are flagged to be automatically selected by Windows Update.</maml:para>
            <maml:para>"AutoSelectOnWebSites=0" finds updates that are not flagged for Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BrowseOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BrowseOnly</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. "BrowseOnly=1" finds updates that are considered optional. "BrowseOnly=0" finds updates that are not considered optional.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Category -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Category</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: CategoryIDs -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>CategoryIDs</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that belong to a specified category (or sets of UUIDs), such as '0fa1201d-4330-4fa8-8ae9-b877473b6441'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection. Interactive remote connection works only for checking updates. For download or install cmdlet creates an Invoke-WUJob task.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Criteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Criteria</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Set own string that specifies the search criteria. https://docs.microsoft.com/pl-pl/windows/desktop/api/wuapi/nf-wuapi-iupdatesearcher-search</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions. For additional debug information use $DebugPreference = "Continue"</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DeploymentAction -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DeploymentAction</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are deployed for a specific action, such as an installation or uninstallation that the administrator of a server specifies. "DeploymentAction='Installation'" finds updates that are deployed for installation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>"DeploymentAction='Uninstallation'" finds updates that are deployed for uninstallation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>If this criterion is not explicitly specified, each group of criteria that is joined to an AND operator implies "DeploymentAction='Installation'".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Download -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Download</maml:name>
          <maml:description>
            <maml:para>Get list of updates and download approved updates, but do not install it.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceDownload -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceDownload</maml:name>
          <maml:description>
            <maml:para>Forces the download of updates that are already installed or that cannot be installed. Works only with -Download.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceInstall -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceInstall</maml:name>
          <maml:description>
            <maml:para>A forced installation is an installation in which an update is installed even if the metadata indicates that the update is already installed. Before you use ForceInstall to force an installation, determine whether the update is installed and available. If an update is not installed, a forced installation fails. Works only with -Install.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Hide -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Hide</maml:name>
          <maml:description>
            <maml:para>Get list of updates and hide/unhide approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreRebootRequired -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreRebootRequired</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that specifies the restart behavior that not occurs when you install or uninstall the update.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreUserInput -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>IgnoreUserInput</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that the installation or uninstallation of an update can't prompt for user input.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Install -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Install</maml:name>
          <maml:description>
            <maml:para>Get list of updates and install approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsAssigned -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsAssigned</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are intended for deployment by Automatic Updates. "IsAssigned=1" finds updates that are intended for deployment by Automatic Updates, which depends on the other query criteria.At most, one assigned Windows-based driver update is returned for each local device on a destination computer.</maml:para>
            <maml:para>"IsAssigned=0" finds updates that are not intended to be deployed by Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are marked as hidden on the destination computer. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsInstalled -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsInstalled</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are installed on the destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsPresent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsPresent</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. When set to 1, finds updates that are present on a computer.</maml:para>
            <maml:para>"IsPresent=1" finds updates that are present on a destination computer.If the update is valid for one or more products, the update is considered present if it is installed for one or more of the products.</maml:para>
            <maml:para>"IsPresent=0" finds updates that are not installed for any product on a destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: KBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>KBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: MaxSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize less or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MinSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MinSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize greater or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NotCategory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotCategory</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotKBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotKBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotSeverity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotSeverity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of severity.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotTitle</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of title (case sensitive).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotUpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotUpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates without a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: RecurseCycle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RecurseCycle</maml:name>
          <maml:description>
            <maml:para>Specify number of cycles for check updates after successful update installation or system startup. First run is always main cycle (-RecurseCycle 1 or none). Second (-RecurseCycle 2) and n (-RecurseCycle n) cycle are recursive.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RevisionNumber -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RevisionNumber</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific RevisionNumber, such as '100'. This criterion must be combined with the UpdateID param.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RootCategories -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RootCategories</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a specified root category name 'Critical Updates', 'Definition Updates', 'Drivers', 'Feature Packs', 'Security Updates', 'Service Packs', 'Tools', 'Update Rollups', 'Updates', 'Upgrades', 'Microsoft'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ScheduleJob -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleJob</maml:name>
          <maml:description>
            <maml:para>Specify time when job will start.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleReboot</maml:name>
          <maml:description>
            <maml:para>Specify time when system will be rebooted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendHistory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendHistory</maml:name>
          <maml:description>
            <maml:para>Send install history (Get-WUHistory) report after successful update installation or system startup.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file (more preferred) in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Severity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Severity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of severity, such as 'Important', 'Critical', 'Moderate', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ShowPreSearchCriteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ShowPreSearchCriteria</maml:name>
          <maml:description>
            <maml:para>Show choosen search criteria. Only works for pre search criteria.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Title -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Title</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of title (case sensitive), such as '.NET Framework 4'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateType</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific type, such as 'Driver' and 'Software'. Default value contains all updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: WindowsUpdate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WindowsUpdate</maml:name>
          <maml:description>
            <maml:para>Use Microsoft Update Service Manager - '7971f918-a847-4430-9279-4a52d1efe18d'</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WithHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WithHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are both hidden and not on the destination computer. Overwrite IsHidden param. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: MicrosoftUpdate -->
      <command:syntaxItem>
        <maml:name>Get-WindowsUpdate</maml:name>
        <!-- Parameter: AcceptAll -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AcceptAll</maml:name>
          <maml:description>
            <maml:para>Do not ask confirmation for updates. Download or Install all available updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnly</maml:name>
          <maml:description>
            <maml:para>Install only the updates that have status AutoSelectOnWebsites on true.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnWebSites -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnWebSites</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates where the AutoSelectOnWebSites property has the specified value.</maml:para>
            <maml:para>"AutoSelectOnWebSites=1" finds updates that are flagged to be automatically selected by Windows Update.</maml:para>
            <maml:para>"AutoSelectOnWebSites=0" finds updates that are not flagged for Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BrowseOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BrowseOnly</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. "BrowseOnly=1" finds updates that are considered optional. "BrowseOnly=0" finds updates that are not considered optional.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Category -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Category</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: CategoryIDs -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>CategoryIDs</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that belong to a specified category (or sets of UUIDs), such as '0fa1201d-4330-4fa8-8ae9-b877473b6441'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection. Interactive remote connection works only for checking updates. For download or install cmdlet creates an Invoke-WUJob task.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Criteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Criteria</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Set own string that specifies the search criteria. https://docs.microsoft.com/pl-pl/windows/desktop/api/wuapi/nf-wuapi-iupdatesearcher-search</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions. For additional debug information use $DebugPreference = "Continue"</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DeploymentAction -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DeploymentAction</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are deployed for a specific action, such as an installation or uninstallation that the administrator of a server specifies. "DeploymentAction='Installation'" finds updates that are deployed for installation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>"DeploymentAction='Uninstallation'" finds updates that are deployed for uninstallation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>If this criterion is not explicitly specified, each group of criteria that is joined to an AND operator implies "DeploymentAction='Installation'".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Download -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Download</maml:name>
          <maml:description>
            <maml:para>Get list of updates and download approved updates, but do not install it.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceDownload -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceDownload</maml:name>
          <maml:description>
            <maml:para>Forces the download of updates that are already installed or that cannot be installed. Works only with -Download.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceInstall -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceInstall</maml:name>
          <maml:description>
            <maml:para>A forced installation is an installation in which an update is installed even if the metadata indicates that the update is already installed. Before you use ForceInstall to force an installation, determine whether the update is installed and available. If an update is not installed, a forced installation fails. Works only with -Install.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Hide -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Hide</maml:name>
          <maml:description>
            <maml:para>Get list of updates and hide/unhide approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreRebootRequired -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreRebootRequired</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that specifies the restart behavior that not occurs when you install or uninstall the update.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreUserInput -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>IgnoreUserInput</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that the installation or uninstallation of an update can't prompt for user input.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Install -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Install</maml:name>
          <maml:description>
            <maml:para>Get list of updates and install approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsAssigned -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsAssigned</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are intended for deployment by Automatic Updates. "IsAssigned=1" finds updates that are intended for deployment by Automatic Updates, which depends on the other query criteria.At most, one assigned Windows-based driver update is returned for each local device on a destination computer.</maml:para>
            <maml:para>"IsAssigned=0" finds updates that are not intended to be deployed by Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are marked as hidden on the destination computer. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsInstalled -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsInstalled</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are installed on the destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsPresent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsPresent</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. When set to 1, finds updates that are present on a computer.</maml:para>
            <maml:para>"IsPresent=1" finds updates that are present on a destination computer.If the update is valid for one or more products, the update is considered present if it is installed for one or more of the products.</maml:para>
            <maml:para>"IsPresent=0" finds updates that are not installed for any product on a destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: KBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>KBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: MaxSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize less or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MicrosoftUpdate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MicrosoftUpdate</maml:name>
          <maml:description>
            <maml:para>Use Windows Update Service Manager - '9482f4b4-e343-43b6-b170-9a65bc822c77'</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MinSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MinSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize greater or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NotCategory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotCategory</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotKBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotKBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotSeverity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotSeverity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of severity.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotTitle</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of title (case sensitive).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotUpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotUpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates without a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: RecurseCycle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RecurseCycle</maml:name>
          <maml:description>
            <maml:para>Specify number of cycles for check updates after successful update installation or system startup. First run is always main cycle (-RecurseCycle 1 or none). Second (-RecurseCycle 2) and n (-RecurseCycle n) cycle are recursive.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RevisionNumber -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RevisionNumber</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific RevisionNumber, such as '100'. This criterion must be combined with the UpdateID param.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RootCategories -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RootCategories</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a specified root category name 'Critical Updates', 'Definition Updates', 'Drivers', 'Feature Packs', 'Security Updates', 'Service Packs', 'Tools', 'Update Rollups', 'Updates', 'Upgrades', 'Microsoft'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ScheduleJob -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleJob</maml:name>
          <maml:description>
            <maml:para>Specify time when job will start.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleReboot</maml:name>
          <maml:description>
            <maml:para>Specify time when system will be rebooted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendHistory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendHistory</maml:name>
          <maml:description>
            <maml:para>Send install history (Get-WUHistory) report after successful update installation or system startup.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file (more preferred) in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Severity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Severity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of severity, such as 'Important', 'Critical', 'Moderate', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ShowPreSearchCriteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ShowPreSearchCriteria</maml:name>
          <maml:description>
            <maml:para>Show choosen search criteria. Only works for pre search criteria.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Title -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Title</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of title (case sensitive), such as '.NET Framework 4'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateType</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific type, such as 'Driver' and 'Software'. Default value contains all updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: WithHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WithHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are both hidden and not on the destination computer. Overwrite IsHidden param. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection. Interactive remote connection works only for checking updates. For download or install cmdlet creates an Invoke-WUJob task.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file (more preferred) in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendHistory -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendHistory</maml:name>
        <maml:description>
          <maml:para>Send install history (Get-WUHistory) report after successful update installation or system startup.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ScheduleJob -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScheduleJob</maml:name>
        <maml:description>
          <maml:para>Specify time when job will start.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AcceptAll -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AcceptAll</maml:name>
        <maml:description>
          <maml:para>Do not ask confirmation for updates. Download or Install all available updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RecurseCycle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RecurseCycle</maml:name>
        <maml:description>
          <maml:para>Specify number of cycles for check updates after successful update installation or system startup. First run is always main cycle (-RecurseCycle 1 or none). Second (-RecurseCycle 2) and n (-RecurseCycle n) cycle are recursive.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Hide -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Hide</maml:name>
        <maml:description>
          <maml:para>Get list of updates and hide/unhide approved updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Download -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Download</maml:name>
        <maml:description>
          <maml:para>Get list of updates and download approved updates, but do not install it.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ForceDownload -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ForceDownload</maml:name>
        <maml:description>
          <maml:para>Forces the download of updates that are already installed or that cannot be installed. Works only with -Download.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Install -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Install</maml:name>
        <maml:description>
          <maml:para>Get list of updates and install approved updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ForceInstall -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ForceInstall</maml:name>
        <maml:description>
          <maml:para>A forced installation is an installation in which an update is installed even if the metadata indicates that the update is already installed. Before you use ForceInstall to force an installation, determine whether the update is installed and available. If an update is not installed, a forced installation fails. Works only with -Install.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AutoReboot -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoReboot</maml:name>
        <maml:description>
          <maml:para>Do not ask for reboot if it needed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IgnoreReboot -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IgnoreReboot</maml:name>
        <maml:description>
          <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ScheduleReboot -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScheduleReboot</maml:name>
        <maml:description>
          <maml:para>Specify time when system will be rebooted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ServiceID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ServiceID</maml:name>
        <maml:description>
          <maml:para>Use specific Service Manager if it's available.</maml:para>
          <maml:para>Examples Of ServiceID: \r\n \r\n -- Windows Update 9482f4b4-e343-43b6-b170-9a65bc822c77 \r\n -- Microsoft Update 7971f918-a847-4430-9279-4a52d1efe18d \r\n -- Windows Store 117cab2d-82b1-4b5a-a08c-4d62dbee7782 \r\n -- Windows Server Update Service 3da21691-e39d-4da6-8a4b-b43877bcb1b7</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: WindowsUpdate -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WindowsUpdate</maml:name>
        <maml:description>
          <maml:para>Use Microsoft Update Service Manager - '7971f918-a847-4430-9279-4a52d1efe18d'</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: MicrosoftUpdate -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MicrosoftUpdate</maml:name>
        <maml:description>
          <maml:para>Use Windows Update Service Manager - '9482f4b4-e343-43b6-b170-9a65bc822c77'</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Criteria -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Criteria</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Set own string that specifies the search criteria. https://docs.microsoft.com/pl-pl/windows/desktop/api/wuapi/nf-wuapi-iupdatesearcher-search</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: UpdateType -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>UpdateType</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific type, such as 'Driver' and 'Software'. Default value contains all updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: DeploymentAction -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DeploymentAction</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that are deployed for a specific action, such as an installation or uninstallation that the administrator of a server specifies. "DeploymentAction='Installation'" finds updates that are deployed for installation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
          <maml:para>"DeploymentAction='Uninstallation'" finds updates that are deployed for uninstallation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
          <maml:para>If this criterion is not explicitly specified, each group of criteria that is joined to an AND operator implies "DeploymentAction='Installation'".</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: IsAssigned -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IsAssigned</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that are intended for deployment by Automatic Updates. "IsAssigned=1" finds updates that are intended for deployment by Automatic Updates, which depends on the other query criteria.At most, one assigned Windows-based driver update is returned for each local device on a destination computer.</maml:para>
          <maml:para>"IsAssigned=0" finds updates that are not intended to be deployed by Automatic Updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IsPresent -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IsPresent</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. When set to 1, finds updates that are present on a computer.</maml:para>
          <maml:para>"IsPresent=1" finds updates that are present on a destination computer.If the update is valid for one or more products, the update is considered present if it is installed for one or more of the products.</maml:para>
          <maml:para>"IsPresent=0" finds updates that are not installed for any product on a destination computer.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: BrowseOnly -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>BrowseOnly</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. "BrowseOnly=1" finds updates that are considered optional. "BrowseOnly=0" finds updates that are not considered optional.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AutoSelectOnWebSites -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoSelectOnWebSites</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates where the AutoSelectOnWebSites property has the specified value.</maml:para>
          <maml:para>"AutoSelectOnWebSites=1" finds updates that are flagged to be automatically selected by Windows Update.</maml:para>
          <maml:para>"AutoSelectOnWebSites=0" finds updates that are not flagged for Automatic Updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: UpdateID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>UpdateID</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotUpdateID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NotUpdateID</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates without a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: RevisionNumber -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RevisionNumber</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific RevisionNumber, such as '100'. This criterion must be combined with the UpdateID param.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: CategoryIDs -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>CategoryIDs</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that belong to a specified category (or sets of UUIDs), such as '0fa1201d-4330-4fa8-8ae9-b877473b6441'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: IsInstalled -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IsInstalled</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that are installed on the destination computer.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IsHidden -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IsHidden</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that are marked as hidden on the destination computer. Default search criteria is only not hidden upadates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: WithHidden -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WithHidden</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that are both hidden and not on the destination computer. Overwrite IsHidden param. Default search criteria is only not hidden upadates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ShowPreSearchCriteria -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ShowPreSearchCriteria</maml:name>
        <maml:description>
          <maml:para>Show choosen search criteria. Only works for pre search criteria.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RootCategories -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RootCategories</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that contain a specified root category name 'Critical Updates', 'Definition Updates', 'Drivers', 'Feature Packs', 'Security Updates', 'Service Packs', 'Tools', 'Update Rollups', 'Updates', 'Upgrades', 'Microsoft'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Category -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Category</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: KBArticleID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>KBArticleID</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Title -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Title</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that match part of title (case sensitive), such as '.NET Framework 4'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Severity -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Severity</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that match part of severity, such as 'Important', 'Critical', 'Moderate', etc...</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotCategory -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NotCategory</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that not contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotKBArticleID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NotKBArticleID</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that not contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotTitle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NotTitle</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that not match part of title (case sensitive).</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotSeverity -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NotSeverity</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that not match part of severity.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: IgnoreUserInput -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>IgnoreUserInput</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that the installation or uninstallation of an update can't prompt for user input.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that the installation or uninstallation of an update can't prompt for user input.</maml:para>
          <maml:para>This is an alias of the IgnoreUserInput parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IgnoreRebootRequired -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IgnoreRebootRequired</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that specifies the restart behavior that not occurs when you install or uninstall the update.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AutoSelectOnly -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoSelectOnly</maml:name>
        <maml:description>
          <maml:para>Install only the updates that have status AutoSelectOnWebsites on true.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: MaxSize -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MaxSize</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that have MaxDownloadSize less or equal. Size is in Bytes.</maml:para>
        </maml:description>
        <command:parameterValue required="true">long</command:parameterValue>
        <dev:type>
          <maml:name>System.Int64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: MinSize -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MinSize</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that have MaxDownloadSize greater or equal. Size is in Bytes.</maml:para>
        </maml:description>
        <command:parameterValue required="true">long</command:parameterValue>
        <dev:type>
          <maml:name>System.Int64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions. For additional debug information use $DebugPreference = "Continue"</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection. Interactive remote connection works only for checking updates. For download or install cmdlet creates an Invoke-WUJob task.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: WindowsUpdate -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.WindowsUpdate</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for WindowsUpdate objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Get windows updates available from default service manager.
 
Get-WindowsUpdate -Verbose
  
VERBOSE: MG-PC: Connecting to Windows Server Update Service server. Please wait...
VERBOSE: Found[4] Updates in pre search criteria
VERBOSE: Found[4] Updates in post search criteria
 
ComputerName Status KB Size Title
------------ ------ -- ---- -----
MG-PC ------- KB890830 44MB Narzędzie Windows do usuwania złośliwego oprogramowania dla systemów Window...
MG-PC ------- KB4034658 1GB 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla syste...
MG-PC ------- KB4034662 21MB 2017-08 Aktualizacja zabezpieczeń Adobe Flash Player w Windows 10 Version 1...
MG-PC ------- KB4035631 11MB 2017-08 Aktualizacja Windows 10 Version 1607 dla systemów opartych na archi...</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>Get all installed drivers that are available at Windows Update. Additionaly show pre search criteria.
 
Get-WindowsUpdate -WindowsUpdate -UpdateType Driver -IsInstalled -ShowPreSearchCriteria -Verbose
  
PreSearchCriteria: IsInstalled = 0 and Type = 'Driver' and IsHidden = 0
VERBOSE: MG-PC: Connecting to Windows Update server.Please wait...
VERBOSE: Found[1] Updates in pre search criteria
VERBOSE: Found[1] Updates in post search criteria
 
ComputerName Status KB Size Title
------------ ------ -- ---- -----
MGAJDALAP3 -DI---- 3MB Intel - Other hardware - Intel(R) Watchdog Timer Driver (Intel(R) WDT)</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>Get all available update on remote machine MG-PC, that contains in Title this two words 'Aktualizacja' and 'Windows 10' (as regular expression).
 
Get-WindowsUpdate -ComputerName MG-PC -MicrosoftUpdate -Title "Aktualizacja.*Windows 10" -Verbose
  
VERBOSE: MG-PC: Connecting to Microsoft Update server. Please wait...
VERBOSE: Found[14] Updates in pre search criteria
VERBOSE: Found[5] Updates in post search criteria
 
ComputerName Status KB Size Title
------------ ------ -- ---- -----
MG-PC ------- KB3150513 2MB 2017-06 Aktualizacja Windows 10 Version 1607 dla systemów opartych na archi...
MG-PC ------- KB4034658 1GB 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla syste...
MG-PC ------- KB4034662 21MB 2017-08 Aktualizacja zabezpieczeń Adobe Flash Player w Windows 10 Version 1...
MG-PC ------- KB4035631 11MB 2017-08 Aktualizacja Windows 10 Version 1607 dla systemów opartych na archi...
MG-PC ------- KB4033637 4MB Aktualizacja systemu Windows 10 Version 1607 dla komputerów z procesorami x...</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 4 ----------</maml:title>
        <dev:code>Hide update with KBArticleID: KB4034658.
 
Get-WindowsUpdate -KBArticleID KB4034658 -Hide -Verbose
or use alias
Hide-WindowsUpdate -KBArticleID KB4034658 -Verbose
  
VERBOSE: MG-PC: Connecting to Windows Server Update Service server. Please wait...
VERBOSE: Found[4] Updates in pre search criteria
VERBOSE: Found[1] Updates in post search criteria
 
Confirm
Are you sure you want to perform this action?
Performing the operation "Hide 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla systemów opartych na architekturze x64 (KB4034658)[1GB]" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
ComputerName Status KB Size Title
------------ ------ -- ---- -----
MG-PC ---H-- KB4034658 1GB 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla syste...</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 5 ----------</maml:title>
        <dev:code>Unhide update with KBArticleID: KB4034658.
 
Get-WindowsUpdate -KBArticleID KB4034658 -WithHidden -Hide:$false -Verbose
or use alias
Show-WindowsUpdate -KBArticleID KB4034658 -Verbose
  
VERBOSE: MG-PC: Connecting to Windows Server Update Service server. Please wait...
VERBOSE: Found[4] Updates in pre search criteria
VERBOSE: Found[1] Updates in post search criteria
 
Confirm
Are you sure you want to perform this action?
Performing the operation "Show 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla systemów opartych na architekturze x64 (KB4034658)[1GB]" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
ComputerName Status KB Size Title
------------ ------ -- ---- -----
MG-PC ------ KB4034658 1GB 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla syste...</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 6 ----------</maml:title>
        <dev:code>Schedule job at 6:00 PM to install update with UpdateId='ddb74579-7a1f-4d1f-80c8-e8647055314e' and RevisionNumber=200. Update will be automaticaly accepted and after all serwer will be automaticaly restarted if needed.
 
Get-WindowsUpdate -MicrosoftUpdate -UpdateID ddb74579-7a1f-4d1f-80c8-e8647055314e -RevisionNumber 200 -ScheduleJob (Get-Date -Hour 18 -Minute 0 -Second 0) -Install -AcceptAll -AutoReboot -Verbose
or use alias
Install-WindowsUpdate -MicrosoftUpdate -UpdateID ddb74579-7a1f-4d1f-80c8-e8647055314e -RevisionNumber 200 -ScheduleJob (Get-Date -Hour 18 -Minute 0 -Second 0) -AcceptAll -AutoReboot -Verbose
  
VERBOSE: MG-PC: Connecting to Microsoft Update server. Please wait...
VERBOSE: Found[1] Updates in pre search criteria
VERBOSE: Found[1] Updates in post search criteria
VERBOSE: Choosed pre Search Criteria: (UpdateID = 'ddb74579-7a1f-4d1f-80c8-e8647055314e' and RevisionNumber = 200)
 
X ComputerName Result KB Size Title
- ------------ ------ -- ---- -----
1 MG-PC Accepted KB4023307 13MB Microsoft Silverlight(KB4023307)
VERBOSE: Accepted[1] Updates ready to Download
VERBOSE: Invoke-WUJob: MG-PC(31.08.2017 18:00:00):
VERBOSE: powershell.exe -Command "Get-WindowsUpdate -Criteria \"(UpdateID = 'ddb74579-7a1f-4d1f-80c8-e8647055314e' and RevisionNumber = 200)\" -AcceptAll -AutoReboot -Download -Install -MicrosoftUpdate -Verbose *&gt;&amp;1 | Out-File $Env:TEMP\PSWindowsUpdate.log"</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 7 ----------</maml:title>
        <dev:code>Install updates on remote computer. After all send a report from the installation process.
 
Install-WindowsUpdate -ComputerName MG-PC -MicrosoftUpdate -AcceptAll -AutoReboot -SendReport -PSWUSettings @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";Port=25} -Verbose
or use global PSWUSettings
@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";Port=25} | Export-Clixml -Path 'C:\Program Files\WindowsPowerShell\Modules\PSWindowsUpdate\PSWUSettings.xml'
Install-WindowsUpdate -ComputerName MG-PC -MicrosoftUpdate -AcceptAll -AutoReboot -SendReport -Verbose
  
VERBOSE: MG-PC: Connecting to Microsoft Update server. Please wait...
VERBOSE: Found[4] Updates in pre search criteria
VERBOSE: Found[4] Updates in post search criteria
 
Confirm
Are you sure you want to perform this action?
Performing the operation "Microsoft Silverlight (KB4023307)[13MB]" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
Confirm
Are you sure you want to perform this action?
Performing the operation "2017-06 Aktualizacja Windows 10 Version 1607 dla systemów opartych na architekturze x64 (KB3150513)[2MB]" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
Confirm
Are you sure you want to perform this action?
Performing the operation "Aktualizacja pakietu językowego usługi Microsoft Dynamics 365 2.1[47MB]" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): L
 
X ComputerName Result KB Size Title
- ------------ ------ -- ---- -----
1 MG-PC Accepted KB4023307 13MB Microsoft Silverlight (KB4023307)
1 MG-PC Accepted KB3150513 2MB 2017-06 Aktualizacja Windows 10 Version 1607 dla systemów opartych na arc...
1 MG-PC Rejected KB4013759 47MB Aktualizacja pakietu językowego usługi Microsoft Dynamics 365 2.1
1 MG-PC Rejected KB3186568 67MB Program Microsoft .NET Framework 4.7 w syst. Windows 10 Version 1607 i Wi...
VERBOSE: Accepted [2]
Updates ready to Download
VERBOSE: Invoke-WUJob: MG-PC (Now):
VERBOSE: powershell.exe -Command "Get-WindowsUpdate -Criteria \"(UpdateID = 'ddb74579-7a1f-4d1f-80c8-e8647055314e' and RevisionNumber = 200) or (UpdateID = '151c4402-513c-4f39-8da1-f84d0956b5e3' and RevisionNumber = 200)\" -AcceptAll -Download -Install -AutoReboot -MicrosoftUpdate -SendReport -ProofOfLife -Verbose *&gt;&amp;1 | Out-File $Env:TEMP\PSWindowsUpdate.log"</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 8 ----------</maml:title>
        <dev:code>Schedule Job to install all available updates and automatically reboot system if needed. Also send report after installation (but before reboot if needed) and send second instalation history report after reboot.
 
@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";Port=25} | Export-Clixml -Path 'C:\Program Files\WindowsPowerShell\Modules\PSWindowsUpdate\PSWUSettings.xml'
Install-WindowsUpdate -MicrosoftUpdate -SendReport -SendHistory -AcceptAll -AutoReboot -ScheduleJob (Get-Date -Hour 18 -Minute 30 -Second 0) -ComputerName MG-PC -Verbose
  
VERBOSE: MG-PC: Connecting to Microsoft Update server. Please wait...
VERBOSE: Found[4] Updates in pre search criteria
VERBOSE: Found[4] Updates in post search criteria
 
X ComputerName Result KB Size Title
- ------------ ------ -- ---- -----
1 MG-PC Accepted KB3038936 5MB Aktualizacja systemu Windows 8.1 dla komputerów z procesorami x64(KB3038...
1 MG-PC Accepted KB3186606 4MB Pakiety językowe programu Microsoft.NET Framework 4.7 w syst. Windows 8....
1 MG-PC Accepted KB4035038 53MB Sierpień 2017: wersja zapozn. pak.zb.aktual.jakości dla pr. .NET Frame...
1 MG-PC Accepted KB2267602 309MB Aktualizacja definicji dla: Windows Defender — KB2267602 (Definicja 1.251...
VERBOSE: Accepted[4] Updates ready to Download
VERBOSE: Invoke-WUJob: MG-PC (02.09.2017 08:30:00):
VERBOSE: powershell.exe -Command "Get-WindowsUpdate -Criteria \"(UpdateID = 'e69c9679-7ce8-489a-a21c-62fb920be67a' and RevisionNumber = 201) or(UpdateID = 'de44604d-ec38-4a7f-ac63-28b3edfdb382' and RevisionNumber = 207) or(UpdateID = '9cf1d8c9-a7c3-4603-90e8-f22131ff6d7e' and RevisionNumber = 201) or(UpdateID = 'b51935f9-0e40-4624-9c26-b29bff92dcf9' and RevisionNumber = 200)\" -AcceptAll -Install -AutoReboot -MicrosoftUpdate -SendReport -SendHistory -Verbose *&gt;&amp;1 | Out-File $Env:TEMP\PSWindowsUpdate.log"
VERBOSE: Send report</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Remove-WindowsUpdate -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Remove-WindowsUpdate</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>WindowsUpdate</command:noun>
      <maml:description>
        <maml:para>Uninstall update.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Remove-WindowsUpdate to uninstall update.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: WUSAMode -->
      <command:syntaxItem>
        <maml:name>Remove-WindowsUpdate</maml:name>
        <!-- Parameter: KBArticleID -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="HotFixID">
          <maml:name>KBArticleID</maml:name>
          <maml:description>
            <maml:para>KBArticleID that will be uninstalled.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: AutoReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleJob -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleJob</maml:name>
          <maml:description>
            <maml:para>Specify schedule time job.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleReboot</maml:name>
          <maml:description>
            <maml:para>Specify time when system will be rebooted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WUSAMode -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WUSAMode</maml:name>
          <maml:description>
            <maml:para>Wse wusa.exe instead of WU Api.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: WUApiMode -->
      <command:syntaxItem>
        <maml:name>Remove-WindowsUpdate</maml:name>
        <!-- Parameter: UpdateID -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateID</maml:name>
          <maml:description>
            <maml:para>Update ID that will be uninstalled.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: AutoReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleJob -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleJob</maml:name>
          <maml:description>
            <maml:para>Specify schedule time job.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleReboot</maml:name>
          <maml:description>
            <maml:para>Specify time when system will be rebooted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WUSAMode -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WUSAMode</maml:name>
          <maml:description>
            <maml:para>Wse wusa.exe instead of WU Api.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: ScheduleJob -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScheduleJob</maml:name>
        <maml:description>
          <maml:para>Specify schedule time job.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: KBArticleID -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="HotFixID">
        <maml:name>KBArticleID</maml:name>
        <maml:description>
          <maml:para>KBArticleID that will be uninstalled.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="HotFixID">
        <maml:name>HotFixID</maml:name>
        <maml:description>
          <maml:para>KBArticleID that will be uninstalled.</maml:para>
          <maml:para>This is an alias of the KBArticleID parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: UpdateID -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>UpdateID</maml:name>
        <maml:description>
          <maml:para>Update ID that will be uninstalled.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: AutoReboot -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoReboot</maml:name>
        <maml:description>
          <maml:para>Do not ask for reboot if it needed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IgnoreReboot -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IgnoreReboot</maml:name>
        <maml:description>
          <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ScheduleReboot -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScheduleReboot</maml:name>
        <maml:description>
          <maml:para>Specify time when system will be rebooted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: WUSAMode -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WUSAMode</maml:name>
        <maml:description>
          <maml:para>Wse wusa.exe instead of WU Api.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Try to uninstall update with specific KBArticleID = KB958830.
 
Get-WUUninstall -KBArticleID KB958830</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WindowsUpdate_v2 -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WindowsUpdate_v2</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WindowsUpdate_v2</command:noun>
      <maml:description>
        <maml:para>Get list of available updates meeting the criteria.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WindowsUpdate (aka Get-WUList) cmdlet to get list of available or installed updates meeting specific criteria.</maml:para>
      <maml:para>Use Download-WindowsUpdate alias to get list of updates and download it. Equivalent Get-WindowsUpdate -Download.</maml:para>
      <maml:para>Use Install-WindowsUpdate (aka Get-WUInstall) alias to get list of updates and install it. Equivalent Get-WindowsUpdate -Install.</maml:para>
      <maml:para>Use Hide-WindowsUpdate alias to get list of updates and hide it. Equivalent Get-WindowsUpdate -Hide.</maml:para>
      <maml:para>Use Show-WindowsUpdate (aka UnHide-WindowsUpdate) alias to get list of updates and unhide it. Equivalent Get-WindowsUpdate -Hide:$false.</maml:para>
      <maml:para>There are two types of filtering update: Pre search criteria, Post search criteria.</maml:para>
      <maml:para>- Pre search works on server side, like example: (IsInstalled = 0 and IsHidden = 0 and CategoryIds contains '0fa1201d-4330-4fa8-8ae9-b877473b6441' )</maml:para>
      <maml:para>- Post search work on client side after get the pre-filtered list of updates, like example $KBArticleID -match $Update.KBArticleIDs</maml:para>
      <maml:para>Status info list:\r\n[A|R]DIMHUB\r\nA-IsAccetped\r\nR-IsRejected\r\n D-IsDownloaded\r\n F-DownloadFailed\r\n ?-IsInvoked\r\n I-IsInstalled\r\n F-InstallFailed\r\n ?-IsInvoked\r\n R-RebootRequired\r\n M-IsMandatory\r\n H-IsHidden\r\n U-IsUninstallable\r\n B-IsBeta</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: ServiceID -->
      <command:syntaxItem>
        <maml:name>Get-WindowsUpdate_v2</maml:name>
        <!-- Parameter: AcceptAll -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AcceptAll</maml:name>
          <maml:description>
            <maml:para>Do not ask confirmation for updates. Download or Install all available updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnly</maml:name>
          <maml:description>
            <maml:para>Install only the updates that have status AutoSelectOnWebsites on true.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnWebSites -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnWebSites</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates where the AutoSelectOnWebSites property has the specified value.</maml:para>
            <maml:para>"AutoSelectOnWebSites=1" finds updates that are flagged to be automatically selected by Windows Update.</maml:para>
            <maml:para>"AutoSelectOnWebSites=0" finds updates that are not flagged for Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BrowseOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BrowseOnly</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. "BrowseOnly=1" finds updates that are considered optional. "BrowseOnly=0" finds updates that are not considered optional.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Category -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Category</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: CategoryIDs -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>CategoryIDs</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that belong to a specified category (or sets of UUIDs), such as '0fa1201d-4330-4fa8-8ae9-b877473b6441'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection. Interactive remote connection works only for checking updates. For download or install cmdlet creates an Invoke-WUJob task.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Criteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Criteria</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Set own string that specifies the search criteria. https://docs.microsoft.com/pl-pl/windows/desktop/api/wuapi/nf-wuapi-iupdatesearcher-search</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions. For additional debug information use $DebugPreference = "Continue"</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DeploymentAction -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DeploymentAction</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are deployed for a specific action, such as an installation or uninstallation that the administrator of a server specifies. "DeploymentAction='Installation'" finds updates that are deployed for installation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>"DeploymentAction='Uninstallation'" finds updates that are deployed for uninstallation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>If this criterion is not explicitly specified, each group of criteria that is joined to an AND operator implies "DeploymentAction='Installation'".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Download -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Download</maml:name>
          <maml:description>
            <maml:para>Get list of updates and download approved updates, but do not install it.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceDownload -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceDownload</maml:name>
          <maml:description>
            <maml:para>Forces the download of updates that are already installed or that cannot be installed. Works only with -Download.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceInstall -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceInstall</maml:name>
          <maml:description>
            <maml:para>A forced installation is an installation in which an update is installed even if the metadata indicates that the update is already installed. Before you use ForceInstall to force an installation, determine whether the update is installed and available. If an update is not installed, a forced installation fails. Works only with -Install.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Hide -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Hide</maml:name>
          <maml:description>
            <maml:para>Get list of updates and hide/unhide approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreRebootRequired -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreRebootRequired</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that specifies the restart behavior that not occurs when you install or uninstall the update.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreUserInput -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>IgnoreUserInput</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that the installation or uninstallation of an update can't prompt for user input.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Install -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Install</maml:name>
          <maml:description>
            <maml:para>Get list of updates and install approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsAssigned -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsAssigned</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are intended for deployment by Automatic Updates. "IsAssigned=1" finds updates that are intended for deployment by Automatic Updates, which depends on the other query criteria.At most, one assigned Windows-based driver update is returned for each local device on a destination computer.</maml:para>
            <maml:para>"IsAssigned=0" finds updates that are not intended to be deployed by Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are marked as hidden on the destination computer. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsInstalled -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsInstalled</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are installed on the destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsPresent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsPresent</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. When set to 1, finds updates that are present on a computer.</maml:para>
            <maml:para>"IsPresent=1" finds updates that are present on a destination computer.If the update is valid for one or more products, the update is considered present if it is installed for one or more of the products.</maml:para>
            <maml:para>"IsPresent=0" finds updates that are not installed for any product on a destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: KBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>KBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: MaxSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize less or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MinSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MinSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize greater or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NotCategory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotCategory</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotKBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotKBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotSeverity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotSeverity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of severity.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotTitle</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of title (case sensitive).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotUpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotUpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates without a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: RecurseCycle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RecurseCycle</maml:name>
          <maml:description>
            <maml:para>Specify number of cycles for check updates after successful update installation or system startup. First run is always main cycle (-RecurseCycle 1 or none). Second (-RecurseCycle 2) and n (-RecurseCycle n) cycle are recursive.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RevisionNumber -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RevisionNumber</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific RevisionNumber, such as '100'. This criterion must be combined with the UpdateID param.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleJob -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleJob</maml:name>
          <maml:description>
            <maml:para>Specify time when job will start.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleReboot</maml:name>
          <maml:description>
            <maml:para>Specify time when system will be rebooted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendHistory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendHistory</maml:name>
          <maml:description>
            <maml:para>Send install history (Get-WUHistory) report after successful update installation or system startup.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file (more preferred) in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ServiceID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ServiceID</maml:name>
          <maml:description>
            <maml:para>Use specific Service Manager if it's available.</maml:para>
            <maml:para>Examples Of ServiceID: \r\n \r\n -- Windows Update 9482f4b4-e343-43b6-b170-9a65bc822c77 \r\n -- Microsoft Update 7971f918-a847-4430-9279-4a52d1efe18d \r\n -- Windows Store 117cab2d-82b1-4b5a-a08c-4d62dbee7782 \r\n -- Windows Server Update Service 3da21691-e39d-4da6-8a4b-b43877bcb1b7</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Severity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Severity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of severity, such as 'Important', 'Critical', 'Moderate', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ShowPreSearchCriteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ShowPreSearchCriteria</maml:name>
          <maml:description>
            <maml:para>Show choosen search criteria. Only works for pre search criteria.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Title -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Title</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of title (case sensitive), such as '.NET Framework 4'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateType</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific type, such as 'Driver' and 'Software'. Default value contains all updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: WithHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WithHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are both hidden and not on the destination computer. Overwrite IsHidden param. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: WindowsUpdate -->
      <command:syntaxItem>
        <maml:name>Get-WindowsUpdate_v2</maml:name>
        <!-- Parameter: AcceptAll -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AcceptAll</maml:name>
          <maml:description>
            <maml:para>Do not ask confirmation for updates. Download or Install all available updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnly</maml:name>
          <maml:description>
            <maml:para>Install only the updates that have status AutoSelectOnWebsites on true.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnWebSites -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnWebSites</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates where the AutoSelectOnWebSites property has the specified value.</maml:para>
            <maml:para>"AutoSelectOnWebSites=1" finds updates that are flagged to be automatically selected by Windows Update.</maml:para>
            <maml:para>"AutoSelectOnWebSites=0" finds updates that are not flagged for Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BrowseOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BrowseOnly</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. "BrowseOnly=1" finds updates that are considered optional. "BrowseOnly=0" finds updates that are not considered optional.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Category -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Category</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: CategoryIDs -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>CategoryIDs</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that belong to a specified category (or sets of UUIDs), such as '0fa1201d-4330-4fa8-8ae9-b877473b6441'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection. Interactive remote connection works only for checking updates. For download or install cmdlet creates an Invoke-WUJob task.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Criteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Criteria</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Set own string that specifies the search criteria. https://docs.microsoft.com/pl-pl/windows/desktop/api/wuapi/nf-wuapi-iupdatesearcher-search</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions. For additional debug information use $DebugPreference = "Continue"</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DeploymentAction -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DeploymentAction</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are deployed for a specific action, such as an installation or uninstallation that the administrator of a server specifies. "DeploymentAction='Installation'" finds updates that are deployed for installation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>"DeploymentAction='Uninstallation'" finds updates that are deployed for uninstallation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>If this criterion is not explicitly specified, each group of criteria that is joined to an AND operator implies "DeploymentAction='Installation'".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Download -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Download</maml:name>
          <maml:description>
            <maml:para>Get list of updates and download approved updates, but do not install it.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceDownload -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceDownload</maml:name>
          <maml:description>
            <maml:para>Forces the download of updates that are already installed or that cannot be installed. Works only with -Download.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceInstall -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceInstall</maml:name>
          <maml:description>
            <maml:para>A forced installation is an installation in which an update is installed even if the metadata indicates that the update is already installed. Before you use ForceInstall to force an installation, determine whether the update is installed and available. If an update is not installed, a forced installation fails. Works only with -Install.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Hide -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Hide</maml:name>
          <maml:description>
            <maml:para>Get list of updates and hide/unhide approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreRebootRequired -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreRebootRequired</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that specifies the restart behavior that not occurs when you install or uninstall the update.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreUserInput -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>IgnoreUserInput</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that the installation or uninstallation of an update can't prompt for user input.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Install -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Install</maml:name>
          <maml:description>
            <maml:para>Get list of updates and install approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsAssigned -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsAssigned</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are intended for deployment by Automatic Updates. "IsAssigned=1" finds updates that are intended for deployment by Automatic Updates, which depends on the other query criteria.At most, one assigned Windows-based driver update is returned for each local device on a destination computer.</maml:para>
            <maml:para>"IsAssigned=0" finds updates that are not intended to be deployed by Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are marked as hidden on the destination computer. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsInstalled -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsInstalled</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are installed on the destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsPresent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsPresent</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. When set to 1, finds updates that are present on a computer.</maml:para>
            <maml:para>"IsPresent=1" finds updates that are present on a destination computer.If the update is valid for one or more products, the update is considered present if it is installed for one or more of the products.</maml:para>
            <maml:para>"IsPresent=0" finds updates that are not installed for any product on a destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: KBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>KBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: MaxSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize less or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MinSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MinSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize greater or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NotCategory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotCategory</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotKBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotKBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotSeverity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotSeverity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of severity.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotTitle</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of title (case sensitive).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotUpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotUpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates without a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: RecurseCycle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RecurseCycle</maml:name>
          <maml:description>
            <maml:para>Specify number of cycles for check updates after successful update installation or system startup. First run is always main cycle (-RecurseCycle 1 or none). Second (-RecurseCycle 2) and n (-RecurseCycle n) cycle are recursive.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RevisionNumber -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RevisionNumber</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific RevisionNumber, such as '100'. This criterion must be combined with the UpdateID param.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleJob -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleJob</maml:name>
          <maml:description>
            <maml:para>Specify time when job will start.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleReboot</maml:name>
          <maml:description>
            <maml:para>Specify time when system will be rebooted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendHistory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendHistory</maml:name>
          <maml:description>
            <maml:para>Send install history (Get-WUHistory) report after successful update installation or system startup.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file (more preferred) in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Severity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Severity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of severity, such as 'Important', 'Critical', 'Moderate', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ShowPreSearchCriteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ShowPreSearchCriteria</maml:name>
          <maml:description>
            <maml:para>Show choosen search criteria. Only works for pre search criteria.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Title -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Title</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of title (case sensitive), such as '.NET Framework 4'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateType</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific type, such as 'Driver' and 'Software'. Default value contains all updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: WindowsUpdate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WindowsUpdate</maml:name>
          <maml:description>
            <maml:para>Use Microsoft Update Service Manager - '7971f918-a847-4430-9279-4a52d1efe18d'</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WithHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WithHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are both hidden and not on the destination computer. Overwrite IsHidden param. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: MicrosoftUpdate -->
      <command:syntaxItem>
        <maml:name>Get-WindowsUpdate_v2</maml:name>
        <!-- Parameter: AcceptAll -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AcceptAll</maml:name>
          <maml:description>
            <maml:para>Do not ask confirmation for updates. Download or Install all available updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnly</maml:name>
          <maml:description>
            <maml:para>Install only the updates that have status AutoSelectOnWebsites on true.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoSelectOnWebSites -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoSelectOnWebSites</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates where the AutoSelectOnWebSites property has the specified value.</maml:para>
            <maml:para>"AutoSelectOnWebSites=1" finds updates that are flagged to be automatically selected by Windows Update.</maml:para>
            <maml:para>"AutoSelectOnWebSites=0" finds updates that are not flagged for Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: BrowseOnly -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>BrowseOnly</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. "BrowseOnly=1" finds updates that are considered optional. "BrowseOnly=0" finds updates that are not considered optional.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Category -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Category</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: CategoryIDs -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>CategoryIDs</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that belong to a specified category (or sets of UUIDs), such as '0fa1201d-4330-4fa8-8ae9-b877473b6441'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection. Interactive remote connection works only for checking updates. For download or install cmdlet creates an Invoke-WUJob task.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Criteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Criteria</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Set own string that specifies the search criteria. https://docs.microsoft.com/pl-pl/windows/desktop/api/wuapi/nf-wuapi-iupdatesearcher-search</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions. For additional debug information use $DebugPreference = "Continue"</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DeploymentAction -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DeploymentAction</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are deployed for a specific action, such as an installation or uninstallation that the administrator of a server specifies. "DeploymentAction='Installation'" finds updates that are deployed for installation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>"DeploymentAction='Uninstallation'" finds updates that are deployed for uninstallation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
            <maml:para>If this criterion is not explicitly specified, each group of criteria that is joined to an AND operator implies "DeploymentAction='Installation'".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Download -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Download</maml:name>
          <maml:description>
            <maml:para>Get list of updates and download approved updates, but do not install it.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceDownload -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceDownload</maml:name>
          <maml:description>
            <maml:para>Forces the download of updates that are already installed or that cannot be installed. Works only with -Download.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ForceInstall -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ForceInstall</maml:name>
          <maml:description>
            <maml:para>A forced installation is an installation in which an update is installed even if the metadata indicates that the update is already installed. Before you use ForceInstall to force an installation, determine whether the update is installed and available. If an update is not installed, a forced installation fails. Works only with -Install.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Hide -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Hide</maml:name>
          <maml:description>
            <maml:para>Get list of updates and hide/unhide approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreRebootRequired -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IgnoreRebootRequired</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that specifies the restart behavior that not occurs when you install or uninstall the update.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IgnoreUserInput -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
          <maml:name>IgnoreUserInput</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that the installation or uninstallation of an update can't prompt for user input.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Install -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Install</maml:name>
          <maml:description>
            <maml:para>Get list of updates and install approved updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsAssigned -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsAssigned</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are intended for deployment by Automatic Updates. "IsAssigned=1" finds updates that are intended for deployment by Automatic Updates, which depends on the other query criteria.At most, one assigned Windows-based driver update is returned for each local device on a destination computer.</maml:para>
            <maml:para>"IsAssigned=0" finds updates that are not intended to be deployed by Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are marked as hidden on the destination computer. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsInstalled -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsInstalled</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are installed on the destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IsPresent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IsPresent</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. When set to 1, finds updates that are present on a computer.</maml:para>
            <maml:para>"IsPresent=1" finds updates that are present on a destination computer.If the update is valid for one or more products, the update is considered present if it is installed for one or more of the products.</maml:para>
            <maml:para>"IsPresent=0" finds updates that are not installed for any product on a destination computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: KBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>KBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: MaxSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize less or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MicrosoftUpdate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MicrosoftUpdate</maml:name>
          <maml:description>
            <maml:para>Use Windows Update Service Manager - '9482f4b4-e343-43b6-b170-9a65bc822c77'</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MinSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MinSize</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that have MaxDownloadSize greater or equal. Size is in Bytes.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NotCategory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotCategory</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotKBArticleID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotKBArticleID</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotSeverity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotSeverity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of severity.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotTitle</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that not match part of title (case sensitive).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: NotUpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NotUpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates without a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: RecurseCycle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RecurseCycle</maml:name>
          <maml:description>
            <maml:para>Specify number of cycles for check updates after successful update installation or system startup. First run is always main cycle (-RecurseCycle 1 or none). Second (-RecurseCycle 2) and n (-RecurseCycle n) cycle are recursive.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RevisionNumber -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RevisionNumber</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific RevisionNumber, such as '100'. This criterion must be combined with the UpdateID param.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleJob -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleJob</maml:name>
          <maml:description>
            <maml:para>Specify time when job will start.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleReboot -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleReboot</maml:name>
          <maml:description>
            <maml:para>Specify time when system will be rebooted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendHistory -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendHistory</maml:name>
          <maml:description>
            <maml:para>Send install history (Get-WUHistory) report after successful update installation or system startup.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file (more preferred) in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Severity -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Severity</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of severity, such as 'Important', 'Critical', 'Moderate', etc...</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ShowPreSearchCriteria -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ShowPreSearchCriteria</maml:name>
          <maml:description>
            <maml:para>Show choosen search criteria. Only works for pre search criteria.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Title -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Title</maml:name>
          <maml:description>
            <maml:para>Post search criteria. Finds updates that match part of title (case sensitive), such as '.NET Framework 4'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateID</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UpdateType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UpdateType</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific type, such as 'Driver' and 'Software'. Default value contains all updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: WithHidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WithHidden</maml:name>
          <maml:description>
            <maml:para>Pre search criteria - native for WUAPI. Finds updates that are both hidden and not on the destination computer. Overwrite IsHidden param. Default search criteria is only not hidden upadates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection. Interactive remote connection works only for checking updates. For download or install cmdlet creates an Invoke-WUJob task.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file (more preferred) in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendHistory -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendHistory</maml:name>
        <maml:description>
          <maml:para>Send install history (Get-WUHistory) report after successful update installation or system startup.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ScheduleJob -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScheduleJob</maml:name>
        <maml:description>
          <maml:para>Specify time when job will start.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AcceptAll -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AcceptAll</maml:name>
        <maml:description>
          <maml:para>Do not ask confirmation for updates. Download or Install all available updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RecurseCycle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RecurseCycle</maml:name>
        <maml:description>
          <maml:para>Specify number of cycles for check updates after successful update installation or system startup. First run is always main cycle (-RecurseCycle 1 or none). Second (-RecurseCycle 2) and n (-RecurseCycle n) cycle are recursive.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Hide -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Hide</maml:name>
        <maml:description>
          <maml:para>Get list of updates and hide/unhide approved updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Download -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Download</maml:name>
        <maml:description>
          <maml:para>Get list of updates and download approved updates, but do not install it.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ForceDownload -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ForceDownload</maml:name>
        <maml:description>
          <maml:para>Forces the download of updates that are already installed or that cannot be installed. Works only with -Download.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Install -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Install</maml:name>
        <maml:description>
          <maml:para>Get list of updates and install approved updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ForceInstall -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ForceInstall</maml:name>
        <maml:description>
          <maml:para>A forced installation is an installation in which an update is installed even if the metadata indicates that the update is already installed. Before you use ForceInstall to force an installation, determine whether the update is installed and available. If an update is not installed, a forced installation fails. Works only with -Install.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AutoReboot -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoReboot</maml:name>
        <maml:description>
          <maml:para>Do not ask for reboot if it needed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IgnoreReboot -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IgnoreReboot</maml:name>
        <maml:description>
          <maml:para>Do not ask for reboot if it needed, but do not reboot automaticaly.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ScheduleReboot -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScheduleReboot</maml:name>
        <maml:description>
          <maml:para>Specify time when system will be rebooted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ServiceID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ServiceID</maml:name>
        <maml:description>
          <maml:para>Use specific Service Manager if it's available.</maml:para>
          <maml:para>Examples Of ServiceID: \r\n \r\n -- Windows Update 9482f4b4-e343-43b6-b170-9a65bc822c77 \r\n -- Microsoft Update 7971f918-a847-4430-9279-4a52d1efe18d \r\n -- Windows Store 117cab2d-82b1-4b5a-a08c-4d62dbee7782 \r\n -- Windows Server Update Service 3da21691-e39d-4da6-8a4b-b43877bcb1b7</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: WindowsUpdate -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WindowsUpdate</maml:name>
        <maml:description>
          <maml:para>Use Microsoft Update Service Manager - '7971f918-a847-4430-9279-4a52d1efe18d'</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: MicrosoftUpdate -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MicrosoftUpdate</maml:name>
        <maml:description>
          <maml:para>Use Windows Update Service Manager - '9482f4b4-e343-43b6-b170-9a65bc822c77'</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Criteria -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Criteria</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Set own string that specifies the search criteria. https://docs.microsoft.com/pl-pl/windows/desktop/api/wuapi/nf-wuapi-iupdatesearcher-search</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: UpdateType -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>UpdateType</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific type, such as 'Driver' and 'Software'. Default value contains all updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: DeploymentAction -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DeploymentAction</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that are deployed for a specific action, such as an installation or uninstallation that the administrator of a server specifies. "DeploymentAction='Installation'" finds updates that are deployed for installation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
          <maml:para>"DeploymentAction='Uninstallation'" finds updates that are deployed for uninstallation on a destination computer. "DeploymentAction='Uninstallation'" depends on the other query criteria.</maml:para>
          <maml:para>If this criterion is not explicitly specified, each group of criteria that is joined to an AND operator implies "DeploymentAction='Installation'".</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: IsAssigned -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IsAssigned</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that are intended for deployment by Automatic Updates. "IsAssigned=1" finds updates that are intended for deployment by Automatic Updates, which depends on the other query criteria.At most, one assigned Windows-based driver update is returned for each local device on a destination computer.</maml:para>
          <maml:para>"IsAssigned=0" finds updates that are not intended to be deployed by Automatic Updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IsPresent -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IsPresent</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. When set to 1, finds updates that are present on a computer.</maml:para>
          <maml:para>"IsPresent=1" finds updates that are present on a destination computer.If the update is valid for one or more products, the update is considered present if it is installed for one or more of the products.</maml:para>
          <maml:para>"IsPresent=0" finds updates that are not installed for any product on a destination computer.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: BrowseOnly -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>BrowseOnly</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. "BrowseOnly=1" finds updates that are considered optional. "BrowseOnly=0" finds updates that are not considered optional.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AutoSelectOnWebSites -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoSelectOnWebSites</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates where the AutoSelectOnWebSites property has the specified value.</maml:para>
          <maml:para>"AutoSelectOnWebSites=1" finds updates that are flagged to be automatically selected by Windows Update.</maml:para>
          <maml:para>"AutoSelectOnWebSites=0" finds updates that are not flagged for Automatic Updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: UpdateID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>UpdateID</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotUpdateID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NotUpdateID</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates without a specific UUID (or sets of UUIDs), such as '12345678-9abc-def0-1234-56789abcdef0'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: RevisionNumber -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RevisionNumber</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates with a specific RevisionNumber, such as '100'. This criterion must be combined with the UpdateID param.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: CategoryIDs -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>CategoryIDs</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that belong to a specified category (or sets of UUIDs), such as '0fa1201d-4330-4fa8-8ae9-b877473b6441'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: IsInstalled -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IsInstalled</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that are installed on the destination computer.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IsHidden -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IsHidden</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that are marked as hidden on the destination computer. Default search criteria is only not hidden upadates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: WithHidden -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WithHidden</maml:name>
        <maml:description>
          <maml:para>Pre search criteria - native for WUAPI. Finds updates that are both hidden and not on the destination computer. Overwrite IsHidden param. Default search criteria is only not hidden upadates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ShowPreSearchCriteria -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ShowPreSearchCriteria</maml:name>
        <maml:description>
          <maml:para>Show choosen search criteria. Only works for pre search criteria.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Category -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Category</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: KBArticleID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>KBArticleID</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Title -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Title</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that match part of title (case sensitive), such as '.NET Framework 4'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Severity -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Severity</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that match part of severity, such as 'Important', 'Critical', 'Moderate', etc...</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotCategory -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NotCategory</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that not contain a specified category name (or sets of categories name), such as 'Updates', 'Security Updates', 'Critical Updates', etc...</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotKBArticleID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NotKBArticleID</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that not contain a KBArticleID (or sets of KBArticleIDs), such as 'KB982861'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotTitle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NotTitle</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that not match part of title (case sensitive).</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotSeverity -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NotSeverity</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that not match part of severity.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: IgnoreUserInput -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>IgnoreUserInput</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that the installation or uninstallation of an update can't prompt for user input.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="Silent">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that the installation or uninstallation of an update can't prompt for user input.</maml:para>
          <maml:para>This is an alias of the IgnoreUserInput parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IgnoreRebootRequired -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IgnoreRebootRequired</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that specifies the restart behavior that not occurs when you install or uninstall the update.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AutoSelectOnly -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoSelectOnly</maml:name>
        <maml:description>
          <maml:para>Install only the updates that have status AutoSelectOnWebsites on true.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: MaxSize -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MaxSize</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that have MaxDownloadSize less or equal. Size is in Bytes.</maml:para>
        </maml:description>
        <command:parameterValue required="true">long</command:parameterValue>
        <dev:type>
          <maml:name>System.Int64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: MinSize -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MinSize</maml:name>
        <maml:description>
          <maml:para>Post search criteria. Finds updates that have MaxDownloadSize greater or equal. Size is in Bytes.</maml:para>
        </maml:description>
        <command:parameterValue required="true">long</command:parameterValue>
        <dev:type>
          <maml:name>System.Int64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions. For additional debug information use $DebugPreference = "Continue"</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection. Interactive remote connection works only for checking updates. For download or install cmdlet creates an Invoke-WUJob task.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: WindowsUpdate -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.WindowsUpdate</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for WindowsUpdate objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Get windows updates available from default service manager.
 
Get-WindowsUpdate -Verbose
  
VERBOSE: MG-PC: Connecting to Windows Server Update Service server. Please wait...
VERBOSE: Found[4] Updates in pre search criteria
VERBOSE: Found[4] Updates in post search criteria
 
ComputerName Status KB Size Title
------------ ------ -- ---- -----
MG-PC ------- KB890830 44MB Narzędzie Windows do usuwania złośliwego oprogramowania dla systemów Window...
MG-PC ------- KB4034658 1GB 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla syste...
MG-PC ------- KB4034662 21MB 2017-08 Aktualizacja zabezpieczeń Adobe Flash Player w Windows 10 Version 1...
MG-PC ------- KB4035631 11MB 2017-08 Aktualizacja Windows 10 Version 1607 dla systemów opartych na archi...</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>Get all installed drivers that are available at Windows Update. Additionaly show pre search criteria.
 
Get-WindowsUpdate -WindowsUpdate -UpdateType Driver -IsInstalled -ShowPreSearchCriteria -Verbose
  
PreSearchCriteria: IsInstalled = 0 and Type = 'Driver' and IsHidden = 0
VERBOSE: MG-PC: Connecting to Windows Update server.Please wait...
VERBOSE: Found[1] Updates in pre search criteria
VERBOSE: Found[1] Updates in post search criteria
 
ComputerName Status KB Size Title
------------ ------ -- ---- -----
MGAJDALAP3 -DI---- 3MB Intel - Other hardware - Intel(R) Watchdog Timer Driver (Intel(R) WDT)</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>Get all available update on remote machine MG-PC, that contains in Title this two words 'Aktualizacja' and 'Windows 10' (as regular expression).
 
Get-WindowsUpdate -ComputerName MG-PC -MicrosoftUpdate -Title "Aktualizacja.*Windows 10" -Verbose
  
VERBOSE: MG-PC: Connecting to Microsoft Update server. Please wait...
VERBOSE: Found[14] Updates in pre search criteria
VERBOSE: Found[5] Updates in post search criteria
 
ComputerName Status KB Size Title
------------ ------ -- ---- -----
MG-PC ------- KB3150513 2MB 2017-06 Aktualizacja Windows 10 Version 1607 dla systemów opartych na archi...
MG-PC ------- KB4034658 1GB 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla syste...
MG-PC ------- KB4034662 21MB 2017-08 Aktualizacja zabezpieczeń Adobe Flash Player w Windows 10 Version 1...
MG-PC ------- KB4035631 11MB 2017-08 Aktualizacja Windows 10 Version 1607 dla systemów opartych na archi...
MG-PC ------- KB4033637 4MB Aktualizacja systemu Windows 10 Version 1607 dla komputerów z procesorami x...</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 4 ----------</maml:title>
        <dev:code>Hide update with KBArticleID: KB4034658.
 
Get-WindowsUpdate -KBArticleID KB4034658 -Hide -Verbose
or use alias
Hide-WindowsUpdate -KBArticleID KB4034658 -Verbose
  
VERBOSE: MG-PC: Connecting to Windows Server Update Service server. Please wait...
VERBOSE: Found[4] Updates in pre search criteria
VERBOSE: Found[1] Updates in post search criteria
 
Confirm
Are you sure you want to perform this action?
Performing the operation "Hide 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla systemów opartych na architekturze x64 (KB4034658)[1GB]" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
ComputerName Status KB Size Title
------------ ------ -- ---- -----
MG-PC ---H-- KB4034658 1GB 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla syste...</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 5 ----------</maml:title>
        <dev:code>Unhide update with KBArticleID: KB4034658.
 
Get-WindowsUpdate -KBArticleID KB4034658 -WithHidden -Hide:$false -Verbose
or use alias
Show-WindowsUpdate -KBArticleID KB4034658 -Verbose
  
VERBOSE: MG-PC: Connecting to Windows Server Update Service server. Please wait...
VERBOSE: Found[4] Updates in pre search criteria
VERBOSE: Found[1] Updates in post search criteria
 
Confirm
Are you sure you want to perform this action?
Performing the operation "Show 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla systemów opartych na architekturze x64 (KB4034658)[1GB]" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
ComputerName Status KB Size Title
------------ ------ -- ---- -----
MG-PC ------ KB4034658 1GB 2017-08 Aktualizacja zbiorcza dla systemu Windows 10 Version 1607 dla syste...</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 6 ----------</maml:title>
        <dev:code>Schedule job at 6:00 PM to install update with UpdateId='ddb74579-7a1f-4d1f-80c8-e8647055314e' and RevisionNumber=200. Update will be automaticaly accepted and after all serwer will be automaticaly restarted if needed.
 
Get-WindowsUpdate -MicrosoftUpdate -UpdateID ddb74579-7a1f-4d1f-80c8-e8647055314e -RevisionNumber 200 -ScheduleJob (Get-Date -Hour 18 -Minute 0 -Second 0) -Install -AcceptAll -AutoReboot -Verbose
or use alias
Install-WindowsUpdate -MicrosoftUpdate -UpdateID ddb74579-7a1f-4d1f-80c8-e8647055314e -RevisionNumber 200 -ScheduleJob (Get-Date -Hour 18 -Minute 0 -Second 0) -AcceptAll -AutoReboot -Verbose
  
VERBOSE: MG-PC: Connecting to Microsoft Update server. Please wait...
VERBOSE: Found[1] Updates in pre search criteria
VERBOSE: Found[1] Updates in post search criteria
VERBOSE: Choosed pre Search Criteria: (UpdateID = 'ddb74579-7a1f-4d1f-80c8-e8647055314e' and RevisionNumber = 200)
 
X ComputerName Result KB Size Title
- ------------ ------ -- ---- -----
1 MG-PC Accepted KB4023307 13MB Microsoft Silverlight(KB4023307)
VERBOSE: Accepted[1] Updates ready to Download
VERBOSE: Invoke-WUJob: MG-PC(31.08.2017 18:00:00):
VERBOSE: powershell.exe -Command "Get-WindowsUpdate -Criteria \"(UpdateID = 'ddb74579-7a1f-4d1f-80c8-e8647055314e' and RevisionNumber = 200)\" -AcceptAll -AutoReboot -Download -Install -MicrosoftUpdate -Verbose *&gt;&amp;1 | Out-File $Env:TEMP\PSWindowsUpdate.log"</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 7 ----------</maml:title>
        <dev:code>Install updates on remote computer. After all send a report from the installation process.
 
Install-WindowsUpdate -ComputerName MG-PC -MicrosoftUpdate -AcceptAll -AutoReboot -SendReport -PSWUSettings @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";Port=25} -Verbose
or use global PSWUSettings
@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";Port=25} | Export-Clixml -Path 'C:\Program Files\WindowsPowerShell\Modules\PSWindowsUpdate\PSWUSettings.xml'
Install-WindowsUpdate -ComputerName MG-PC -MicrosoftUpdate -AcceptAll -AutoReboot -SendReport -Verbose
  
VERBOSE: MG-PC: Connecting to Microsoft Update server. Please wait...
VERBOSE: Found[4] Updates in pre search criteria
VERBOSE: Found[4] Updates in post search criteria
 
Confirm
Are you sure you want to perform this action?
Performing the operation "Microsoft Silverlight (KB4023307)[13MB]" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
Confirm
Are you sure you want to perform this action?
Performing the operation "2017-06 Aktualizacja Windows 10 Version 1607 dla systemów opartych na architekturze x64 (KB3150513)[2MB]" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
Confirm
Are you sure you want to perform this action?
Performing the operation "Aktualizacja pakietu językowego usługi Microsoft Dynamics 365 2.1[47MB]" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): L
 
X ComputerName Result KB Size Title
- ------------ ------ -- ---- -----
1 MG-PC Accepted KB4023307 13MB Microsoft Silverlight (KB4023307)
1 MG-PC Accepted KB3150513 2MB 2017-06 Aktualizacja Windows 10 Version 1607 dla systemów opartych na arc...
1 MG-PC Rejected KB4013759 47MB Aktualizacja pakietu językowego usługi Microsoft Dynamics 365 2.1
1 MG-PC Rejected KB3186568 67MB Program Microsoft .NET Framework 4.7 w syst. Windows 10 Version 1607 i Wi...
VERBOSE: Accepted [2]
Updates ready to Download
VERBOSE: Invoke-WUJob: MG-PC (Now):
VERBOSE: powershell.exe -Command "Get-WindowsUpdate -Criteria \"(UpdateID = 'ddb74579-7a1f-4d1f-80c8-e8647055314e' and RevisionNumber = 200) or (UpdateID = '151c4402-513c-4f39-8da1-f84d0956b5e3' and RevisionNumber = 200)\" -AcceptAll -Download -Install -AutoReboot -MicrosoftUpdate -SendReport -ProofOfLife -Verbose *&gt;&amp;1 | Out-File $Env:TEMP\PSWindowsUpdate.log"</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 8 ----------</maml:title>
        <dev:code>Schedule Job to install all available updates and automatically reboot system if needed. Also send report after installation (but before reboot if needed) and send second instalation history report after reboot.
 
@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";Port=25} | Export-Clixml -Path 'C:\Program Files\WindowsPowerShell\Modules\PSWindowsUpdate\PSWUSettings.xml'
Install-WindowsUpdate -MicrosoftUpdate -SendReport -SendHistory -AcceptAll -AutoReboot -ScheduleJob (Get-Date -Hour 18 -Minute 30 -Second 0) -ComputerName MG-PC -Verbose
  
VERBOSE: MG-PC: Connecting to Microsoft Update server. Please wait...
VERBOSE: Found[4] Updates in pre search criteria
VERBOSE: Found[4] Updates in post search criteria
 
X ComputerName Result KB Size Title
- ------------ ------ -- ---- -----
1 MG-PC Accepted KB3038936 5MB Aktualizacja systemu Windows 8.1 dla komputerów z procesorami x64(KB3038...
1 MG-PC Accepted KB3186606 4MB Pakiety językowe programu Microsoft.NET Framework 4.7 w syst. Windows 8....
1 MG-PC Accepted KB4035038 53MB Sierpień 2017: wersja zapozn. pak.zb.aktual.jakości dla pr. .NET Frame...
1 MG-PC Accepted KB2267602 309MB Aktualizacja definicji dla: Windows Defender — KB2267602 (Definicja 1.251...
VERBOSE: Accepted[4] Updates ready to Download
VERBOSE: Invoke-WUJob: MG-PC (02.09.2017 08:30:00):
VERBOSE: powershell.exe -Command "Get-WindowsUpdate -Criteria \"(UpdateID = 'e69c9679-7ce8-489a-a21c-62fb920be67a' and RevisionNumber = 201) or(UpdateID = 'de44604d-ec38-4a7f-ac63-28b3edfdb382' and RevisionNumber = 207) or(UpdateID = '9cf1d8c9-a7c3-4603-90e8-f22131ff6d7e' and RevisionNumber = 201) or(UpdateID = 'b51935f9-0e40-4624-9c26-b29bff92dcf9' and RevisionNumber = 200)\" -AcceptAll -Install -AutoReboot -MicrosoftUpdate -SendReport -SendHistory -Verbose *&gt;&amp;1 | Out-File $Env:TEMP\PSWindowsUpdate.log"
VERBOSE: Send report</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WUApiVersion -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WUApiVersion</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WUApiVersion</command:noun>
      <maml:description>
        <maml:para>Get Windows Update Agent version.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WUAPIVersion cmdlet to get Windows Update Agent version.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-WUApiVersion</maml:name>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: AgentInfo -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.AgentInfo</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for AgentInfo objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Get Windows Update Agent version.
 
Get-WUAPIVersion
  
ComputerName PSWindowsUpdate ApiVersion WuapiDllVersion
------------ --------------- ---------- ---------------
MG-PC 2.0 8.0 10.0.14393.1670</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Reset-WUComponents -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Reset-WUComponents</command:name>
      <command:verb>Reset</command:verb>
      <command:noun>WUComponents</command:noun>
      <maml:description>
        <maml:para>Reset Windows Update components.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Reset-WUComponents cmdlet to reset all Windows Update components to default.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Reset-WUComponents</maml:name>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters />
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code> Reset Windows Update components to default.
 
 Reset-WUComponents -Verbose
 Step 1: Stop Windows Update services
VERBOSE: Background Intelligent Transfer Service(BITS)
VERBOSE: Windows Update(wuauserv)
VERBOSE: Application Identity(appidsvc)
VERBOSE: Cryptographic Services(cryptsvc)
Step 2: Delete the qmgr*.dat files
Step 3: Backup softare distribution folders
VERBOSE: Renaming Software Distribution folder to C:\WINDOWS\SoftwareDistribution.bak5
VERBOSE: Renaming CatRoot folder to C:\WINDOWS\System32\Catroot2.bak1
Step 4: Remove old Windows Update logs
VERBOSE: Deleting the C:\WINDOWS\WindowsUpdate.log files.
Step 5: Reset Windows Update services
VERBOSE: Reset BITS service
VERBOSE: Reset Windows Update service
Step 6: Reregister dll's
VERBOSE: regsvr32.exe / s atl.dll
VERBOSE: regsvr32.exe / s urlmon.dll
VERBOSE: regsvr32.exe / s mshtml.dll
VERBOSE: regsvr32.exe / s shdocvw.dll
VERBOSE: regsvr32.exe / s browseui.dll
VERBOSE: regsvr32.exe / s jscript.dll
VERBOSE: regsvr32.exe / s vbscript.dll
VERBOSE: regsvr32.exe / s scrrun.dll
VERBOSE: regsvr32.exe / s msxml.dll
VERBOSE: regsvr32.exe / s msxml3.dll
VERBOSE: regsvr32.exe / s msxml6.dll
VERBOSE: regsvr32.exe / s actxprxy.dll
VERBOSE: regsvr32.exe / s softpub.dll
VERBOSE: regsvr32.exe / s wintrust.dll
VERBOSE: regsvr32.exe / s dssenh.dll
VERBOSE: regsvr32.exe / s rsaenh.dll
VERBOSE: regsvr32.exe / s gpkcsp.dll
VERBOSE: regsvr32.exe / s sccbase.dll
VERBOSE: regsvr32.exe / s slbcsp.dll
VERBOSE: regsvr32.exe / s cryptdlg.dll
VERBOSE: regsvr32.exe / s oleaut32.dll
VERBOSE: regsvr32.exe / s ole32.dll
VERBOSE: regsvr32.exe / s shell32.dll
VERBOSE: regsvr32.exe / s initpki.dll
VERBOSE: regsvr32.exe / s wuapi.dll
VERBOSE: regsvr32.exe / s wuaueng.dll
VERBOSE: regsvr32.exe / s wuaueng1.dll
VERBOSE: regsvr32.exe / s wucltui.dll
VERBOSE: regsvr32.exe / s wups.dll
VERBOSE: regsvr32.exe / s wups2.dll
VERBOSE: regsvr32.exe / s wuweb.dll
VERBOSE: regsvr32.exe / s qmgr.dll
VERBOSE: regsvr32.exe / s qmgrprxy.dll
VERBOSE: regsvr32.exe / s wucltux.dll
VERBOSE: regsvr32.exe / s muweb.dll
VERBOSE: regsvr32.exe / s wuwebv.dll
Step 7: Reset WinSock
VERBOSE: netsh winsock reset
Step 8: Reset Proxy
VERBOSE: netsh winhttp reset proxy
Step 9: Start Windows Update services
VERBOSE: Cryptographic Services (cryptsvc)
VERBOSE: Application Identity (appidsvc)
VERBOSE: Windows Update (wuauserv)
VERBOSE: Background Intelligent Transfer Service (BITS)
Step 10: Start Windows Update services
VERBOSE: wuauclt /resetauthorization /detectnow</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WUHistory -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WUHistory</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WUHistory</command:noun>
      <maml:description>
        <maml:para>Get list of updates history.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use function Get-WUHistory to get list of installed updates on specific machine.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-WUHistory</maml:name>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Last -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Last</maml:name>
          <maml:description>
            <maml:para>Last X history entry.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MaxDate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxDate</maml:name>
          <maml:description>
            <maml:para>Filter results by date.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: Export-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: Export-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: MaxDate -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MaxDate</maml:name>
        <maml:description>
          <maml:para>Filter results by date.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Last -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Last</maml:name>
        <maml:description>
          <maml:para>Last X history entry.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: History -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.History</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for History objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Get Windows Update history.
 
Get-WUHistory
  
ComputerName Operationname Date KB Title
------------ ------------- ---- -- -----
MG-PC Installation 30.08.2017 12:03:53 KB2267602 Definition Update for Windows Defender - KB2267602(Defini...
MG-PC Installation 29.08.2017 11:49:50 KB3186568 Microsoft .NET Framework 4.7 for Windows 10 Version 1607 a...
MG-PC Installation 29.08.2017 11:30:37 KB4035631 2017-08 Update for Windows Server 2016 for x64-based Syste...
MG-PC Installation 29.08.2017 11:21:12 KB890830 Windows Malicious Software Removal Tool for Windows 8, 8.1...
MG-PC Installation 29.08.2017 07:53:36 KB2267602 Definition Update for Windows Defender - KB2267602 (Defini...
MG-PC Installation 27.08.2017 07:53:39 KB2267602 Definition Update for Windows Defender - KB2267602 (Defini...
MG-PC Installation 25.08.2017 07:54:38 KB2267602 Definition Update for Windows Defender - KB2267602 (Defini...
MG-PC Installation 23.08.2017 13:01:26 KB2267602 Definition Update for Windows Defender - KB2267602 (Defini...
MG-PC Installation 23.08.2017 12:45:45 KB4023307 Security Update for Microsoft Silverlight (KB4023307)
MG-PC Installation 23.08.2017 07:53:56 KB2267602 Definition Update for Windows Defender - KB2267602 (Defini...</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>Get Windows Update Agent history for last 24h.
 
Get-WUHistory -MaxDate (Get-Date).AddDays(-1)
  
ComputerName Operationname Date KB Title
------------ ------------- ---- -- -----
MG-PC Installation 30.08.2017 12:03:53 KB2267602 Definition Update for Windows Defender - KB2267602(Defini...</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WUInstallerStatus -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WUInstallerStatus</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WUInstallerStatus</command:noun>
      <maml:description>
        <maml:para>Get Windows Update Installer status.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WUInstallerStatus cmdlet to show Windows Update Installer status.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-WUInstallerStatus</maml:name>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Silent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Silent</maml:name>
          <maml:description>
            <maml:para>Return true/false only.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Silent -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>Return true/false only.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: InstallerStatus -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.InstallerStatus</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for InstallerStatus objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Check if Windows Update Installer is busy.
 
Get-WUInstallerStatus
  
ComputerName IsBusy
------------ ------
MG-PC False</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>Check if Windows Update Installer is busy in silent mode. Return only True (isBusy) or False (isFree).
 
Get-WUInstallerStatus -Silent
  
False</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WUJob -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WUJob</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WUJob</command:noun>
      <maml:description>
        <maml:para>Get invoked WUJob.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WUJob cmdlet to get invoked WUJob in Task Scheduler.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-WUJob</maml:name>
        <!-- Parameter: ClearExpired -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ClearExpired</maml:name>
          <maml:description>
            <maml:para>Clear expired WUJob.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specify alternative credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: TaskName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>TaskName</maml:name>
          <maml:description>
            <maml:para>Specify custom name for Task Scheduler job. Default is 'PSWindowsUpdate'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Credential -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Specify alternative credential.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: TaskName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>TaskName</maml:name>
        <maml:description>
          <maml:para>Specify custom name for Task Scheduler job. Default is 'PSWindowsUpdate'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: ClearExpired -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ClearExpired</maml:name>
        <maml:description>
          <maml:para>Clear expired WUJob.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: WUJob -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.WUJob</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for WUJob.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Get invoked WUJob on remote machine.
 
Get-WUJob -ComputerName MG-PC</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Invoke-WUJob -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Invoke-WUJob</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>WUJob</command:noun>
      <maml:description>
        <maml:para>Invoke WUJobs by Task Schduler.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Invoke-WUJobs cmdlet to invoke PSWindowsUpdate actions remotly. It Based on TaskScheduler because CreateUpdateDownloader() and CreateUpdateInstaller() methods can't be called from a remote computer - E_ACCESSDENIED.</maml:para>
      <maml:para>Note: Because we do not have the ability to interact, is recommended use -AcceptAll for Install-WindowsUpdate.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: TriggerDate -->
      <command:syntaxItem>
        <maml:name>Invoke-WUJob</maml:name>
        <!-- Parameter: TriggerDate -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>TriggerDate</maml:name>
          <maml:description>
            <maml:para>Specify Time trigger for Task Scheduler job.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specify alternative credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: EndBoundary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>EndBoundary</maml:name>
          <maml:description>
            <maml:para>Specify EndBoundary for Task Scheduler trigger.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force update old Task Scheduler Job if it's available.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Hidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Hidden</maml:name>
          <maml:description>
            <maml:para>Specify if task must be hidden. Default is true.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Script -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Script</maml:name>
          <maml:description>
            <maml:para>Specify PowerShell script that you what to run. Default is {ipmo PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install | Out-File $Env:TEMP\PSWindowsUpdate.log}</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>ipmo PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install | Out-File $Env:TEMP\PSWindowsUpdate.log</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: TaskName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>TaskName</maml:name>
          <maml:description>
            <maml:para>Specify custom name for Task Scheduler job. Default is 'PSWindowsUpdate'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>PSWindowsUpdate</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: TriggerAtStart -->
      <command:syntaxItem>
        <maml:name>Invoke-WUJob</maml:name>
        <!-- Parameter: TriggerAtStart -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>TriggerAtStart</maml:name>
          <maml:description>
            <maml:para>Specify system startup trigger for Task Scheduler job.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specify alternative credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: EndBoundary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>EndBoundary</maml:name>
          <maml:description>
            <maml:para>Specify EndBoundary for Task Scheduler trigger.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force update old Task Scheduler Job if it's available.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Hidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Hidden</maml:name>
          <maml:description>
            <maml:para>Specify if task must be hidden. Default is true.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Script -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Script</maml:name>
          <maml:description>
            <maml:para>Specify PowerShell script that you what to run. Default is {ipmo PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install | Out-File $Env:TEMP\PSWindowsUpdate.log}</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>ipmo PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install | Out-File $Env:TEMP\PSWindowsUpdate.log</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: TaskName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>TaskName</maml:name>
          <maml:description>
            <maml:para>Specify custom name for Task Scheduler job. Default is 'PSWindowsUpdate'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>PSWindowsUpdate</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RunNow -->
      <command:syntaxItem>
        <maml:name>Invoke-WUJob</maml:name>
        <!-- Parameter: RunNow -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>RunNow</maml:name>
          <maml:description>
            <maml:para>Run Task Scheduler job immediately.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specify alternative credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: EndBoundary -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>EndBoundary</maml:name>
          <maml:description>
            <maml:para>Specify EndBoundary for Task Scheduler trigger.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Force update old Task Scheduler Job if it's available.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Hidden -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Hidden</maml:name>
          <maml:description>
            <maml:para>Specify if task must be hidden. Default is true.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Script -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Script</maml:name>
          <maml:description>
            <maml:para>Specify PowerShell script that you what to run. Default is {ipmo PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install | Out-File $Env:TEMP\PSWindowsUpdate.log}</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>ipmo PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install | Out-File $Env:TEMP\PSWindowsUpdate.log</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: TaskName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>TaskName</maml:name>
          <maml:description>
            <maml:para>Specify custom name for Task Scheduler job. Default is 'PSWindowsUpdate'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>PSWindowsUpdate</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Credential -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Specify alternative credential.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: TaskName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>TaskName</maml:name>
        <maml:description>
          <maml:para>Specify custom name for Task Scheduler job. Default is 'PSWindowsUpdate'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>PSWindowsUpdate</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Hidden -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Hidden</maml:name>
        <maml:description>
          <maml:para>Specify if task must be hidden. Default is true.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>True</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: EndBoundary -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>EndBoundary</maml:name>
        <maml:description>
          <maml:para>Specify EndBoundary for Task Scheduler trigger.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: TriggerDate -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>TriggerDate</maml:name>
        <maml:description>
          <maml:para>Specify Time trigger for Task Scheduler job.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: TriggerAtStart -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>TriggerAtStart</maml:name>
        <maml:description>
          <maml:para>Specify system startup trigger for Task Scheduler job.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RunNow -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>RunNow</maml:name>
        <maml:description>
          <maml:para>Run Task Scheduler job immediately.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Script -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Script</maml:name>
        <maml:description>
          <maml:para>Specify PowerShell script that you what to run. Default is {ipmo PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install | Out-File $Env:TEMP\PSWindowsUpdate.log}</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>ipmo PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install | Out-File $Env:TEMP\PSWindowsUpdate.log</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Force update old Task Scheduler Job if it's available.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Invoke Install-WindowsUpdate on remote machine today at 6:00 PM.
 
Invoke-WUJob -ComputerName MG-PC -Script "ipmo PSWindowsUpdate; Install-WindowsUpdate -AcceptAll | Out-File C:\PSWindowsUpdate.log" -TriggerDate (Get-Date -Hour 18 -Minute 0 -Second 0)
  
Confirm
Are you sure you want to perform this action?
Performing the operation "Invoke WU job: powershell.exe -Command "ipmo PSWindowsUpdate; Install-WindowsUpdate -AcceptAll | Out-File C:\PSWindowsUpdate.log"" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WULastResults -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WULastResults</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WULastResults</command:noun>
      <maml:description>
        <maml:para>Get Windows Update results.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WULastResults cmdlet to get Windows Update LastSearchSuccessDate and LastInstallationSuccessDate.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-WULastResults</maml:name>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: LastResults -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.LastResults</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for LastResult objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Get last Windows Update results.
 
Get-WULastResults
  
ComputerName LastSearchSuccessDate LastInstallationSuccessDate
------------ --------------------- ---------------------------
MG-PC 30.08.2017 14:02:11 03.07.2017 07:35:27</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Update-WUModule -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Update-WUModule</command:name>
      <command:verb>Update</command:verb>
      <command:noun>WUModule</command:noun>
      <maml:description>
        <maml:para>Update PSWindowsUpdate module.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Use Update-WUModule cmdlet to remote update PSWindowsUpdate module.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Local -->
      <command:syntaxItem>
        <maml:name>Update-WUModule</maml:name>
        <!-- Parameter: ComputerName -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Local -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Local</maml:name>
          <maml:description>
            <maml:para>Update from current module.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specify alternative credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Online -->
      <command:syntaxItem>
        <maml:name>Update-WUModule</maml:name>
        <!-- Parameter: Online -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Online</maml:name>
          <maml:description>
            <maml:para>Update from PSGallery.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specify alternative credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Credential -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Specify alternative credential.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Online -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Online</maml:name>
        <maml:description>
          <maml:para>Update from PSGallery.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Local -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Local</maml:name>
        <maml:description>
          <maml:para>Update from current module.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Update PSWindowsUpdate module from PSGallery
 
Update-WUModule -ComputerName MG-PC -Online</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>Update PSWindowsUpdate module from current serwer. Require SMB connection to destination machine.
 
Update-WUModule -ComputerName MG-PC -Local</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WUOfflineMSU -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WUOfflineMSU</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WUOfflineMSU</command:noun>
      <maml:description>
        <maml:para>Get offline MSU package.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WUOfflineMSU cmdlet to download MSU package from Microsoft Update Catalog website.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-WUOfflineMSU</maml:name>
        <!-- Parameter: Destination -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>Destination for downloaded files.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: KBArticleID -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>KBArticleID</maml:name>
          <maml:description>
            <maml:para>Finds updates that contain a KBArticleID.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: AcceptAll -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AcceptAll</maml:name>
          <maml:description>
            <maml:para>Do not ask confirmation for download updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: KBArticleID -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>KBArticleID</maml:name>
        <maml:description>
          <maml:para>Finds updates that contain a KBArticleID.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Destination -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>Destination for downloaded files.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: AcceptAll -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AcceptAll</maml:name>
        <maml:description>
          <maml:para>Do not ask confirmation for download updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Finds updates that contain a KBArticleID.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code> Download package for KB4551762.
PS&gt; Get-WUOfflineMSU -KBArticleID 4551762 -Destination C:\Temp
 
    Confirm
    Are you sure you want to perform this action?
    Performing the operation "(20.04.2020 14:27:17) 2020-03 Cumulative Update for Windows Server, version 1909 for
    x64-based Systems (KB4551762)[354.4 MB]" on target "DESKTOP-GCQBCBS".
    [Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): N
 
    Confirm
    Are you sure you want to perform this action?
    Performing the operation "(20.04.2020 14:27:19) 2020-03 Cumulative Update for Windows 10 Version 1909 for x64-based
    Systems(KB4551762) [354.4 MB]" on target "DESKTOP-GCQBCBS".
    [Y] Yes[A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Y
 
    Confirm
    Are you sure you want to perform this action?
    Performing the operation "(20.04.2020 14:27:23) 2020-03 Cumulative Update for Windows 10 Version 1903 for x64-based
    Systems(KB4551762) [354.4 MB]" on target "DESKTOP-GCQBCBS".
    [Y] Yes[A]Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): L
 
    X Result Title LastUpdated Size
    - ------ ----- ----------- ----
    1 Rejected 2020-03 Cumulative Update for Windows Server, version 1909 for x64-based Systems (... 3/12/2020 354.4 MB
    1 Accepted 2020-03 Cumulative Update for Windows 10 Version 1909 for x64-based Systems (KB455... 3/12/2020 354.4 MB
    1 Rejected 2020-03 Cumulative Update for Windows 10 Version 1903 for x64-based Systems (KB455... 3/12/2020 354.4 MB
    1 Rejected 2020-03 Cumulative Update for Windows 10 Version 1909 for x86-based Systems (KB455... 3/12/2020 191.7 MB
    1 Rejected 2020-03 Cumulative Update for Windows 10 Version 1903 for x86-based Systems (KB455... 3/12/2020 191.7 MB
    1 Rejected 2020-03 Cumulative Update for Windows 10 Version 1909 for ARM64-based Systems (KB4... 3/12/2020 396.1 MB
    1 Rejected 2020-03 Cumulative Update for Windows Server, version 1903 for x64-based Systems (... 3/12/2020 354.4 MB
    1 Rejected 2020-03 Cumulative Update for Windows 10 Version 1903 for ARM64-based Systems (KB4... 3/12/2020 396.1 MB
    2 Downloaded 2020-03 Cumulative Update for Windows 10 Version 1909 for x64-based Systems (KB455... 3/12/2020 354.4 MB
 
PS&gt; Get-ChildItem C:\Temp
    Directory: C:\Temp
 
    Mode LastWriteTime Length Name
    ---- ------------- ------ ----
    -a---- 12.03.2020 07:03 371656774 windows10.0-kb4551762-x64_dacef156c781f2018d94d5a5286076610ba97279.msu</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WURebootStatus -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WURebootStatus</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WURebootStatus</command:noun>
      <maml:description>
        <maml:para>Get Windows Update reboot status.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WURebootStatus cmdlet to check if reboot is needed.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: AutoReboot -->
      <command:syntaxItem>
        <maml:name>Get-WURebootStatus</maml:name>
        <!-- Parameter: AutoReboot -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoReboot</maml:name>
          <maml:description>
            <maml:para>Do not ask for reboot if it needed, but do it now.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Silent -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Silent</maml:name>
          <maml:description>
            <maml:para>Return true/false only.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: ScheduleReboot -->
      <command:syntaxItem>
        <maml:name>Get-WURebootStatus</maml:name>
        <!-- Parameter: ScheduleReboot -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleReboot</maml:name>
          <maml:description>
            <maml:para>Specify schedule time for reboot.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Silent -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Silent</maml:name>
          <maml:description>
            <maml:para>Return true/false only.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: ManualReboot -->
      <command:syntaxItem>
        <maml:name>Get-WURebootStatus</maml:name>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Silent -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Silent</maml:name>
          <maml:description>
            <maml:para>Return true/false only.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: CancelReboot -->
      <command:syntaxItem>
        <maml:name>Get-WURebootStatus</maml:name>
        <!-- Parameter: CancelReboot -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>CancelReboot</maml:name>
          <maml:description>
            <maml:para>Cancel scheduled reboot.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Silent -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Silent</maml:name>
          <maml:description>
            <maml:para>Return true/false only.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Silent -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>Return true/false only.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AutoReboot -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoReboot</maml:name>
        <maml:description>
          <maml:para>Do not ask for reboot if it needed, but do it now.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ScheduleReboot -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScheduleReboot</maml:name>
        <maml:description>
          <maml:para>Specify schedule time for reboot.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: CancelReboot -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>CancelReboot</maml:name>
        <maml:description>
          <maml:para>Cancel scheduled reboot.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Return true/false only.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: RebootStatus -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.RebootStatus</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for RebootStatus objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Check if restart is necessary. If yes, ask to do this or don't.
 
Get-WURebootStatus
  
Reboot is required. Do it now ? [Y/N] (default is 'N')
ComputerName RebootRequired RebootScheduled
------------ -------------- ---------------
MG-PC True</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>Check if restart is necessary. If yes, then shedule it.
 
Get-WURebootStatus -ScheduleReboot (Get-Date -Hour 18 -Minute 0 -Second 0)
  
ComputerName RebootRequired RebootScheduled
------------ -------------- ---------------
MG-PC True 31.08.2017 18:00:00</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Enable-WURemoting -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Enable-WURemoting</command:name>
      <command:verb>Enable</command:verb>
      <command:noun>WURemoting</command:noun>
      <maml:description>
        <maml:para>Enable firewall rules for PSWindowsUpdate remoting.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Enable-WURemoting cmdlet to enable nessesery firewall rules for PSWindowsUpdate remoting.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Enable-WURemoting</maml:name>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LocalAccountTokenFilterPolicy -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>LocalAccountTokenFilterPolicy</maml:name>
          <maml:description>
            <maml:para>Set LocalAccountTokenFilterPolicy registry entry to builds an elevated token on the target remote computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WinRMPublic -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WinRMPublic</maml:name>
          <maml:description>
            <maml:para>Enable WinRM Public access from all subnets. Default access is only enabled from local subnet. Required for workgroup computers.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: LocalAccountTokenFilterPolicy -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>LocalAccountTokenFilterPolicy</maml:name>
        <maml:description>
          <maml:para>Set LocalAccountTokenFilterPolicy registry entry to builds an elevated token on the target remote computer.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: WinRMPublic -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WinRMPublic</maml:name>
        <maml:description>
          <maml:para>Enable WinRM Public access from all subnets. Default access is only enabled from local subnet. Required for workgroup computers.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Enable firewall rules for PSWindowsUpdate remoting.
 
Enable-WURemoting -Verbose</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Add-WUServiceManager -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Add-WUServiceManager</command:name>
      <command:verb>Add</command:verb>
      <command:noun>WUServiceManager</command:noun>
      <maml:description>
        <maml:para>Register a new Windows Update API Service Manager.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Add-WUServiceManager cmdlet to register new Windows Update Service Manager.</maml:para>
      <maml:para>It's combination old 'Add-WUServiceManager' and 'Add-WUOfflineSync' functions to register online and offline ServiceManager</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: RemoteServiceID -->
      <command:syntaxItem>
        <maml:name>Add-WUServiceManager</maml:name>
        <!-- Parameter: ServiceID -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>ServiceID</maml:name>
          <maml:description>
            <maml:para>An identifier for the service to be registered.</maml:para>
            <maml:para>Examples Of ServiceID: \r\n \r\n -- Windows Update 9482f4b4-e343-43b6-b170-9a65bc822c77 \r\n -- Microsoft Update 7971f918-a847-4430-9279-4a52d1efe18d \r\n -- Windows Store 117cab2d-82b1-4b5a-a08c-4d62dbee7782 \r\n -- Windows Server Update Service 3da21691-e39d-4da6-8a4b-b43877bcb1b7</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Silent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Silent</maml:name>
          <maml:description>
            <maml:para>Don't return output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: MicrosoftUpdate -->
      <command:syntaxItem>
        <maml:name>Add-WUServiceManager</maml:name>
        <!-- Parameter: MicrosoftUpdate -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>MicrosoftUpdate</maml:name>
          <maml:description>
            <maml:para>Register Microsoft Update Service Manager - '7971f918-a847-4430-9279-4a52d1efe18d'</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Silent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Silent</maml:name>
          <maml:description>
            <maml:para>Don't return output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: LocalServiceID -->
      <command:syntaxItem>
        <maml:name>Add-WUServiceManager</maml:name>
        <!-- Parameter: ServiceID -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>ServiceID</maml:name>
          <maml:description>
            <maml:para>An identifier for the service to be registered.</maml:para>
            <maml:para>Examples Of ServiceID: \r\n \r\n -- Windows Update 9482f4b4-e343-43b6-b170-9a65bc822c77 \r\n -- Microsoft Update 7971f918-a847-4430-9279-4a52d1efe18d \r\n -- Windows Store 117cab2d-82b1-4b5a-a08c-4d62dbee7782 \r\n -- Windows Server Update Service 3da21691-e39d-4da6-8a4b-b43877bcb1b7</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: AddServiceFlag -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AddServiceFlag</maml:name>
          <maml:description>
            <maml:para>A combination of AddServiceFlag values: \r\n0x1 - asfAllowPendingRegistration \r\n0x2 - asfAllowOnlineRegistration \r\n0x4 - asfRegisterServiceWithAU</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>2</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AuthorizationCabPath -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AuthorizationCabPath</maml:name>
          <maml:description>
            <maml:para>The path of the Microsoft signed local cabinet file (.cab) that has the information that is required for a service registration. If empty, the update agent searches for the authorization cabinet file (.cab) during service registration when a network connection is available.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Silent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Silent</maml:name>
          <maml:description>
            <maml:para>Don't return output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: OfflineSync -->
      <command:syntaxItem>
        <maml:name>Add-WUServiceManager</maml:name>
        <!-- Parameter: ScanFileLocation -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScanFileLocation</maml:name>
          <maml:description>
            <maml:para>Path to Windows Update offline scan file (wsusscan.cab or wsusscn2.cab).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ServiceName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ServiceName</maml:name>
          <maml:description>
            <maml:para>Name under which it will be registered Windows Update offline service. Default name is 'Offline Sync Service'.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Offline Sync Service</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Silent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Silent</maml:name>
          <maml:description>
            <maml:para>Don't return output.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: ServiceID -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>ServiceID</maml:name>
        <maml:description>
          <maml:para>An identifier for the service to be registered.</maml:para>
          <maml:para>Examples Of ServiceID: \r\n \r\n -- Windows Update 9482f4b4-e343-43b6-b170-9a65bc822c77 \r\n -- Microsoft Update 7971f918-a847-4430-9279-4a52d1efe18d \r\n -- Windows Store 117cab2d-82b1-4b5a-a08c-4d62dbee7782 \r\n -- Windows Server Update Service 3da21691-e39d-4da6-8a4b-b43877bcb1b7</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: AddServiceFlag -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AddServiceFlag</maml:name>
        <maml:description>
          <maml:para>A combination of AddServiceFlag values: \r\n0x1 - asfAllowPendingRegistration \r\n0x2 - asfAllowOnlineRegistration \r\n0x4 - asfRegisterServiceWithAU</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>2</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AuthorizationCabPath -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AuthorizationCabPath</maml:name>
        <maml:description>
          <maml:para>The path of the Microsoft signed local cabinet file (.cab) that has the information that is required for a service registration. If empty, the update agent searches for the authorization cabinet file (.cab) during service registration when a network connection is available.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: MicrosoftUpdate -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>MicrosoftUpdate</maml:name>
        <maml:description>
          <maml:para>Register Microsoft Update Service Manager - '7971f918-a847-4430-9279-4a52d1efe18d'</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ServiceName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ServiceName</maml:name>
        <maml:description>
          <maml:para>Name under which it will be registered Windows Update offline service. Default name is 'Offline Sync Service'.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Offline Sync Service</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ScanFileLocation -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScanFileLocation</maml:name>
        <maml:description>
          <maml:para>Path to Windows Update offline scan file (wsusscan.cab or wsusscn2.cab).</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Silent -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Silent</maml:name>
        <maml:description>
          <maml:para>Don't return output.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: ServiceManager -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.ServiceManager</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for ServiceManager objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Try register Microsoft Update Service by custom ServiceID.
 
Add-WUServiceManager -ServiceID "7971f918-a847-4430-9279-4a52d1efe18d"
  
Confirm
Are you sure you want to perform this action?
Performing the operation "Register Windows Update Service Manager: 7971f918-a847-4430-9279-4a52d1efe18d" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
ServiceID IsManaged IsDefault Name
--------- --------- --------- ----
7971f918-a847-4430-9279-4a52d1efe18d False False Microsoft Update</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>Try register Microsoft Update service as Service Manager.
 
Add-WUServiceManager -MicrosoftUpdate
 
Confirm
Are you sure you want to perform this action?
Performing the operation "Register Windows Update Service Manager: 7971f918-a847-4430-9279-4a52d1efe18d" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
ServiceID IsManaged IsDefault Name
--------- --------- --------- ----
7971f918-a847-4430-9279-4a52d1efe18d False False Microsoft Update</dev:code>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>Try register Offline Sync Service from file C:\wsusscn2.cab.
 
Add-WUServiceManager -ScanFileLocation C:\wsusscn2.cab
  
Confirm
Are you sure you want to perform this action?
Performing the operation "Register Offline Windows Update Service Manager: C:\wsusscn2.cab" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
ServiceID IsManaged IsDefault Name
--------- --------- --------- ----
7e1364ef-e30e-4f4e-9c66-84194eebcbbe False False Offline Sync Service</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WUServiceManager -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WUServiceManager</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WUServiceManager</command:noun>
      <maml:description>
        <maml:para>Get Service Manager configuration.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WUServiceManager cmdlet to get available configuration of update services.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-WUServiceManager</maml:name>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specify alternative credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ServiceID -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ServiceID</maml:name>
          <maml:description>
            <maml:para>Get specific Service Manager if it's available.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Credential -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Specify alternative credential.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: ServiceID -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ServiceID</maml:name>
        <maml:description>
          <maml:para>Get specific Service Manager if it's available.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: ServiceManager -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.ServiceManager</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for ServiceManager objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Check currently available Windows Update Services on machine.
 
Get-WUServiceManager
  
ServiceID IsManaged IsDefault Name
--------- --------- --------- ----
9482f4b4-e343-43b6-b170-9a65bc822c77 False False Windows Update
7971f918-a847-4430-9279-4a52d1efe18d False False Microsoft Update
3da21691-e39d-4da6-8a4b-b43877bcb1b7 True True Windows Server Update Service
13df3d8f-78d7-4eb8-bb9c-2a101870d350 False False Offline Sync Service2
a8f3b5e6-fb1f-4814-a047-2257d39c2460 False False Offline Sync Service</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Remove-WUServiceManager -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Remove-WUServiceManager</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>WUServiceManager</command:noun>
      <maml:description>
        <maml:para>Remove windows update service manager.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Remove-WUServiceManager cmdlet to unregister Windows Update Service Manager.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Remove-WUServiceManager</maml:name>
        <!-- Parameter: ServiceID -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>ServiceID</maml:name>
          <maml:description>
            <maml:para>Specify ServiceID of Service Manager that you want to remove.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduleJob -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduleJob</maml:name>
          <maml:description>
            <maml:para>Specify schedule time job.</maml:para>
          </maml:description>
          <command:parameterValue required="true">DateTime</command:parameterValue>
          <dev:type>
            <maml:name>System.DateTime</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: ScheduleJob -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScheduleJob</maml:name>
        <maml:description>
          <maml:para>Specify schedule time job.</maml:para>
        </maml:description>
        <command:parameterValue required="true">DateTime</command:parameterValue>
        <dev:type>
          <maml:name>System.DateTime</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>01.01.0001 00:00:00</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ServiceID -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>ServiceID</maml:name>
        <maml:description>
          <maml:para>Specify ServiceID of Service Manager that you want to remove.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Try unregister Microsoft Update Service.
 
Remove-WUServiceManager -ServiceID "7971f918-a847-4430-9279-4a52d1efe18d"
  
Confirm
Are you sure you want to perform this action?
Performing the operation "Unregister Windows Update Service Manager: 7971f918-a847-4430-9279-4a52d1efe18d" on target "MG-PC".
 
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WUSettings -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WUSettings</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WUSettings</command:noun>
      <maml:description>
        <maml:para>Get Windows Update Client settings.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WUSettings cmdlet to get current configuration of Windows Update Client.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-WUSettings</maml:name>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: WUSettings -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.WUSettings</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for WUSettings objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Get current Windows Update Client configuration.
 
Get-WUSettings
  
ComputerName : MG-PC
AcceptTrustedPublisherCerts : 0
WUServer : https://wsus.commandlinegeeks.com
WUStatusServer : https://wsus.commandlinegeeks.com
DetectionFrequencyEnabled : 1
DetectionFrequency : 2
NoAutoRebootWithLoggedOnUsers : 1
RebootRelaunchTimeoutEnabled : 1
RebootRelaunchTimeout : 240
IncludeRecommendedUpdates : 0
NoAutoUpdate : 0
AUOptions : 2 - Notify before download
ScheduledInstallDay : 0 - Every Day
ScheduledInstallTime : 4
UseWUServer : 1</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Set-WUSettings -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-WUSettings</command:name>
      <command:verb>Set</command:verb>
      <command:noun>WUSettings</command:noun>
      <maml:description>
        <maml:para>Set Windows Update Client settings.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Set-WUSettings cmdlet to Set configuration of Windows Update Client.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-WUSettings</maml:name>
        <!-- Parameter: AcceptTrustedPublisherCerts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AcceptTrustedPublisherCerts</maml:name>
          <maml:description>
            <maml:para>Enabled - The WSUS server distributes available signed non-Microsoft updates.</maml:para>
            <maml:para>Disabled - The WSUS server does not distribute available signed non-Microsoft updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoInstallMinorUpdates -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoInstallMinorUpdates</maml:name>
          <maml:description>
            <maml:para>Silently install minor updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DetectionFrequency -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DetectionFrequency</maml:name>
          <maml:description>
            <maml:para>Time between detection cycles. Time in hours (1–22).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DetectionFrequencyEnabled -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DetectionFrequencyEnabled</maml:name>
          <maml:description>
            <maml:para>Enable/Disable detection frequency.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DisableWindowsUpdateAccess -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DisableWindowsUpdateAccess</maml:name>
          <maml:description>
            <maml:para>Disables/Enables access to Windows Update.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: IncludeRecommendedUpdates -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>IncludeRecommendedUpdates</maml:name>
          <maml:description>
            <maml:para>Enable/Disable recommended updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoAutoRebootWithLoggedOnUsers -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoAutoRebootWithLoggedOnUsers</maml:name>
          <maml:description>
            <maml:para>Logged-on user can decide whether to restart the client computer.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NoAutoUpdate -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NoAutoUpdate</maml:name>
          <maml:description>
            <maml:para>Enable/Disable Automatic Updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NonAdministratorsElevated -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>NonAdministratorsElevated</maml:name>
          <maml:description>
            <maml:para>Enabled - All members of the Users security group can approve or disapprove updates.</maml:para>
            <maml:para>Disabled - Only members of the Administrators security group can approve or disapprove updates.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NotificationLevel -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="AUOptions">
          <maml:name>NotificationLevel</maml:name>
          <maml:description>
            <maml:para>Notify mode: "Not configured", "Disabled", "Notify before download", "Notify before installation", "Scheduled installation", "Users configure"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: RebootRelaunchTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RebootRelaunchTimeout</maml:name>
          <maml:description>
            <maml:para>Time between prompts for a scheduled restart. Time in minutes (1–1440).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RebootRelaunchTimeoutEnabled -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RebootRelaunchTimeoutEnabled</maml:name>
          <maml:description>
            <maml:para>Enable/Disable RebootRelaunchTimeout.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RebootWarningTimeout -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RebootWarningTimeout</maml:name>
          <maml:description>
            <maml:para>Length, in minutes, of the restart warning countdown after updates have been installed that have a deadline or scheduled updates. Time in minutes (1–30).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RebootWarningTimeoutEnabled -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RebootWarningTimeoutEnabled</maml:name>
          <maml:description>
            <maml:para>Enable/Disable RebootWarningTimeout.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RescheduleWaitTime -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RescheduleWaitTime</maml:name>
          <maml:description>
            <maml:para>Time in minutes that Automatic Updates waits at startup before it applies updates from a missed scheduled installation time. Time in minutes (1–60).</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScheduledInstallDay -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduledInstallDay</maml:name>
          <maml:description>
            <maml:para>Scheduled day of install: "Every day", "Every Sunday", "Every Monday", "Every Tuesday", "Every Wednesday", "Every Thursday", ""Every Friday", "EverySaturday". Only valid if NotificationLevel (AUOptions) = "Scheduled installation"</maml:para>
            <maml:para>Starting with Windows 8 and Windows Server 2012, ScheduledInstallationDay are not supported and will return unreliable values.If you try to modify these properties, the operation will appear to succeed but will have no effect.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: ScheduledInstallTime -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScheduledInstallTime</maml:name>
          <maml:description>
            <maml:para>Scheduled time of install in 24-hour format(0–23).</maml:para>
            <maml:para>Starting with Windows 8 and Windows Server 2012, ScheduledInstallTime are not supported and will return unreliable values.If you try to modify these properties, the operation will appear to succeed but will have no effect.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: TargetGroup -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>TargetGroup</maml:name>
          <maml:description>
            <maml:para>Name of the computer group to which the computer belongs.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: TargetGroupEnabled -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>TargetGroupEnabled</maml:name>
          <maml:description>
            <maml:para>Use/Do not use client-side targeting.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: UseWUServer -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UseWUServer</maml:name>
          <maml:description>
            <maml:para>The computer gets its updates from a WSUS server or from Microsoft Update.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: WUServer -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>WUServer</maml:name>
          <maml:description>
            <maml:para>HTTP(S) URL of the WSUS server that is used by Automatic Updates and API callers (by default).</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: AcceptTrustedPublisherCerts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AcceptTrustedPublisherCerts</maml:name>
        <maml:description>
          <maml:para>Enabled - The WSUS server distributes available signed non-Microsoft updates.</maml:para>
          <maml:para>Disabled - The WSUS server does not distribute available signed non-Microsoft updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DisableWindowsUpdateAccess -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DisableWindowsUpdateAccess</maml:name>
        <maml:description>
          <maml:para>Disables/Enables access to Windows Update.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NonAdministratorsElevated -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NonAdministratorsElevated</maml:name>
        <maml:description>
          <maml:para>Enabled - All members of the Users security group can approve or disapprove updates.</maml:para>
          <maml:para>Disabled - Only members of the Administrators security group can approve or disapprove updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: TargetGroup -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>TargetGroup</maml:name>
        <maml:description>
          <maml:para>Name of the computer group to which the computer belongs.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: TargetGroupEnabled -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>TargetGroupEnabled</maml:name>
        <maml:description>
          <maml:para>Use/Do not use client-side targeting.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: WUServer -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>WUServer</maml:name>
        <maml:description>
          <maml:para>HTTP(S) URL of the WSUS server that is used by Automatic Updates and API callers (by default).</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: NotificationLevel -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="AUOptions">
        <maml:name>NotificationLevel</maml:name>
        <maml:description>
          <maml:para>Notify mode: "Not configured", "Disabled", "Notify before download", "Notify before installation", "Scheduled installation", "Users configure"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="AUOptions">
        <maml:name>AUOptions</maml:name>
        <maml:description>
          <maml:para>Notify mode: "Not configured", "Disabled", "Notify before download", "Notify before installation", "Scheduled installation", "Users configure"</maml:para>
          <maml:para>This is an alias of the NotificationLevel parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: AutoInstallMinorUpdates -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoInstallMinorUpdates</maml:name>
        <maml:description>
          <maml:para>Silently install minor updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DetectionFrequency -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DetectionFrequency</maml:name>
        <maml:description>
          <maml:para>Time between detection cycles. Time in hours (1–22).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DetectionFrequencyEnabled -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DetectionFrequencyEnabled</maml:name>
        <maml:description>
          <maml:para>Enable/Disable detection frequency.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: IncludeRecommendedUpdates -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>IncludeRecommendedUpdates</maml:name>
        <maml:description>
          <maml:para>Enable/Disable recommended updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NoAutoRebootWithLoggedOnUsers -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NoAutoRebootWithLoggedOnUsers</maml:name>
        <maml:description>
          <maml:para>Logged-on user can decide whether to restart the client computer.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NoAutoUpdate -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>NoAutoUpdate</maml:name>
        <maml:description>
          <maml:para>Enable/Disable Automatic Updates.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RebootRelaunchTimeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RebootRelaunchTimeout</maml:name>
        <maml:description>
          <maml:para>Time between prompts for a scheduled restart. Time in minutes (1–1440).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RebootRelaunchTimeoutEnabled -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RebootRelaunchTimeoutEnabled</maml:name>
        <maml:description>
          <maml:para>Enable/Disable RebootRelaunchTimeout.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RebootWarningTimeout -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RebootWarningTimeout</maml:name>
        <maml:description>
          <maml:para>Length, in minutes, of the restart warning countdown after updates have been installed that have a deadline or scheduled updates. Time in minutes (1–30).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RebootWarningTimeoutEnabled -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RebootWarningTimeoutEnabled</maml:name>
        <maml:description>
          <maml:para>Enable/Disable RebootWarningTimeout.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RescheduleWaitTime -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RescheduleWaitTime</maml:name>
        <maml:description>
          <maml:para>Time in minutes that Automatic Updates waits at startup before it applies updates from a missed scheduled installation time. Time in minutes (1–60).</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ScheduledInstallDay -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScheduledInstallDay</maml:name>
        <maml:description>
          <maml:para>Scheduled day of install: "Every day", "Every Sunday", "Every Monday", "Every Tuesday", "Every Wednesday", "Every Thursday", ""Every Friday", "EverySaturday". Only valid if NotificationLevel (AUOptions) = "Scheduled installation"</maml:para>
          <maml:para>Starting with Windows 8 and Windows Server 2012, ScheduledInstallationDay are not supported and will return unreliable values.If you try to modify these properties, the operation will appear to succeed but will have no effect.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: ScheduledInstallTime -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScheduledInstallTime</maml:name>
        <maml:description>
          <maml:para>Scheduled time of install in 24-hour format(0–23).</maml:para>
          <maml:para>Starting with Windows 8 and Windows Server 2012, ScheduledInstallTime are not supported and will return unreliable values.If you try to modify these properties, the operation will appear to succeed but will have no effect.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: UseWUServer -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>UseWUServer</maml:name>
        <maml:description>
          <maml:para>The computer gets its updates from a WSUS server or from Microsoft Update.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: WUSettings -->
      <command:returnValue>
        <dev:type>
          <maml:name>PSWindowsUpdate.WUSettings</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>OutputType for WUSettings objects.</maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Enable IncludeRecommendedUpdates attributes.
 
Set-WUSettings -IncludeRecommendedUpdates
  
Confirm
Are you sure you want to perform this action?
Performing the operation "Set Windows Update settings" on target "MG-PC".
[Y] Yes[A] Yes to All [N] No[L] No to All [S] Suspend[?] Help (default is "Y"): Y
 
ComputerName IncludeRecommendedUpdates
------------ -------------------------
MG-PC True</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-WUTest -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-WUTest</command:name>
      <command:verb>Get</command:verb>
      <command:noun>WUTest</command:noun>
      <maml:description>
        <maml:para>Test cmdlet.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Use Get-WUTest cmdlet to test.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Get-WUTest</maml:name>
        <!-- Parameter: ComputerName -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>ComputerName</maml:name>
          <maml:description>
            <maml:para>Specify one or more computer names for remote connection.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specify alternative credential.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Debuger -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Debuger</maml:name>
          <maml:description>
            <maml:para>Debuger return original exceptions.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PSWUSettings -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PSWUSettings</maml:name>
          <maml:description>
            <maml:para>Required parameter for -SendReport.</maml:para>
            <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
            <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SendReport -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SendReport</maml:name>
          <maml:description>
            <maml:para>Send report email to specific recipients.</maml:para>
            <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: TestParam -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>TestParam</maml:name>
          <maml:description>
            <maml:para>Test parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ComputerName -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>ComputerName</maml:name>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Credential -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Specify alternative credential.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SendReport -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SendReport</maml:name>
        <maml:description>
          <maml:para>Send report email to specific recipients.</maml:para>
          <maml:para>Requires the parameter -PSWUSettings or declare the PSWUSettings.xml file in ModuleBase path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PSWUSettings -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PSWUSettings</maml:name>
        <maml:description>
          <maml:para>Required parameter for -SendReport.</maml:para>
          <maml:para>Passes the parameters (as hashtable) necessary to send the report: \r\n@{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25];[Subject="Alternative Subject"];[Properties="Alternative object properties"];[Style="Table|List"]}</maml:para>
          <maml:para>Send parameters can also be saved to a PSWUSettings.xml file in ModuleBase path: \r\nExport-Clixml @{SmtpServer="your.smtp.server";From="sender@email.address";To="recipient@email.address";[Port=25]}"</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Debuger -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Debuger</maml:name>
        <maml:description>
          <maml:para>Debuger return original exceptions.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: TestParam -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>TestParam</maml:name>
        <maml:description>
          <maml:para>Test parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specify one or more computer names for remote connection.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues />
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>Test.
 
Get-WUTest</dev:code>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText>Author Blog</maml:linkText>
        <maml:uri>https://commandlinegeeks.wordpress.com/</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
</helpItems>