Formats/Omnicit.PIM.Types.ps1xml
|
<?xml version="1.0" encoding="utf-8"?> <!-- Consolidated type extensions for all Omnicit.PIM output types. Loaded via Update-TypeData in suffix.ps1 (not TypesToProcess) to allow -ErrorAction SilentlyContinue on Import-Module -Force re-imports. Only types that define ScriptProperty members are included. --> <Types> <!-- ═══════════════════════════════════════════════════════════════ Directory Roles (Entra ID) ═══════════════════════════════════════════════════════════════ --> <Type> <Name>Omnicit.PIM.DirectoryEligibilitySchedule</Name> <Members> <ScriptProperty> <Name>PrincipalDisplayName</Name> <GetScriptBlock> $this.principal.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>RoleName</Name> <GetScriptBlock> $this.roleDefinition.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>Scope</Name> <GetScriptBlock> if ($this.directoryScopeId -eq '/') { 'Directory' } else { $this.directoryScope.displayName + ' (AU)' } </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>EndDateTime</Name> <GetScriptBlock> if ($this.scheduleInfo.expiration.type -eq 'noExpiration' -or -not $this.scheduleInfo.expiration.endDateTime) { 'Never' } else { $this.scheduleInfo.expiration.endDateTime } </GetScriptBlock> </ScriptProperty> </Members> </Type> <Type> <Name>Omnicit.PIM.DirectoryAssignmentScheduleInstance</Name> <Members> <ScriptProperty> <Name>PrincipalDisplayName</Name> <GetScriptBlock> $this.principal.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>RoleName</Name> <GetScriptBlock> $this.roleDefinition.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>Scope</Name> <GetScriptBlock> if ($this.directoryScopeId -eq '/') { 'Directory' } else { $this.directoryScope.displayName + ' (AU)' } </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>MemberType</Name> <GetScriptBlock> $this.memberType </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>EndDateTime</Name> <GetScriptBlock> if ($this.endDateTime) { $this.endDateTime } else { 'Never' } </GetScriptBlock> </ScriptProperty> </Members> </Type> <Type> <Name>Omnicit.PIM.DirectoryAssignmentScheduleRequest</Name> <Members> <ScriptProperty> <Name>PrincipalDisplayName</Name> <GetScriptBlock> $this.principal.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>RoleName</Name> <GetScriptBlock> $this.roleDefinition.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>StartDateTime</Name> <GetScriptBlock> $this.scheduleInfo.startDateTime </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>Scope</Name> <GetScriptBlock> if ($this.directoryScopeId -eq '/') { 'Directory' } else { $this.directoryScope.displayName + ' (AU)' } </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>EndDateTime</Name> <GetScriptBlock> $exp = $this.scheduleInfo.expiration if ($exp.type -eq 'afterDuration') { try { ([datetime]$this.scheduleInfo.startDateTime) + [System.Xml.XmlConvert]::ToTimeSpan($exp.duration) } catch { $null } } else { $exp.endDateTime } </GetScriptBlock> </ScriptProperty> </Members> </Type> <!-- ═══════════════════════════════════════════════════════════════ PIM for Groups (Entra ID) ═══════════════════════════════════════════════════════════════ --> <Type> <Name>Omnicit.PIM.GroupEligibilitySchedule</Name> <Members> <ScriptProperty> <Name>GroupDisplayName</Name> <GetScriptBlock> $this.group.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>PrincipalDisplayName</Name> <GetScriptBlock> $this.principal.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>AccessId</Name> <GetScriptBlock> $this.accessId </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>MemberType</Name> <GetScriptBlock> $this.memberType </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>EndDateTime</Name> <GetScriptBlock> if ($this.scheduleInfo.expiration.type -eq 'noExpiration' -or -not $this.scheduleInfo.expiration.endDateTime) { 'Never' } else { $this.scheduleInfo.expiration.endDateTime } </GetScriptBlock> </ScriptProperty> </Members> </Type> <Type> <Name>Omnicit.PIM.GroupAssignmentScheduleInstance</Name> <Members> <ScriptProperty> <Name>GroupDisplayName</Name> <GetScriptBlock> $this.group.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>PrincipalDisplayName</Name> <GetScriptBlock> $this.principal.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>AccessId</Name> <GetScriptBlock> $this.accessId </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>AssignmentType</Name> <GetScriptBlock> $this.assignmentType </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>EndDateTime</Name> <GetScriptBlock> if ($this.endDateTime) { $this.endDateTime } else { 'Never' } </GetScriptBlock> </ScriptProperty> </Members> </Type> <Type> <Name>Omnicit.PIM.GroupAssignmentScheduleRequest</Name> <Members> <ScriptProperty> <Name>GroupDisplayName</Name> <GetScriptBlock> $this.group.displayName </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>EndDateTime</Name> <GetScriptBlock> $exp = $this.scheduleInfo.expiration if ($exp -and $exp.type -eq 'AfterDuration') { try { ([datetime]$this.scheduleInfo.startDateTime) + [System.Xml.XmlConvert]::ToTimeSpan($exp.duration) } catch { $null } } else { $exp.endDateTime } </GetScriptBlock> </ScriptProperty> </Members> </Type> <!-- ═══════════════════════════════════════════════════════════════ Configuration ═══════════════════════════════════════════════════════════════ --> <Type> <Name>Omnicit.PIM.TenantConfiguration</Name> <Members> <ScriptProperty> <Name>DirectoryRoleCount</Name> <GetScriptBlock> if ($this.DirectoryRoles) { @($this.DirectoryRoles).Count } else { 0 } </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>EntraIDGroupCount</Name> <GetScriptBlock> if ($this.EntraIDGroups) { @($this.EntraIDGroups).Count } else { 0 } </GetScriptBlock> </ScriptProperty> <ScriptProperty> <Name>AzureRoleCount</Name> <GetScriptBlock> if ($this.AzureRoles) { @($this.AzureRoles).Count } else { 0 } </GetScriptBlock> </ScriptProperty> </Members> </Type> </Types> |