Public/Disable-midPointUser.ps1
|
function Disable-midPointUser { <# .SYNOPSIS Disables a midPoint user. .DESCRIPTION Sets activation/administrativeStatus to disabled, optionally together with validFrom / validTo. What happens to the user's accounts depends on your midPoint configuration. .PARAMETER Identity The user: name, OID, or an object from Get-midPointUser. .PARAMETER ValidFrom Sets validFrom in the same change. .PARAMETER ValidTo Sets validTo in the same change. .PARAMETER PassThru Returns the activation after the change. .EXAMPLE Disable-midPointUser jack .EXAMPLE Get-midPointUser -Filter 'name startsWith "MPTEST-"' | Disable-midPointUser #> [CmdletBinding(SupportsShouldProcess)] [OutputType('midPointTools.Activation')] param( [Parameter(Mandatory, Position = 0, ValueFromPipeline)] [object] $Identity, [datetime] $ValidFrom, [datetime] $ValidTo, [switch] $PassThru ) process { $activationParams = Get-midPointActivationParameter -BoundParameters $PSBoundParameters $deltas = New-midPointActivationDelta -Prefix 'activation' -AdministrativeStatus Disabled @activationParams $oid = Resolve-midPointObjectOid -InputObject $Identity -Type users $label = Get-midPointIdentityLabel $Identity if (-not $PSCmdlet.ShouldProcess("$label ($oid)", 'Disable midPoint user')) { return } Invoke-midPointModify -Type users -Oid $oid -ItemDelta $deltas if ($PassThru) { Get-midPointUserActivation -Identity $oid } } } |