ninja-one/old/check-azure-enrollment.ps1

#Requires -Version 5.1

<#
.SYNOPSIS
    Check if the device is enrolled in Azure and retrieve tenant information.
    Sets Ninja-Property azureEnrolled to 1 if enrolled, 0 if not.
#>


begin {

}
process {
    try {
        $joinStatusLine = (dsregcmd /status | Select-String -Pattern "AzureAdJoined :" -ErrorAction SilentlyContinue)
        
        if ($null -eq $joinStatusLine) {
            Write-Host "Could not determine Azure AD join status. Setting azureEnrolled to -1."
            Ninja-Property-Set azureEnrolled -1
            exit 0
        }
        
        $joinStatus = $joinStatusLine.ToString().Split(":")[1].Trim()
        
        if ($joinStatus -eq "YES") {
            Write-Host "Device is Azure AD Joined. Setting azureEnrolled to 1."
            Ninja-Property-Set azureEnrolled 1
        } 
        elseif ($joinStatus -eq "NO") {
            Write-Host "Device is NOT Azure AD Joined. Setting azureEnrolled to 0."
            Ninja-Property-Set azureEnrolled 0
        }
        else {
            Write-Host "Unexpected Azure AD join status: $joinStatus"
            Write-Host "Setting azureEnrolled to -1."
            Ninja-Property-Set azureEnrolled -1
        }

        Write-Host "Azure Enrollment check completed."

        exit 0
    }
    catch {
        Write-Error "[ERROR] Failed to check Azure Enrollment: $_"
        exit 1
    }
}
end {

}