ZeroTrustAssessmentV2.psm1

#Requires -Version 7.0
#Requires -PSEdition Core,Desktop
#Requires -Assembly
#Requires -Module @{'ModuleName'='Az.Accounts';'ModuleVersion'='4.0.2';'GUID'='17a2feff-488b-47f9-8729-e2cec094624c'}
 #Requires -Module @{'ModuleName'='Microsoft.Graph.Authentication';'ModuleVersion'='2.2.0';'GUID'='883916f2-9184-46ee-b1f8-b6a2fb784cee'}
 #Requires -Module @{'ModuleName'='Microsoft.Graph.Beta.Teams';'ModuleVersion'='2.2.0';'GUID'='e264919d-7ae2-4a89-ba8b-524bd93ddc08'}
 #Requires -Module @{'ModuleName'='PSFramework';'ModuleVersion'='1.13.406';'GUID'='8028b914-132b-431f-baa9-94a6952f21ff'}
 #Requires -Module @{'ModuleName'='PwshSpectreConsole';'ModuleVersion'='2.3.0';'GUID'='8c5ca00d-7f0f-4179-98bf-bdaebceaebc0'}
#Requires -Module @{'ModuleName'='Az.Accounts';'ModuleVersion'='4.0.2';'GUID'='17a2feff-488b-47f9-8729-e2cec094624c'}
 #Requires -Module @{'ModuleName'='Microsoft.Graph.Authentication';'ModuleVersion'='2.2.0';'GUID'='883916f2-9184-46ee-b1f8-b6a2fb784cee'}
 #Requires -Module @{'ModuleName'='Microsoft.Graph.Beta.Teams';'ModuleVersion'='2.2.0';'GUID'='e264919d-7ae2-4a89-ba8b-524bd93ddc08'}
 #Requires -Module @{'ModuleName'='PSFramework';'ModuleVersion'='1.13.406';'GUID'='8028b914-132b-431f-baa9-94a6952f21ff'}
 #Requires -Module @{'ModuleName'='PwshSpectreConsole';'ModuleVersion'='2.3.0';'GUID'='8c5ca00d-7f0f-4179-98bf-bdaebceaebc0'}
#Requires -Module @{'ModuleName'='Az.Accounts';'ModuleVersion'='4.0.2';'GUID'='17a2feff-488b-47f9-8729-e2cec094624c'}
 #Requires -Module @{'ModuleName'='Microsoft.Graph.Authentication';'ModuleVersion'='2.2.0';'GUID'='883916f2-9184-46ee-b1f8-b6a2fb784cee'}
 #Requires -Module @{'ModuleName'='Microsoft.Graph.Beta.Teams';'ModuleVersion'='2.2.0';'GUID'='e264919d-7ae2-4a89-ba8b-524bd93ddc08'}
 #Requires -Module @{'ModuleName'='PSFramework';'ModuleVersion'='1.13.406';'GUID'='8028b914-132b-431f-baa9-94a6952f21ff'}
 #Requires -Module @{'ModuleName'='PwshSpectreConsole';'ModuleVersion'='2.3.0';'GUID'='8c5ca00d-7f0f-4179-98bf-bdaebceaebc0'}
#Requires -Module @{'ModuleName'='Az.Accounts';'ModuleVersion'='4.0.2';'GUID'='17a2feff-488b-47f9-8729-e2cec094624c'}
 #Requires -Module @{'ModuleName'='Microsoft.Graph.Authentication';'ModuleVersion'='2.2.0';'GUID'='883916f2-9184-46ee-b1f8-b6a2fb784cee'}
 #Requires -Module @{'ModuleName'='Microsoft.Graph.Beta.Teams';'ModuleVersion'='2.2.0';'GUID'='e264919d-7ae2-4a89-ba8b-524bd93ddc08'}
 #Requires -Module @{'ModuleName'='PSFramework';'ModuleVersion'='1.13.406';'GUID'='8028b914-132b-431f-baa9-94a6952f21ff'}
 #Requires -Module @{'ModuleName'='PwshSpectreConsole';'ModuleVersion'='2.3.0';'GUID'='8c5ca00d-7f0f-4179-98bf-bdaebceaebc0'}
#Requires -Module @{'ModuleName'='Az.Accounts';'ModuleVersion'='4.0.2';'GUID'='17a2feff-488b-47f9-8729-e2cec094624c'}
 #Requires -Module @{'ModuleName'='Microsoft.Graph.Authentication';'ModuleVersion'='2.2.0';'GUID'='883916f2-9184-46ee-b1f8-b6a2fb784cee'}
 #Requires -Module @{'ModuleName'='Microsoft.Graph.Beta.Teams';'ModuleVersion'='2.2.0';'GUID'='e264919d-7ae2-4a89-ba8b-524bd93ddc08'}
 #Requires -Module @{'ModuleName'='PSFramework';'ModuleVersion'='1.13.406';'GUID'='8028b914-132b-431f-baa9-94a6952f21ff'}
 #Requires -Module @{'ModuleName'='PwshSpectreConsole';'ModuleVersion'='2.3.0';'GUID'='8c5ca00d-7f0f-4179-98bf-bdaebceaebc0'}

<#
.SYNOPSIS
    ZeroTrustAssessmentV2
.DESCRIPTION
    Perform a Zero Trust Assessment of your Microsoft 365 environment.
.NOTES
    ModuleVersion: 0.12.0
    GUID: 9c86e6db-c362-44cc-813a-103dac81554e
    Author: Microsoft
    CompanyName: Microsoft
    Copyright: (c) Microsoft. All rights reserved.
.FUNCTIONALITY
    Connect-ZtAssessment, Get-ZtGraphScope, Invoke-ZtAssessment, Invoke-ZtGraphRequest
.LINK
    https://github.com/microsoft/zerotrustassessment
#>


#region NestedModules Script(s)

#endregion

# To give a module-wide constant point of reference
$script:ModuleRoot = $PSScriptRoot

# Load Non-Public commands
foreach ($file in Get-ChildItem -Path "$script:ModuleRoot\private" -Recurse -Filter "*.ps1") {
    try { . $file.FullName }
    catch { Write-PSFMessage -Level Error -Message "Failed to import file {0}" -StringValues $file.FullName -ErrorRecord $_ -Target $file }
}

# Load Public commands
foreach ($file in Get-ChildItem -Path "$script:ModuleRoot\public" -Recurse -Filter "*.ps1") {
    try { . $file.FullName }
    catch { Write-PSFMessage -Level Error -Message "Failed to import file {0}" -StringValues $file.FullName -ErrorRecord $_ -Target $file }
}

# Execute Startup scripts
foreach ($file in Get-ChildItem -Path "$script:ModuleRoot\scripts" -Recurse -Filter "*.ps1") {
    try { . $file.FullName }
    catch { Write-PSFMessage -Level Error -Message "Failed to import file {0}" -StringValues $file.FullName -ErrorRecord $_ -Target $file }
}

# Ready the Tests
foreach ($file in Get-ChildItem -Path "$script:ModuleRoot\tests" -Recurse -Filter "*.ps1") {
    try { . $file.FullName }
    catch { Write-PSFMessage -Level Error -Message "Failed to import file {0}" -StringValues $file.FullName -ErrorRecord $_ -Target $file }
}

Export-ModuleMember -Function @('Connect-ZtAssessment','Get-ZtGraphScope','Invoke-ZtAssessment','Invoke-ZtGraphRequest') -Cmdlet @() -Variable @() -Alias @('Invoke-ZeroTrustAssessment')