-1

I have a powershell script to get deactivated accounts from our SSO app but would like to filter it down to only those that were deactivated more than 90 days ago. I then have another script to take the results and deletes those users from the SSO app.

Can you tell me how to add a filter to the below script to exclude results were the StatusChanged date is greater than 90 days from current date.

$users = oktaListDeprovisionedUsers -oOrg PREV
$toexport = New-Object System.Collections.ArrayList

Foreach ($u in $users)
{
    $line = @{
              status = $u.status
              employeeid = $u.profile.employeeNumber
              firstName = $u.profile.firstName
              lastName = $u.profile.lastName
              email = $u.profile.email
              department = $u.profile.department
              supervisor = $u.profile.manager
              created = $u.created
              lastUpdated = $u.lastUpdated
              login = $u.profile.login
              title = $u.profile.title
              GroupName = $u.profile.Group_Name
              Organization = $u.profile.organization
              Location = $u.profile.workday_location
              User_type = $u.profile.userType
              StatusChanged = $u.StatusChanged


             }
    $obj = New-Object psobject -Property $line
    $_c = $toexport.Add($obj)
}
#Path for utility will have to be changed to a more generic location.
$toexport | Select-Object "login", "StatusChanged", "employeeid", "firstName","lastName", "email", "title","supervisor","department","Organization","Location", "GroupName" | >Export-Csv -Path "C:\OktaExport\user-list.csv" -NoTypeInformation
Caven B
  • 3
  • 2
  • 2
    Pipe to `Where-Object` and add a scriptblock to filter on the `StatusChanged` property. (That, or ask the original author of the script to add it for you.) – Bill_Stewart Apr 16 '18 at 19:23

1 Answers1

0

You can filter the $users object by a Where-Object

$users = $users | Where-Object{((Get-Date) - $_.StatusChanged).TotalDays -gt 90}

Add this to the 2nd line of your script.

Dong Mao
  • 311
  • 1
  • 6