ConvertFrom-MSIDAadcSourceAnchor.ps1
<# .SYNOPSIS Convert Azure AD Connect metaverse object sourceAnchor or Azure AD ImmutableId to sourceGuid. .EXAMPLE PS C:\>ConvertFrom-MSIDAadcSourceAnchor 'AAAAAAAAAAAAAAAAAAAAAA==' Convert Azure AD Connect metaverse object sourceAnchor base64 format to sourceGuid. .EXAMPLE PS C:\>ConvertFrom-MSIDAadcSourceAnchor '00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00' Convert Azure AD Connect metaverse object sourceAnchor hex format to sourceGuid. .INPUTS System.String #> function ConvertFrom-MSIDAadcSourceAnchor { [CmdletBinding()] [Alias('ConvertFrom-MSIDAzureAdImmutableId')] [OutputType([guid], [string])] param ( # Azure AD Connect metaverse object sourceAnchor. [Parameter(Mandatory = $true, ValueFromPipeline = $true, Position = 0)] [string] $InputObject ) if ($InputObject -imatch '(?:^|,)((?:[0-9a-f]{2} ?)+)(?:$|,)') { [guid] $SourceGuid = ConvertFrom-HexString $Matches[1].Trim() -RawBytes } elseif ($InputObject -imatch '(?:^|,)([0-9a-z+/=]+=+)(?:$|,)') { [guid] $SourceGuid = ConvertFrom-Base64String $Matches[1] -RawBytes } else { [guid] $SourceGuid = ConvertFrom-Base64String $InputObject -RawBytes } return $SourceGuid } |