PowerShellでローカルプロファイルを削除

不特定多数者が使用する端末などですと、
知らぬ間にローカルプロファイルでディスクが一杯に・・・なんてこともありがちです。
PowerShellで条件を設定しながら削除することが可能です。
スクリプトを作成してスタートアップスクリプトなり、タスクスケジューラに
設定してあげるとシステム管理者が幸せになれるかもしれません。

Get-CIMInstance win32_userProfile -verbose | where{$_.LastuseTime -let $(Get-Date).Date.AddDays(-90)} | Remove-CIMInstance -Verbose;

上記コマンドでは、「LastUseTime」(GUI画面だと変更日)を軸としてコマンドの実行日から90日以上更新がないプロファイルを削除します。
数値を変更することで、期間は柔軟に変更可能です。
所謂「既定のプロファイル」はアクセスが拒否されますので削除される恐れはありません。
このままだとエラーが表示されてしまうので、除外したほうがスマートですね。

Get-CIMInstance win32_userProfile -verbose | where{($_.LastuseTime -let $(Get-Date).Date.AddDays(-90)) -and ($_.SID -ne "S-1-5-18")} | Remove-CIMInstance -Verbose;

これで綺麗に削除されるはずです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です