fix(reporting): add Platform column and clean up Windows artifacts
- Export-SettingsReport.py: add Platform column for Settings Catalog (platforms field) and legacy policies (platform/platformType or @odata.type inference) - MSGraph.psm1: store GraphMetaData.xml in cross-platform data folder (Get-CloudApiDataFolder) instead of literal %LOCALAPPDATA% path - MSALAuthentication.psm1: skip TokenCacheHelperEx on non-Windows with an info log instead of failing on missing ProtectedData.dll - .gitignore: remove literal %LOCALAPPDATA% patterns - AGENTS.md, CHANGELOG: document reporting and cross-platform fixes
This commit is contained in:
@@ -554,7 +554,12 @@ function Add-MSALPrereq
|
||||
}
|
||||
}
|
||||
|
||||
if (-not ("TokenCacheHelperEx" -as [type]))
|
||||
if (-not (Test-IsWindowsPlatform))
|
||||
{
|
||||
$global:SkipTokenCacheHelperEx = $true
|
||||
Write-Log "Token cache serialization is only supported on Windows. Skipping TokenCacheHelperEx."
|
||||
}
|
||||
elseif (-not ("TokenCacheHelperEx" -as [type]))
|
||||
{
|
||||
[System.Collections.Generic.List[string]] $RequiredAssemblies = New-Object System.Collections.Generic.List[string]
|
||||
|
||||
@@ -723,23 +728,31 @@ function Add-MSALPrereq_old
|
||||
$script:msalFile = $msalPath
|
||||
}
|
||||
|
||||
$RequiredAssemblies.Add('System.Security.dll')
|
||||
$RequiredAssemblies.Add('mscorlib.dll')
|
||||
if($PSVersionTable.PSVersion.Major -ge 7)
|
||||
{
|
||||
$RequiredAssemblies.Add('System.Security.Cryptography.ProtectedData.dll')
|
||||
}
|
||||
|
||||
$RequiredAssemblies.Add('System.Threading.dll')
|
||||
|
||||
try
|
||||
{
|
||||
Add-Type -Path ($global:AppRootFolder + "\CS\TokenCacheHelperEx.cs") -ReferencedAssemblies $RequiredAssemblies
|
||||
}
|
||||
catch
|
||||
if (-not (Test-IsWindowsPlatform))
|
||||
{
|
||||
$global:SkipTokenCacheHelperEx = $true
|
||||
Write-LogError "Failed to compile TokenCacheHelperEx. The access token will not be cached. Check write access to the CS folder and ASR policies" $_.Exception
|
||||
Write-Log "Token cache serialization is only supported on Windows. Skipping TokenCacheHelperEx."
|
||||
}
|
||||
else
|
||||
{
|
||||
$RequiredAssemblies.Add('System.Security.dll')
|
||||
$RequiredAssemblies.Add('mscorlib.dll')
|
||||
if($PSVersionTable.PSVersion.Major -ge 7)
|
||||
{
|
||||
$RequiredAssemblies.Add('System.Security.Cryptography.ProtectedData.dll')
|
||||
}
|
||||
|
||||
$RequiredAssemblies.Add('System.Threading.dll')
|
||||
|
||||
try
|
||||
{
|
||||
Add-Type -Path ($global:AppRootFolder + "\CS\TokenCacheHelperEx.cs") -ReferencedAssemblies $RequiredAssemblies
|
||||
}
|
||||
catch
|
||||
{
|
||||
$global:SkipTokenCacheHelperEx = $true
|
||||
Write-LogError "Failed to compile TokenCacheHelperEx. The access token will not be cached. Check write access to the CS folder and ASR policies" $_.Exception
|
||||
}
|
||||
}
|
||||
if(Test-IsWindowsPlatform)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user