en-US/about_tcs.azure.help.txt

TOPIC
    about_tcs.azure

SHORT DESCRIPTION
    Helper functions for Microsoft Azure and Microsoft Entra ID group naming and
    Intune app assignment groups.

LONG DESCRIPTION
    tcs.azure is part of the TheCodeSaiyan PowerShell suite and requires
    tcs.core 0.3.0 or later, which provides its configuration, update check and
    telemetry.

    Commands that call Microsoft Entra ID need the Microsoft Entra PowerShell
    module (Microsoft.Entra.Groups or Microsoft.Entra) and a connected session
    (Connect-Entra). It is not a RequiredModule: tcs.azure imports without it,
    and the Entra commands stop with install instructions when it is missing,
    or with one "run Connect-Entra" error when there is no session.

COMMANDS
    Microsoft Entra ID groups
        New-IntuneAppGroup Creates a security group for each application
                                  name and intent (Available and Required by
                                  default, or -Intent Uninstall):
                                  Intune-AG-<Name>-<Intent>, or
                                  Intune-ACG-<Name>-<Intent> with -Collection.
                                  Returns an object for each group with Status
                                  Created, Existing, Failed or WhatIf. Accepts
                                  names from the pipeline. Supports -WhatIf and
                                  -Confirm.
        Get-IntuneAppGroup Finds the Intune app groups of an application
                                  (-Name) or every Intune app group (-All).
        Remove-IntuneAppGroup Deletes Intune app groups by application name
                                  or by -Id (for example piped from
                                  Get-IntuneAppGroup). Asks for confirmation;
                                  supports -WhatIf.
        New-TcsEntraDepartmentalGroup
                                  Creates a departmental security group named
                                  by Get-DepartmentalGroupName, optionally with
                                  dynamic membership
                                  (user.department -eq "<Department>") and
                                  owners. Supports -WhatIf and -Confirm.

    Naming
        Get-DepartmentalGroupName Builds a standardised group name from a
                                  prefix, division, optional department and
                                  optional suffix. Returns the name only; it
                                  creates nothing. New-TcsDepartmentalGroup,
                                  its name before 0.2.0, is an alias.

    Run Get-Help <command> -Full for parameters and examples.

CONFIGURATION
    Settings are read with Get-ModuleConfig when the module loads and changed
    with Set-ModuleConfig. The settings file is:

        <ApplicationData>/PowerShell/Config/tcs.azure/Module.Config.json

    It is created with the tcs.core defaults the first time the module loads.

    UpdateWarning Show a warning when a newer version is
                              available (default $true).
    UpdateCheckIntervalHours Hours between PowerShell Gallery update checks
                              (default 24).
    Telemetry Send anonymous usage telemetry (default $true).
    TelemetryUri HTTPS telemetry ingestion endpoint (default
                              empty: nothing is sent).
    TelemetryApiKey API key for the telemetry endpoint.

ENVIRONMENT VARIABLES
    TCS_TELEMETRY_OPTOUT=1 Turns telemetry off for all tcs modules.
    TCS_SKIP_UPDATE_CHECK=1 Turns the gallery update check off.
    TCS_CONFIG_ROOT Moves the settings folder.

TELEMETRY
    Each tcs.azure command, and the module load, calls tcs.core's
    Invoke-TelemetryCollection, which sends anonymous usage events (command
    name, duration, success, exception type, PowerShell and OS version and a
    random installation ID). No user, machine, path or error text is sent.
    Nothing is sent until a TelemetryUri is configured.

    To opt out, set TCS_TELEMETRY_OPTOUT=1 or run
    Set-ModuleConfig -ModuleName tcs.azure -Telemetry $false.

EXAMPLES
    Build a departmental group name:

        Get-DepartmentalGroupName -Prefix 'SG' -Division 'Human Resources' -Department 'Payroll'

    Preview the Intune app groups for two applications:

        Connect-Entra -Scopes Group.ReadWrite.All
        New-IntuneAppGroup -Name 'Company Portal', 'Office Apps' -WhatIf

    Turn off update warnings for tcs.azure:

        Set-ModuleConfig -ModuleName tcs.azure -UpdateWarning $false

    Turn off telemetry for every tcs module:

        $env:TCS_TELEMETRY_OPTOUT = '1'

SEE ALSO
    about_tcs.core
    Get-DepartmentalGroupName
    New-TcsEntraDepartmentalGroup
    New-IntuneAppGroup
    Get-IntuneAppGroup
    Remove-IntuneAppGroup
    Get-ModuleConfig
    Set-ModuleConfig
    Invoke-TelemetryCollection
    https://github.com/ntatschner/TheCodeSaiyan-PowerShell-tcs.azure

KEYWORDS
    tcs
    TheCodeSaiyan
    Azure
    Entra
    Intune