en-US/about_GraphAppToolkit.help.txt

TOPIC
    about_graphapptoolkit
 
SHORT DESCRIPTION
    GraphAppToolkit is a PowerShell module that streamlines the creation,
    configuration, and management of Microsoft Entra ID (Azure AD) applications
    for various scenarios, such as sending emails through Microsoft Graph,
    performing M365 tenant audits, and managing Intune (MEM) policies.
 
LONG DESCRIPTION
    GraphAppToolkit provides a set of commands (both public and private) that
    help you:
    - Create and configure Azure AD app registrations with certificate-based authentication.
    - Grant the necessary Graph permissions (read-only or read-write) for each scenario.
    - Securely store and retrieve app credentials in local vaults (via SecretManagement).
    - Send emails, manage policy assignments, and perform audits in an automated fashion.
    The toolkit is particularly useful for administrators who want a repeatable,
    scriptable process for deploying or managing specialized Azure AD apps (for
    example, an email-sending app, a read-only M365 audit app, or an Intune
    policy manager).
 
Optional Subtopics
    -
    Publishing Graph Email Apps
    Functions like `Publish-TkEmailApp` create an Azure AD app that can send
    mail as a particular user or group.
 
    -
    M365 Audit Apps
 
    The `Publish-TkM365AuditApp` function sets up a read-only or read-write app
    to perform audits across M365 workloads (Exchange, SharePoint, Teams, etc.).
 
    -
    MEM Policy Manager Apps
 
    The `Publish-TkMemPolicyManagerApp` function configures an Intune (MEM) app
    with the necessary permissions to manage devices and policies.
 
EXAMPLES
    # Example 1: Publish a new Graph Email App
    Publish-TkEmailApp -AppPrefix "ABC" `
        -AuthorizedSenderUserName "jdoe@example.com" `
        -MailEnabledSendingGroup "GraphAPIMailGroup@example.com" `
        -CertThumbprint "AABBCCDDEEFF11223344556677889900"
     
    # Example 2: Send an email with attachments using the newly created app
    Send-TkEmailAppMessage -AppName "CN=ABC-AuditGraphEmail-AD.EXAMPLE.COM-As-jdoe" `
        -To "recipient@example.com" `
        -FromAddress "jdoe@example.com" `
        -Subject "Hello from Graph" `
        -EmailBody "This is a test email from the GraphAppToolkit." `
        -AttachmentPath "C:\Reports\WeeklyReport.xlsx"
 
NOTE
    This module assumes you have already or will configure certificate-based
    authentication in your local Cert:\CurrentUser\My store. If the module
    cannot find the specified certificate thumbprint, the commands will throw an
    error.
 
TROUBLESHOOTING NOTE
    If you receive token acquisition or 401 (Unauthorized) errors, ensure that
    admin consent has been granted for the created Azure AD app. If the local
    vault secret is missing or corrupted, re-run the corresponding Publish-*
    function to regenerate or update your app credentials.
 
SEE ALSO
    <https://learn.microsoft.com/en-us/graph/>
    <https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.secretmanagement/?view=ps-modules>
    <https://github.com/AzureAD/MSAL.PS>
    <https://learn.microsoft.com/en-us/entra/identity/>
 
KEYWORDS
    -GraphAppToolkit -Azure AD -Microsoft Graph -Certificate-Based Auth -Intune
    (MEM) -Email App -Audit App -PowerShell