azure-ad-license-status.psm1-help.xml

<?xml version="1.0" encoding="utf-8" ?>
<helpItems xmlns="http://msh" schema="maml">
    <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-AzureADLicenseStatus</command:name>
            <command:verb>Get</command:verb>
            <command:noun>AzureADLicenseStatus</command:noun>
            <maml:description>
                <maml:para>Creates an Azure AD license report based on license assignments and consumption</maml:para>
            </maml:description>
        </command:details>
        <maml:description>
            <maml:para>This function is meant to conquer side-effects of semi-automatic license assignments for Microsoft services in Azure AD, i.e. the combination of group-based licensing with manual group membership management, by regularly reporting both on the amount of available licenses per SKU and any conflicting license assignments per user account. This allows for somewhat easier license management without either implementing a full-fledged software asset management solution or hiring a licensing service provider.</maml:para>
            <maml:para>SKU IDs and names are in accordance with https://learn.microsoft.com/azure/active-directory/enterprise-users/licensing-service-plan-reference</maml:para>
        </maml:description>
        <command:syntax>
            <command:syntaxItem>
                <maml:name>Get-AzureADLicenseStatus</maml:name>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>DirectoryID</maml:name>
                    <command:parameterValue required="true">System.Guid</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>ApplicationID</maml:name>
                    <command:parameterValue required="true">System.Guid</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SubscriptionID</maml:name>
                    <command:parameterValue required="true">System.Guid</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>KeyVaultName</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>CertificateName</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SenderAddress</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>RecipientAddresses_normal</maml:name>
                    <command:parameterValue required="true">System.String[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>RecipientAddresses_critical</maml:name>
                    <command:parameterValue required="true">System.String[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUIgnoreThreshold</maml:name>
                    <command:parameterValue required="true">System.UInt32</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUPercentageThreshold_normal</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUTotalThreshold_normal</maml:name>
                    <command:parameterValue required="true">System.UInt32</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUPercentageThreshold_important</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUTotalThreshold_important</maml:name>
                    <command:parameterValue required="true">System.UInt32</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUWarningThreshold_basic</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUCriticalThreshold_basic</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUWarningThreshold_advanced</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUCriticalThreshold_advanced</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>ImportantSKUs</maml:name>
                    <command:parameterValue required="true">System.Guid[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>InterchangeableSKUs</maml:name>
                    <command:parameterValue required="true">System.Guid[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>PreferableSKUs</maml:name>
                    <command:parameterValue required="true">SKURule[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUPrices</maml:name>
                    <command:parameterValue required="true">SKUPrice[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>AttachmentFormat</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>LicensingURL</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>AdvancedCheckups</maml:name>
                </command:parameter>
            </command:syntaxItem>
            <command:syntaxItem>
                <maml:name>Get-AzureADLicenseStatus</maml:name>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>DirectoryID</maml:name>
                    <command:parameterValue required="true">System.Guid</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>ApplicationID</maml:name>
                    <command:parameterValue required="true">System.Guid</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>Certificate</maml:name>
                    <command:parameterValue required="true">System.Security.Cryptography.X509Certificates.X509Certificate2</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SenderAddress</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>RecipientAddresses_normal</maml:name>
                    <command:parameterValue required="true">System.String[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>RecipientAddresses_critical</maml:name>
                    <command:parameterValue required="true">System.String[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUIgnoreThreshold</maml:name>
                    <command:parameterValue required="true">System.UInt32</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUPercentageThreshold_normal</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUTotalThreshold_normal</maml:name>
                    <command:parameterValue required="true">System.UInt32</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUPercentageThreshold_important</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUTotalThreshold_important</maml:name>
                    <command:parameterValue required="true">System.UInt32</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUWarningThreshold_basic</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUCriticalThreshold_basic</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUWarningThreshold_advanced</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUCriticalThreshold_advanced</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>ImportantSKUs</maml:name>
                    <command:parameterValue required="true">System.Guid[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>InterchangeableSKUs</maml:name>
                    <command:parameterValue required="true">System.Guid[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>PreferableSKUs</maml:name>
                    <command:parameterValue required="true">SKURule[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUPrices</maml:name>
                    <command:parameterValue required="true">SKUPrice[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>AttachmentFormat</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>LicensingURL</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>AdvancedCheckups</maml:name>
                </command:parameter>
            </command:syntaxItem>
            <command:syntaxItem>
                <maml:name>Get-AzureADLicenseStatus</maml:name>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>DirectoryID</maml:name>
                    <command:parameterValue required="true">System.Guid</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>ApplicationID</maml:name>
                    <command:parameterValue required="true">System.Guid</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>CertificateThumbprint</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SenderAddress</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                    <maml:name>RecipientAddresses_normal</maml:name>
                    <command:parameterValue required="true">System.String[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>RecipientAddresses_critical</maml:name>
                    <command:parameterValue required="true">System.String[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUIgnoreThreshold</maml:name>
                    <command:parameterValue required="true">System.UInt32</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUPercentageThreshold_normal</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUTotalThreshold_normal</maml:name>
                    <command:parameterValue required="true">System.UInt32</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUPercentageThreshold_important</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUTotalThreshold_important</maml:name>
                    <command:parameterValue required="true">System.UInt32</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUWarningThreshold_basic</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUCriticalThreshold_basic</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUWarningThreshold_advanced</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUCriticalThreshold_advanced</maml:name>
                    <command:parameterValue required="true">System.UInt16</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>ImportantSKUs</maml:name>
                    <command:parameterValue required="true">System.Guid[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>InterchangeableSKUs</maml:name>
                    <command:parameterValue required="true">System.Guid[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>PreferableSKUs</maml:name>
                    <command:parameterValue required="true">SKURule[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>SKUPrices</maml:name>
                    <command:parameterValue required="true">SKUPrice[]</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>AttachmentFormat</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>LicensingURL</maml:name>
                    <command:parameterValue required="true">System.String</command:parameterValue>
                </command:parameter>
                <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                    <maml:name>AdvancedCheckups</maml:name>
                </command:parameter>
            </command:syntaxItem>
        </command:syntax>
        <command:parameters>
            <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>DirectoryID</maml:name>
                <maml:description>
                    <maml:para>Specifies the directory to connect to</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.Guid</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>ApplicationID</maml:name>
                <maml:description>
                    <maml:para>Specifies the application in target directory to authenticate with</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.Guid</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>SubscriptionID</maml:name>
                <maml:description>
                    <maml:para>Specifies the subscription in target directory to access</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.Guid</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>KeyVaultName</maml:name>
                <maml:description>
                    <maml:para>Specifies the key vault in target subscription to access</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.String</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>CertificateName</maml:name>
                <maml:description>
                    <maml:para>Specifies the certificate name in target key vault to use for authentication</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.String</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>Certificate</maml:name>
                <maml:description>
                    <maml:para>Specifies the certificate to use for authentication</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.Security.Cryptography.X509Certificates.X509Certificate2</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>CertificateThumbprint</maml:name>
                <maml:description>
                    <maml:para>Specifies the certificate thumbprint in local certificate store to use for authentication</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.String</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>SenderAddress</maml:name>
                <maml:description>
                    <maml:para>Specifies the sender address to be used for report delivery</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.String</command:parameterValue>
            </command:parameter>
            <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
                <maml:name>RecipientAddresses_normal</maml:name>
                <maml:description>
                    <maml:para>Specifies the recipient addresses to be used for report delivery</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>RecipientAddresses_critical</maml:name>
                <maml:description>
                    <maml:para>Specifies the additional recipient addresses to be used for report delivery in critical cases</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.String[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SKUIgnoreThreshold</maml:name>
                <maml:description>
                    <maml:para>Specifies the minimum enabled license threshold for SKUs to be considered for the report, e.g. to ignore SKUs purchased for testing purposes or from trials</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.UInt32</command:parameterValue>
                <dev:defaultvalue>10</dev:defaultvalue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SKUPercentageThreshold_normal</maml:name>
                <maml:description>
                    <maml:para>Specifies the minimum available license percentage threshold for SKUs to be included in the report</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.UInt16</command:parameterValue>
                <dev:defaultvalue>5</dev:defaultvalue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SKUTotalThreshold_normal</maml:name>
                <maml:description>
                    <maml:para>Specifies the minimum available license amount threshold for SKUs to be included in the report</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.UInt32</command:parameterValue>
                <dev:defaultvalue>10</dev:defaultvalue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SKUPercentageThreshold_important</maml:name>
                <maml:description>
                    <maml:para>Specifies the minimum available license percentage threshold for SKUs to be included in the report</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.UInt16</command:parameterValue>
                <dev:defaultvalue>5</dev:defaultvalue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SKUTotalThreshold_important</maml:name>
                <maml:description>
                    <maml:para>Specifies the minimum available license amount threshold for SKUs to be included in the report</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.UInt32</command:parameterValue>
                <dev:defaultvalue>50</dev:defaultvalue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SKUWarningThreshold_basic</maml:name>
                <maml:description>
                    <maml:para>Specifies the warning percentage threshold to be used during report creation for basic checkups, should be higher than the value provided for the parameter 'SKUCriticalThreshold_basic'</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.UInt16</command:parameterValue>
                <dev:defaultvalue>80</dev:defaultvalue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SKUCriticalThreshold_basic</maml:name>
                <maml:description>
                    <maml:para>Specifies the critical percentage threshold to be used during report creation for basic checkups, should be lower than the value provided for the parameter 'SKUWarningThreshold_basic'</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.UInt16</command:parameterValue>
                <dev:defaultvalue>20</dev:defaultvalue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SKUWarningThreshold_advanced</maml:name>
                <maml:description>
                    <maml:para>Specifies the warning percentage threshold to be used during report creation for advanced checkups, should be higher than the value provided for the parameter 'SKUCriticalThreshold_advanced'</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.UInt16</command:parameterValue>
                <dev:defaultvalue>99</dev:defaultvalue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SKUCriticalThreshold_advanced</maml:name>
                <maml:description>
                    <maml:para>Specifies the critical percentage threshold to be used during report creation for advanced checkups, should be lower than the value provided for the parameter 'SKUWarningThreshold_advanced'</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.UInt16</command:parameterValue>
                <dev:defaultvalue>95</dev:defaultvalue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>ImportantSKUs</maml:name>
                <maml:description>
                    <maml:para>Specifies the SKUs which are deemed important, so different thresholds are used for calculation</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.Guid[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>InterchangeableSKUs</maml:name>
                <maml:description>
                    <maml:para>Specifies a list of SKUs which are deemed interchangeable, e.g Office 365 E1 and Office 365 E3</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.Guid[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>PreferableSKUs</maml:name>
                <maml:description>
                    <maml:para>Specifies a list of SKUs which are deemed preferable based on their provided ruleset, relies on the parameter 'InterchangeableSKUs' to calculate replaceable SKUs</maml:para>
                </maml:description>
                <command:parameterValue required="true">SKURule[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>SKUPrices</maml:name>
                <maml:description>
                    <maml:para>Specifies a list of SKUs with their prices to calculate potential savings during user checkups</maml:para>
                </maml:description>
                <command:parameterValue required="true">SKUPrice[]</command:parameterValue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AttachmentFormat</maml:name>
                <maml:description>
                    <maml:para>Specifies a format for user results attached to the report</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.String</command:parameterValue>
                <dev:possibleValues>
                    <dev:possibleValue>
                        <dev:value>CSV</dev:value>
                        <maml:description>
                            <maml:para>User results will be attached as CSV file(s), using SKU IDs</maml:para>
                        </maml:description>
                    </dev:possibleValue>
                    <dev:possibleValue>
                        <dev:value>TranslatedCSV</dev:value>
                        <maml:description>
                            <maml:para>User results will be attached as CSV file(s), using SKU names</maml:para>
                        </maml:description>
                    </dev:possibleValue>
                    <dev:possibleValue>
                        <dev:value>JSON</dev:value>
                        <maml:description>
                            <maml:para>User results will be attached as a JSON file, using SKU IDs</maml:para>
                        </maml:description>
                    </dev:possibleValue>
                </dev:possibleValues>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>LicensingURL</maml:name>
                <maml:description>
                    <maml:para>Specifies a licensing portal URL to be linked in the report, refers to Microsoft's Volume Licensing Service Center by default</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.String</command:parameterValue>
                <dev:defaultvalue>https://www.microsoft.com/licensing/servicecenter</dev:defaultvalue>
            </command:parameter>
            <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
                <maml:name>AdvancedCheckups</maml:name>
                <maml:description>
                    <maml:para>Specifies if advanced license checkups should be run</maml:para>
                    <maml:para>ATTENTION: Advanced checkups require additional access permissions and might increase the checkup duration</maml:para>
                </maml:description>
                <command:parameterValue required="true">System.Management.Automation.SwitchParameter</command:parameterValue>
            </command:parameter>
        </command:parameters>
        <command:inputTypes />
        <command:returnValues />
        <maml:alertSet>
            <maml:alert>
                <maml:para>----- Custom type 'SKUPrice' for parameter 'SKUPrices' -----</maml:para>
                <maml:para>Properties:</maml:para>
                <maml:para>- SKUID &lt;System.Guid&gt;</maml:para>
                <maml:para>- Price &lt;System.Decimal&gt;</maml:para>
                <maml:para />
            </maml:alert>
            <maml:alert>
                <maml:para>--- Custom type 'SKURule' for parameter 'PreferableSKUs' ---</maml:para>
                <maml:para>Properties:</maml:para>
                <maml:para>- SKUID &lt;System.Guid&gt;</maml:para>
                <maml:para>- AccountEnabled &lt;System.String&gt;
  accepts: 'True', 'False', 'Skip'
  default: [SKURule]::AccountEnabledDefault()
                </maml:para>
                <maml:para>- AccountGuest &lt;System.String&gt;
  accepts: 'True', 'False', 'Skip'
  default: [SKURule]::AccountGuestDefault()
                </maml:para>
                <maml:para>- CreatedEarlierThan &lt;System.DateTime&gt;
  default: [SKURule]::CreatedEarlierThanDefault()
                </maml:para>
                <maml:para>- LastActiveEarlierThan &lt;System.DateTime&gt;
  default: [SKURule]::LastActiveEarlierThanDefault()
                </maml:para>
                <maml:para>- OneDriveGBUsedLessThan &lt;System.Decimal&gt;
  default: [SKURule]::OneDriveGBUsedLessThanDefault()
                </maml:para>
                <maml:para>- MailboxGBUsedLessThan &lt;System.Decimal&gt;
  default: [SKURule]::MailboxGBUsedLessThanDefault()
                </maml:para>
                <maml:para>- MailboxHasArchive &lt;System.String&gt;
  accepts: 'True', 'False', 'Skip'
  default: [SKURule]::MailboxHasArchiveDefault()
                </maml:para>
                <maml:para>- WindowsAppUsed &lt;System.String&gt;
  accepts: 'True', 'False', 'Skip'
  default: [SKURule]::WindowsAppUsedDefault()
                </maml:para>
                <maml:para>- MacAppUsed &lt;System.String&gt;
  accepts: 'True', 'False', 'Skip'
  default: [SKURule]::MacAppUsedDefault()
                </maml:para>
                <maml:para>- MobileAppUsed &lt;System.String&gt;
  accepts: 'True', 'False', 'Skip'
  default: [SKURule]::MobileAppUsedDefault()
                </maml:para>
                <maml:para>- WebAppUsed &lt;System.String&gt;
  accepts: 'True', 'False', 'Skip'
  default: [SKURule]::WebAppUsedDefault()
                </maml:para>
                <maml:para>Methods:</maml:para>
                <maml:para>- AccountEnabledDefault() &lt;System.String&gt;
  returns: 'Skip'
                </maml:para>
                <maml:para>- AccountGuestDefault() &lt;System.String&gt;
  returns: 'Skip'
                </maml:para>
                <maml:para>- CreatedEarlierThanDefault() &lt;System.DateTime&gt;
  returns: [datetime]::MaxValue
                </maml:para>
                <maml:para>- LastActiveEarlierThanDefault() &lt;System.DateTime&gt;
  returns: [datetime]::MaxValue
                </maml:para>
                <maml:para>- OneDriveGBUsedLessThanDefault() &lt;System.Decimal&gt;
  returns: [UInt16]::MaxValue
                </maml:para>
                <maml:para>- MailboxGBUsedLessThanDefault() &lt;System.Decimal&gt;
  returns: [UInt16]::MaxValue
                </maml:para>
                <maml:para>- MailboxHasArchiveDefault() &lt;System.String&gt;
  returns: 'Skip'
                </maml:para>
                <maml:para>- WindowsAppUsedDefault() &lt;System.String&gt;
  returns: 'Skip'
                </maml:para>
                <maml:para>- MacAppUsedDefault() &lt;System.String&gt;
  returns: 'Skip'
                </maml:para>
                <maml:para>- MobileAppUsedDefault() &lt;System.String&gt;
  returns: 'Skip'
                </maml:para>
                <maml:para>- WebAppUsedDefault() &lt;System.String&gt;
  returns: 'Skip'
                </maml:para>
                <maml:para />
            </maml:alert>
        </maml:alertSet>
        <command:examples>
            <command:example>
                <maml:title>----- Example 1: Basic example with default settings ----</maml:title>
                <dev:code>$directoryID = '00000000-0000-0000-0000-000000000000'
$applicationID = '00000000-0000-0000-0000-000000000000'
$certificateThumbprint = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
$senderAddress = 'sender@example.com'
$recipientAddresses_normal = @(
    'recipient_1@example.com'
    'recipient_2@example.com'
)

Get-AzureADLicenseStatus -DirectoryID $directoryID -ApplicationID $applicationID -CertificateThumbprint $certificateThumbprint -SenderAddress $senderAddress -RecipientAddresses_normal $recipientAddresses_normal
                </dev:code>
                <dev:remarks>
                    <maml:para>Prepares a status report with default values by using only necessary parameters for authentication and report delivery</maml:para>
                    <maml:para />
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>--- Example 2: Basic example with modified thresholds ---</maml:title>
                <dev:code>$directoryID = '00000000-0000-0000-0000-000000000000'
$applicationID = '00000000-0000-0000-0000-000000000000'
$certificateThumbprint = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
$senderAddress = 'sender@example.com'
$recipientAddresses_normal = @(
    'recipient_1@example.com'
    'recipient_2@example.com'
)
$recipientAddresses_critical = @(
    'recipient_3@example.com'
    'recipient_4@example.com'
)
$skuPercentageThreshold_normal = 1
$skuTotalThreshold_normal = 100
$skuPercentageThreshold_important = 1
$skuTotalThreshold_important = 500

Get-AzureADLicenseStatus -DirectoryID $directoryID -ApplicationID $applicationID -CertificateThumbprint $certificateThumbprint -SenderAddress $senderAddress -RecipientAddresses_normal $recipientAddresses_normal -RecipientAddresses_critical $recipientAddresses_critical -SKUPercentageThreshold_normal $skuPercentageThreshold_normal -SKUTotalThreshold_normal $skuTotalThreshold_normal -SKUPercentageThreshold_important $skuPercentageThreshold_important -SKUTotalThreshold_important $skuTotalThreshold_important
                </dev:code>
                <dev:remarks>
                    <maml:para>Prepares a status report with customized thresholds for larger organizations and additional recipients for when license counts reach critical levels</maml:para>
                    <maml:para />
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------- Example 3: Advanced example --------------</maml:title>
                <dev:code>$directoryID = '00000000-0000-0000-0000-000000000000'
$applicationID = '00000000-0000-0000-0000-000000000000'
$subscriptionID = '00000000-0000-0000-0000-000000000000'
$keyVaultName = 'MyKeyVault'
$certificateName = 'MyCertificate'
$senderAddress = 'sender@example.com'
$recipientAddresses_normal = @(
    'recipient_1@example.com'
    'recipient_2@example.com'
)
$recipientAddresses_critical = @(
    'recipient_3@example.com'
    'recipient_4@example.com'
)
$skuPercentageThreshold_normal = 1
$skuTotalThreshold_normal = 100
$skuPercentageThreshold_important = 1
$skuTotalThreshold_important = 500
$importantSKUs = @(
    '18181a46-0d4e-45cd-891e-60aabd171b4e'
    '6fd2c87f-b296-42f0-b197-1e91e994b900'
)
$interchangeableSKUs = @(
    '4b585984-651b-448a-9e53-3b10f069cf7f'
    '18181a46-0d4e-45cd-891e-60aabd171b4e'
    '6fd2c87f-b296-42f0-b197-1e91e994b900'
    'c7df2760-2c81-4ef7-b578-5b5392b571df'
)

Get-AzureADLicenseStatus -DirectoryID $directoryID -ApplicationID $applicationID -SubscriptionID $subscriptionID -KeyVaultName $keyVaultName -CertificateName $certificateName -SenderAddress $senderAddress -RecipientAddresses_normal $recipientAddresses_normal -RecipientAddresses_critical $recipientAddresses_critical -SKUPercentageThreshold_normal $skuPercentageThreshold_normal -SKUTotalThreshold_normal $skuTotalThreshold_normal -SKUPercentageThreshold_important $skuPercentageThreshold_important -SKUTotalThreshold_important $skuTotalThreshold_important -ImportantSKUs $importantSKUs -InterchangeableSKUs $interchangeableSKUs -AdvancedCheckups
                </dev:code>
                <dev:remarks>
                    <maml:para>Prepares a status report by using an Azure certificate for automation purposes, specifying both important and interchangeable SKUs and activating advanced checkups</maml:para>
                    <maml:para />
                </dev:remarks>
            </command:example>
            <command:example>
                <maml:title>-------------- Example 4: Complete example --------------</maml:title>
                <dev:code>$directoryID = '00000000-0000-0000-0000-000000000000'
$applicationID = '00000000-0000-0000-0000-000000000000'
$subscriptionID = '00000000-0000-0000-0000-000000000000'
$keyVaultName = 'MyKeyVault'
$certificateName = 'MyCertificate'
$senderAddress = 'sender@example.com'
$recipientAddresses_normal = @(
    'recipient_1@example.com'
    'recipient_2@example.com'
)
$recipientAddresses_critical = @(
    'recipient_3@example.com'
    'recipient_4@example.com'
)
$skuPercentageThreshold_normal = 1
$skuTotalThreshold_normal = 100
$skuPercentageThreshold_important = 1
$skuTotalThreshold_important = 500
$importantSKUs = @(
    '18181a46-0d4e-45cd-891e-60aabd171b4e'
    '6fd2c87f-b296-42f0-b197-1e91e994b900'
)
$interchangeableSKUs = @(
    '4b585984-651b-448a-9e53-3b10f069cf7f'
    '18181a46-0d4e-45cd-891e-60aabd171b4e'
    '6fd2c87f-b296-42f0-b197-1e91e994b900'
    'c7df2760-2c81-4ef7-b578-5b5392b571df'
)
$preferableSKUs = @(
    [SKURule]@{
        SKUID = [guid]::Empty
        AccountGuest = 'True'
    }
    [SKURule]@{
        SKUID = [guid]::Empty
        CreatedEarlierThan = [datetime]::Now.AddYears(-2)
        LastActiveEarlierThan = [datetime]::Now.AddYears(-2)
    }
    [SKURule]@{
        SKUID = '4b585984-651b-448a-9e53-3b10f069cf7f'
        OneDriveGBUsedLessThan = 2
        MailboxGBUsedLessThan = 2
        MailboxHasArchive = 'False'
        WindowsAppUsed = 'False'
        MacAppUsed = 'False'
    }
    [SKURule]@{
        SKUID = '18181a46-0d4e-45cd-891e-60aabd171b4e'
        MailboxGBUsedLessThan = 50
        MailboxHasArchive = 'False'
        WindowsAppUsed = 'False'
        MacAppUsed = 'False'
    }
)
$skuPrices = @(
    [SKUPrice]@{
        SKUID = '4b585984-651b-448a-9e53-3b10f069cf7f'
        Price = 4.0
    }
    [SKUPrice]@{
        SKUID = '18181a46-0d4e-45cd-891e-60aabd171b4e'
        Price = 10.0
    }
    [SKUPrice]@{
        SKUID = '6fd2c87f-b296-42f0-b197-1e91e994b900'
        Price = 23.0
    }
    [SKUPrice]@{
        SKUID = 'c7df2760-2c81-4ef7-b578-5b5392b571df'
        Price = 38.0
    }
)

Get-AzureADLicenseStatus -DirectoryID $directoryID -ApplicationID $applicationID -SubscriptionID $subscriptionID -KeyVaultName $keyVaultName -CertificateName $certificateName -SenderAddress $senderAddress -RecipientAddresses_normal $recipientAddresses_normal -RecipientAddresses_critical $recipientAddresses_critical -SKUPercentageThreshold_normal $skuPercentageThreshold_normal -SKUTotalThreshold_normal $skuTotalThreshold_normal -SKUPercentageThreshold_important $skuPercentageThreshold_important -SKUTotalThreshold_important $skuTotalThreshold_important -ImportantSKUs $importantSKUs -InterchangeableSKUs $interchangeableSKUs -PreferableSKUs $preferableSKUs -SKUPrices $skuPrices -AdvancedCheckups
                </dev:code>
                <dev:remarks>
                    <maml:para>Prepares a status report by using an Azure certificate for automation purposes, specifying important, interchangeable and preferable SKUs with their prices and activating advanced checkups</maml:para>
                    <maml:para />
                </dev:remarks>
            </command:example>
        </command:examples>
        <maml:relatedLinks>
            <maml:navigationLink>
                <maml:linkText>Manual:</maml:linkText>
                <maml:uri>https://dmoenks.github.io/azure-ad-license-status/</maml:uri>
            </maml:navigationLink>
            <maml:navigationLink>
                <maml:linkText>Repository:</maml:linkText>
                <maml:uri>https://github.com/DMoenks/azure-ad-license-status</maml:uri>
            </maml:navigationLink>
        </maml:relatedLinks>
    </command:command>
</helpItems>