Remove Profiles from a local or remote computer


A common need for a Remote Desktop Services (RDS) and/or Citrix farm admin, is to remove local profiles from a server.
Another example for this, is the question posted a few days ago in the PowerShell.org forum here.

Funny thing, about 6 years ago, I wrote a vbscript that does that. It just doesn't filter by last used date.

Anyway, I decided to write the Remove-Profile PowerShell function:

You can use it to report all the profiles in the local computer:

Remove-Profile


To report all the profiles, except a specific profile:

Remove-Profile -Exclude Administrator


To report profiles last used in the past 90 days that would be deleted:

Remove-Profile -DaysOld 90 | Where-Object { $_.WouldBeRemoved }


To report against a remote computer:

Remove-Profile -ComputerName myRemoteServer


To report against a collection of remote computers, authenticating different credentials:

Remove-Profile -ComputerName $Computers -Credential $cred -DaysOld 90


To ignore the LastUseTime value in case the account never logged-on locally (e.g. an IIS ApplicationPool), use the IgnoreLastUseTime switch:

Remove-Profile -ComputerName WebServer01 -DaysOld 30 -IgnoreLastUseTime 


To really remove the profiles, use the -Remove switch:

Remove-Profile -DaysOld 90 -Remove


HTH,

\Martin.

Comments (0)

Skip to main content