custom/generated/Remove-JcSdkUser.ps1
<# .Synopsis This endpoint allows you to delete a particular system user. #### Sample Request ``` curl -X DELETE https://console.jumpcloud.com/api/systemusers/{UserID} \\ -H 'Accept: application/json' \\ -H 'Content-Type: application/json' \\ -H 'x-api-key: {API_KEY}' ``` .Description This endpoint allows you to delete a particular system user. #### Sample Request ``` curl -X DELETE https://console.jumpcloud.com/api/systemusers/{UserID} \\ -H 'Accept: application/json' \\ -H 'Content-Type: application/json' \\ -H 'x-api-key: {API_KEY}' ``` .Example PS C:\> Remove-JcSdkUser -Id:(<string>) ---- ---------- AccountLocked Boolean AccountLockedDate String Activated Boolean Addresses JumpCloud.SDK.V1.Models.SystemuserreturnAddressesItem[] AllowPublicKey Boolean AlternateEmail String Attributes JumpCloud.SDK.V1.Models.SystemuserreturnAttributesItem[] BadLoginAttempts Int Company String CostCenter String Created String CreationSource String Department String Description String DisableDeviceMaxLoginAttempts Boolean Displayname String Email String EmployeeIdentifier String EmployeeType String EnableManagedUid Boolean EnableUserPortalMultifactor Boolean ExternalDn String ExternallyManaged Boolean ExternalPasswordExpirationDate String ExternalSourceType String Firstname String Id String JobTitle String Lastname String LdapBindingUser Boolean Location String ManagedAppleId String Manager String MfaConfigured Boolean MfaEnrollmentOverallStatus String MfaEnrollmentPushStatus String MfaEnrollmentTotpStatus String MfaEnrollmentWebAuthnStatus String MfaExclusion Boolean MfaExclusionDays Int MfaExclusionUntil Datetime Middlename String Organization String PasswordDate String PasswordExpirationDate String PasswordExpired Boolean PasswordlessSudo Boolean PasswordNeverExpires Boolean PhoneNumbers JumpCloud.SDK.V1.Models.SystemuserreturnPhoneNumbersItem[] PublicKey String RecoveryEmailAddress String RecoveryEmailVerified Boolean RecoveryEmailVerifiedAt String Relationships JumpCloud.SDK.V1.Models.SystemuserreturnRelationshipsItem[] RestrictedFields JumpCloud.SDK.V1.Models.RestrictedField1[] SambaServiceUser Boolean SshKeys JumpCloud.SDK.V1.Models.Sshkeylist[] State String Sudo Boolean Suspended Boolean TotpEnabled Boolean UnixGuid Int UnixUid Int Username String .Example PS C:\> {{ Add code here }} {{ Add output here }} .Inputs JumpCloud.SDK.V1.Models.IJumpCloudApiIdentity .Outputs JumpCloud.SDK.V1.Models.ISystemuserreturn .Notes COMPLEX PARAMETER PROPERTIES To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables. INPUTOBJECT <IJumpCloudApiIdentity>: [Id <String>]: [SystemId <String>]: [SystemuserId <String>]: [Triggername <String>]: .Link https://github.com/TheJumpCloud/jcapi-powershell/tree/master/SDKs/PowerShell/JumpCloud.SDK.V1/docs/exports/Remove-JcSdkUser.md #> Function Remove-JcSdkUser { [OutputType([JumpCloud.SDK.V1.Models.ISystemuserreturn])] [CmdletBinding(DefaultParameterSetName='Delete', PositionalBinding=$false, SupportsShouldProcess, ConfirmImpact='Medium')] Param( [Parameter(ParameterSetName='Delete', Mandatory)] [JumpCloud.SDK.V1.Category('Path')] [System.String] # . ${Id}, [Parameter(ParameterSetName='DeleteViaIdentity', Mandatory, ValueFromPipeline)] [JumpCloud.SDK.V1.Category('Path')] [JumpCloud.SDK.V1.Models.IJumpCloudApiIdentity] # Identity Parameter # To construct, see NOTES section for INPUTOBJECT properties and create a hash table. ${InputObject}, [Parameter(DontShow)] [JumpCloud.SDK.V1.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Wait for .NET debugger to attach ${Break}, [Parameter(DontShow)] [ValidateNotNull()] [JumpCloud.SDK.V1.Category('Runtime')] [JumpCloud.SDK.V1.Runtime.SendAsyncStep[]] # SendAsync Pipeline Steps to be appended to the front of the pipeline ${HttpPipelineAppend}, [Parameter(DontShow)] [ValidateNotNull()] [JumpCloud.SDK.V1.Category('Runtime')] [JumpCloud.SDK.V1.Runtime.SendAsyncStep[]] # SendAsync Pipeline Steps to be prepended to the front of the pipeline ${HttpPipelinePrepend}, [Parameter(DontShow)] [JumpCloud.SDK.V1.Category('Runtime')] [System.Uri] # The URI for the proxy server to use ${Proxy}, [Parameter(DontShow)] [ValidateNotNull()] [JumpCloud.SDK.V1.Category('Runtime')] [System.Management.Automation.PSCredential] # Credentials for a proxy server to use for the remote call ${ProxyCredential}, [Parameter(DontShow)] [JumpCloud.SDK.V1.Category('Runtime')] [System.Management.Automation.SwitchParameter] # Use the default credentials for the proxy ${ProxyUseDefaultCredentials} ) Begin { $Results = @() $PSBoundParameters.Add('HttpPipelineAppend', { param($req, $callback, $next) # call the next step in the Pipeline $ResponseTask = $next.SendAsync($req, $callback) $global:JCHttpRequest = $req # $global:JCHttpRequestContent = If (-not [System.String]::IsNullOrEmpty($req.Content)) { $req.Content.ReadAsStringAsync() } $global:JCHttpResponse = $ResponseTask # $global:JCHttpResponseContent = If (-not [System.String]::IsNullOrEmpty($ResponseTask.Result.Content)) { $ResponseTask.Result.Content.ReadAsStringAsync() } Return $ResponseTask } ) } Process { $maxRetries = 4 $resultCounter = 0 :retryLoop do { $resultCounter++ $Results = JumpCloud.SDK.V1.internal\Remove-JcSdkInternalUser @PSBoundParameters -errorAction SilentlyContinue -errorVariable sdkError If ($sdkError){ If ($resultCounter -eq $maxRetries){ throw $sdkError } If ($JCHttpResponse.Result.StatusCode -eq "503") { Write-Warning ("503: Service Unavailable - retrying in " + ($resultCounter * 5) + " seconds.") } else { throw $sdkError } } else { break retryLoop } Start-Sleep -Seconds ($resultCounter * 5) } while ($resultCounter -lt $maxRetries) } End { Write-Debug ('HttpRequest: ' + $JCHttpRequest); # Write-Debug ('HttpRequestContent: ' + $JCHttpRequestContent.Result); Write-Debug ('HttpResponse: ' + $JCHttpResponse.Result); # Write-Debug ('HttpResponseContent: ' + $JCHttpResponseContent.Result); # Clean up global variables $GlobalVars = @('JCHttpRequest', 'JCHttpRequestContent', 'JCHttpResponse', 'JCHttpResponseContent') $GlobalVars | ForEach-Object { If ((Get-Variable -Scope:('Global')).Where( { $_.Name -eq $_ })) { Remove-Variable -Name:($_) -Scope:('Global') } } Return $Results } } |